| # RUN: yaml2obj %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 (16) | |
| # CHECK: } | |
| # CHECK-NEXT: Section { | |
| # CHECK-NEXT: Index: 2 | |
| # CHECK-NEXT: Name: .rel.text (1) | |
| # CHECK-NEXT: Type: SHT_REL (0x9) | |
| # CHECK-NEXT: Flags [ (0x0) | |
| # CHECK-NEXT: ] | |
| # CHECK-NEXT: Address: 0x0 | |
| # CHECK-NEXT: Offset: 0x{{[0-9A-F]+}} | |
| # 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 (11) | |
| # CHECK-NEXT: Type: SHT_RELA (0x4) | |
| # CHECK-NEXT: Flags [ (0x0) | |
| # CHECK-NEXT: ] | |
| # CHECK-NEXT: Address: 0x0 | |
| # CHECK-NEXT: Offset: 0x{{[0-9A-F]+}} | |
| # 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 (40) | |
| # CHECK: } | |
| # CHECK-NEXT: Section { | |
| # CHECK-NEXT: Index: 5 | |
| # CHECK-NEXT: Name: .strtab (32) | |
| # 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: ] |