| # Check R_MIPS_GPREL32 relocation handling. |
| # |
| # RUN: yaml2obj -format=elf %s > %t-obj |
| # RUN: lld -flavor old-gnu -target mipsel -o %t-exe %t-obj |
| # RUN: llvm-readobj -symbols %t-exe | FileCheck -check-prefix=SYM %s |
| # RUN: llvm-objdump -s %t-exe | FileCheck -check-prefix=SEC %s |
| |
| # SYM: Name: $L1 |
| # SYM-NEXT: Value: 0x400160 |
| # SYM-NEXT: Size: 4 |
| # SYM-NEXT: Binding: Local (0x0) |
| # SYM-NEXT: Type: Function (0x2) |
| # SYM-NEXT: Other: 0 |
| # SYM-NEXT: Section: .text (0x6) |
| # |
| # SYM: Name: _gp |
| # SYM-NEXT: Value: 0x408FF0 |
| # SYM-NEXT: Size: 0 |
| # SYM-NEXT: Binding: Global (0x1) |
| # SYM-NEXT: Type: Object (0x1) |
| # SYM-NEXT: Other: 0 |
| # SYM-NEXT: Section: Absolute (0xFFF1) |
| |
| # 0x08ff7153 == 0x8000001 (addend) + 0x400140 ($L1) + |
| # 0x1000002 (GP0) - 0x408FF0 (_gp) |
| # SEC: Contents of section .rodata: |
| # SEC-NEXT: 400170 7371ff08 00000000 00000000 00000000 |
| |
| !ELF |
| FileHeader: |
| Class: ELFCLASS32 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_MIPS |
| Flags: [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, |
| EF_MIPS_ABI_O32, EF_MIPS_ARCH_32R2 ] |
| Sections: |
| - Type: SHT_PROGBITS |
| Name: .text |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| AddressAlign: 0x04 |
| Content: 00000000000000000000000000000000 |
| |
| - Type: SHT_PROGBITS |
| Name: .rodata |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC ] |
| AddressAlign: 0x04 |
| Content: 01000008000000000000000000000000 |
| |
| - Type: SHT_REL |
| Name: .rel.rodata |
| Type: SHT_REL |
| Link: .symtab |
| Info: .rodata |
| AddressAlign: 0x04 |
| Relocations: |
| - Offset: 0 |
| Symbol: $L1 |
| Type: R_MIPS_GPREL32 |
| |
| - Type: SHT_MIPS_REGINFO |
| Name: .reginfo |
| Type: SHT_MIPS_REGINFO |
| Flags: [ SHF_ALLOC ] |
| AddressAlign: 0x01 |
| Content: 000000000000000000000000000000000000000002000001 |
| |
| Symbols: |
| Local: |
| - Name: $L1 |
| Section: .text |
| Value: 0x00 |
| - Name: .rodata |
| Type: STT_SECTION |
| Section: .rodata |
| Global: |
| - Name: __start |
| Section: .text |
| Type: STT_FUNC |
| Value: 0x04 |
| Size: 12 |
| - Name: _gp_disp |