1# RUN: yaml2obj -format=elf %s | llvm-readobj -sections -relocations - | FileCheck %s
2
3!ELF
4FileHeader: !FileHeader
5  Class: ELFCLASS32
6  Data: ELFDATA2MSB
7  Type: ET_REL
8  Machine: EM_MIPS
9
10Sections:
11- Name: .text
12  Type: SHT_PROGBITS
13  Content: "0000000000000000"
14  AddressAlign: 16
15  Flags: [SHF_ALLOC]
16
17- Name: .rel.text
18  Type: SHT_REL
19  Info: .text
20  AddressAlign: 4
21  Relocations:
22    - Offset: 0x1
23      Symbol: glob1
24      Type: R_MIPS_32
25    - Offset: 0x1
26      Symbol: glob2
27      Type: R_MIPS_CALL16
28    - Offset: 0x2
29      Symbol: loc1
30      Type: R_MIPS_LO16
31
32- Name: .rela.text
33  Type: SHT_RELA
34  Link: .symtab
35  Info: .text
36  AddressAlign: 4
37  Relocations:
38    - Offset: 0x1
39      Addend: 1
40      Symbol: glob1
41      Type: R_MIPS_32
42    - Offset: 0x1
43      Addend: 2
44      Symbol: glob2
45      Type: R_MIPS_CALL16
46    - Offset: 0x2
47      Addend: 3
48      Symbol: loc1
49      Type: R_MIPS_LO16
50
51Symbols:
52  Local:
53    - Name: loc1
54    - Name: loc2
55  Global:
56    - Name: glob1
57      Section: .text
58      Value: 0x0
59      Size: 4
60    - Name: glob2
61  Weak:
62    - Name: weak1
63
64# CHECK:        Section {
65# CHECK-NEXT:     Index: 0
66# CHECK:        }
67# CHECK:        Section {
68# CHECK-NEXT:     Index: 1
69# CHECK-NEXT:     Name: .text (16)
70# CHECK:        }
71# CHECK-NEXT:   Section {
72# CHECK-NEXT:     Index: 2
73# CHECK-NEXT:     Name: .rel.text (1)
74# CHECK-NEXT:     Type: SHT_REL (0x9)
75# CHECK-NEXT:     Flags [ (0x0)
76# CHECK-NEXT:     ]
77# CHECK-NEXT:     Address: 0x0
78# CHECK-NEXT:     Offset: 0x{{[0-9A-F]+}}
79# CHECK-NEXT:     Size: 24
80# CHECK-NEXT:     Link: 4
81# CHECK-NEXT:     Info: 1
82# CHECK-NEXT:     AddressAlignment: 4
83# CHECK-NEXT:     EntrySize: 8
84# CHECK-NEXT:   }
85# CHECK-NEXT:   Section {
86# CHECK-NEXT:     Index: 3
87# CHECK-NEXT:     Name: .rela.text (11)
88# CHECK-NEXT:     Type: SHT_RELA (0x4)
89# CHECK-NEXT:     Flags [ (0x0)
90# CHECK-NEXT:     ]
91# CHECK-NEXT:     Address: 0x0
92# CHECK-NEXT:     Offset: 0x{{[0-9A-F]+}}
93# CHECK-NEXT:     Size: 36
94# CHECK-NEXT:     Link: 4
95# CHECK-NEXT:     Info: 1
96# CHECK-NEXT:     AddressAlignment: 4
97# CHECK-NEXT:     EntrySize: 12
98# CHECK-NEXT:   }
99# CHECK-NEXT:   Section {
100# CHECK-NEXT:     Index: 4
101# CHECK-NEXT:     Name: .symtab (40)
102# CHECK:        }
103# CHECK-NEXT:   Section {
104# CHECK-NEXT:     Index: 5
105# CHECK-NEXT:     Name: .strtab (32)
106# CHECK:        }
107# CHECK:        Relocations [
108# CHECK-NEXT:     Section (2) .rel.text {
109# CHECK-NEXT:       0x1 R_MIPS_32 glob1 0x0
110# CHECK-NEXT:       0x1 R_MIPS_CALL16 glob2 0x0
111# CHECK-NEXT:       0x2 R_MIPS_LO16 loc1 0x0
112# CHECK-NEXT:     }
113# CHECK-NEXT:     Section (3) .rela.text {
114# CHECK-NEXT:       0x1 R_MIPS_32 glob1 0x1
115# CHECK-NEXT:       0x1 R_MIPS_CALL16 glob2 0x2
116# CHECK-NEXT:       0x2 R_MIPS_LO16 loc1 0x3
117# CHECK-NEXT:     }
118# CHECK-NEXT:   ]
119