summaryrefslogtreecommitdiff
path: root/test/Object
diff options
context:
space:
mode:
Diffstat (limited to 'test/Object')
-rw-r--r--test/Object/yaml2obj-elf-rel.yaml118
1 files changed, 118 insertions, 0 deletions
diff --git a/test/Object/yaml2obj-elf-rel.yaml b/test/Object/yaml2obj-elf-rel.yaml
new file mode 100644
index 0000000000..121a533b8c
--- /dev/null
+++ b/test/Object/yaml2obj-elf-rel.yaml
@@ -0,0 +1,118 @@
+# RUN: yaml2obj -format=elf %s | llvm-readobj -sections -relocations - | FileCheck %s
+
+!ELF
+FileHeader: !FileHeader
+ Class: ELFCLASS32
+ Data: ELFDATA2MSB
+ Type: ET_REL
+ Machine: EM_MIPS
+
+Sections:
+- Name: .text
+ Type: SHT_PROGBITS
+ Content: "0000000000000000"
+ AddressAlign: 16
+ Flags: [SHF_ALLOC]
+
+- Name: .rel.text
+ Type: SHT_REL
+ Info: .text
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x1
+ Symbol: glob1
+ Type: R_MIPS_32
+ - Offset: 0x1
+ Symbol: glob2
+ Type: R_MIPS_CALL16
+ - Offset: 0x2
+ Symbol: loc1
+ Type: R_MIPS_LO16
+
+- Name: .rela.text
+ Type: SHT_RELA
+ Link: .symtab
+ Info: .text
+ AddressAlign: 4
+ Relocations:
+ - Offset: 0x1
+ Addend: 1
+ Symbol: glob1
+ Type: R_MIPS_32
+ - Offset: 0x1
+ Addend: 2
+ Symbol: glob2
+ Type: R_MIPS_CALL16
+ - Offset: 0x2
+ Addend: 3
+ Symbol: loc1
+ Type: R_MIPS_LO16
+
+Symbols:
+ Local:
+ - Name: loc1
+ - Name: loc2
+ Global:
+ - Name: glob1
+ Section: .text
+ Value: 0x0
+ Size: 4
+ - Name: glob2
+ Weak:
+ - Name: weak1
+
+# CHECK: Section {
+# CHECK-NEXT: Index: 0
+# CHECK: }
+# CHECK: Section {
+# CHECK-NEXT: Index: 1
+# CHECK-NEXT: Name: .text (1)
+# CHECK: }
+# CHECK-NEXT: Section {
+# CHECK-NEXT: Index: 2
+# CHECK-NEXT: Name: .rel.text (7)
+# CHECK-NEXT: Type: SHT_REL (0x9)
+# CHECK-NEXT: Flags [ (0x0)
+# CHECK-NEXT: ]
+# CHECK-NEXT: Address: 0x0
+# CHECK-NEXT: Offset: 0x160
+# CHECK-NEXT: Size: 24
+# CHECK-NEXT: Link: 4
+# CHECK-NEXT: Info: 1
+# CHECK-NEXT: AddressAlignment: 4
+# CHECK-NEXT: EntrySize: 8
+# CHECK-NEXT: }
+# CHECK-NEXT: Section {
+# CHECK-NEXT: Index: 3
+# CHECK-NEXT: Name: .rela.text (17)
+# CHECK-NEXT: Type: SHT_RELA (0x4)
+# CHECK-NEXT: Flags [ (0x0)
+# CHECK-NEXT: ]
+# CHECK-NEXT: Address: 0x0
+# CHECK-NEXT: Offset: 0x180
+# CHECK-NEXT: Size: 36
+# CHECK-NEXT: Link: 4
+# CHECK-NEXT: Info: 1
+# CHECK-NEXT: AddressAlignment: 4
+# CHECK-NEXT: EntrySize: 12
+# CHECK-NEXT: }
+# CHECK-NEXT: Section {
+# CHECK-NEXT: Index: 4
+# CHECK-NEXT: Name: .symtab (28)
+# CHECK: }
+# CHECK-NEXT: Section {
+# CHECK-NEXT: Index: 5
+# CHECK-NEXT: Name: .strtab (36)
+# CHECK: }
+# CHECK: Relocations [
+# CHECK-NEXT: Section (2) .rel.text {
+# CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x0
+# CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2 0x0
+# CHECK-NEXT: 0x2 R_MIPS_LO16 loc1 0x0
+# CHECK-NEXT: }
+# CHECK-NEXT: Section (3) .rela.text {
+# CHECK-NEXT: 0x1 R_MIPS_32 glob1 0x1
+# CHECK-NEXT: 0x1 R_MIPS_CALL16 glob2 0x2
+# CHECK-NEXT: 0x2 R_MIPS_LO16 loc1 0x3
+# CHECK-NEXT: }
+# CHECK-NEXT: ]