| # RUN: yaml2obj %s > %t |
| # RUN: llvm-readobj -r %t | FileCheck -check-prefix=OBJ %s |
| # RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s |
| |
| # OBJ: Relocations [ |
| # OBJ-NEXT: Section (2) .rela.text { |
| # OBJ-NEXT: 0x14 R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 main 0x4 |
| # OBJ-NEXT: 0x1C R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 main 0x8 |
| # OBJ-NEXT: 0x20 R_MIPS_GOT_PAGE/R_MIPS_NONE/R_MIPS_NONE .rodata 0x0 |
| # OBJ-NEXT: 0x24 R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE .rodata 0x0 |
| # OBJ-NEXT: 0x28 R_MIPS_CALL16/R_MIPS_NONE/R_MIPS_NONE printf 0x0 |
| # OBJ-NEXT: 0x30 R_MIPS_GPREL16/R_MIPS_LO16/R_MIPS_NONE printf 0x0 |
| # OBJ-NEXT: } |
| # OBJ-NEXT: ] |
| |
| # YAML: Relocations: |
| # YAML-NEXT: - Offset: 0x0000000000000014 |
| # YAML-NEXT: Symbol: main |
| # YAML-NEXT: Type: R_MIPS_GPREL16 |
| # YAML-NEXT: Type2: R_MIPS_SUB |
| # YAML-NEXT: Type3: R_MIPS_HI16 |
| # YAML-NEXT: Addend: 4 |
| # YAML-NEXT: - Offset: 0x000000000000001C |
| # YAML-NEXT: Symbol: main |
| # YAML-NEXT: Type: R_MIPS_GPREL16 |
| # YAML-NEXT: Type2: R_MIPS_SUB |
| # YAML-NEXT: Type3: R_MIPS_LO16 |
| # YAML-NEXT: Addend: 8 |
| # YAML-NEXT: - Offset: 0x0000000000000020 |
| # YAML-NEXT: Symbol: .rodata |
| # YAML-NEXT: Type: R_MIPS_GOT_PAGE |
| # YAML-NEXT: - Offset: 0x0000000000000024 |
| # YAML-NEXT: Symbol: .rodata |
| # YAML-NEXT: Type: R_MIPS_GOT_OFST |
| # YAML-NEXT: - Offset: 0x0000000000000028 |
| # YAML-NEXT: Symbol: printf |
| # YAML-NEXT: Type: R_MIPS_CALL16 |
| # YAML-NEXT: - Offset: 0x0000000000000030 |
| # YAML-NEXT: Symbol: printf |
| # YAML-NEXT: Type: R_MIPS_GPREL16 |
| # YAML-NEXT: Type2: R_MIPS_LO16 |
| # YAML-NEXT: SpecSym: RSS_GP0 |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_MIPS |
| Flags: [ EF_MIPS_PIC, EF_MIPS_CPIC, |
| EF_MIPS_NOREORDER, EF_MIPS_ARCH_64R2 ] |
| Sections: |
| - Name: .text |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| AddressAlign: 0x10 |
| Size: 0x60 |
| - Name: .rela.text |
| Type: SHT_RELA |
| Flags: [ SHF_INFO_LINK ] |
| AddressAlign: 0x8 |
| Info: .text |
| Relocations: |
| - Offset: 0x14 |
| Symbol: main |
| Type: R_MIPS_GPREL16 |
| Type2: R_MIPS_SUB |
| Type3: R_MIPS_HI16 |
| Addend: 4 |
| - Offset: 0x1C |
| Symbol: main |
| Type: R_MIPS_GPREL16 |
| Type2: R_MIPS_SUB |
| Type3: R_MIPS_LO16 |
| Addend: 8 |
| - Offset: 0x20 |
| Symbol: .rodata |
| Type: R_MIPS_GOT_PAGE |
| Addend: 0 |
| - Offset: 0x24 |
| Symbol: .rodata |
| Type: R_MIPS_GOT_OFST |
| Addend: 0 |
| - Offset: 0x28 |
| Symbol: printf |
| Type: R_MIPS_CALL16 |
| Addend: 0 |
| - Offset: 0x30 |
| Symbol: printf |
| Type: R_MIPS_GPREL16 |
| Type2: R_MIPS_LO16 |
| SpecSym: RSS_GP0 |
| Addend: 0 |
| - Name: .rodata |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC ] |
| AddressAlign: 0x10 |
| Size: 0x0F |
| |
| Symbols: |
| Local: |
| - Name: .text |
| Type: STT_SECTION |
| Section: .text |
| - Name: .rodata |
| Type: STT_SECTION |
| Section: .rodata |
| Global: |
| - Name: main |
| Type: STT_FUNC |
| Section: .text |
| Size: 0x58 |
| - Name: printf |
| ... |