| ## Show that yaml2obj uses the correct set of symbols for relocation sections |
| ## referencing the dynamic symbol table. |
| |
| # RUN: yaml2obj %s -o %t |
| # RUN: llvm-readelf -r %t | FileCheck %s |
| |
| # CHECK: Relocation section '.rela.dyn' at offset {{.*}} contains 2 entries: |
| # CHECK-NEXT: Offset Info Type Symbol's Value Symbol's Name |
| # CHECK-NEXT: 0000000000000000 0000000100000000 R_X86_64_NONE 0000000012345678 dynamic |
| # CHECK-NEXT: 0000000000000008 0000000200000000 R_X86_64_NONE 0000000087654321 both |
| # CHECK-EMPTY: |
| # CHECK-NEXT: Relocation section '.rela.data' at offset {{.*}} contains 2 entries: |
| # CHECK-NEXT: Offset Info Type Symbol's Value Symbol's Name |
| # CHECK-NEXT: 0000000000000010 0000000200000000 R_X86_64_NONE 0000000011223344 static |
| # CHECK-NEXT: 0000000000000018 0000000100000000 R_X86_64_NONE 0000000088776655 both |
| |
| !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_DYN |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .data |
| Type: SHT_PROGBITS |
| - Name: .rela.dyn |
| Type: SHT_REL |
| Link: .dynsym |
| Info: .data |
| Relocations: |
| - Offset: 0 |
| Type: R_X86_64_NONE |
| Symbol: dynamic |
| - Offset: 8 |
| Type: R_X86_64_NONE |
| Symbol: both |
| - Name: .rela.data |
| Type: SHT_REL |
| Link: .symtab |
| Info: .data |
| Relocations: |
| - Offset: 16 |
| Type: R_X86_64_NONE |
| Symbol: static |
| - Offset: 24 |
| Type: R_X86_64_NONE |
| Symbol: both |
| Symbols: |
| - Name: both |
| Section: .data |
| Value: 0x88776655 |
| Binding: STB_GLOBAL |
| - Name: static |
| Section: .data |
| Value: 0x11223344 |
| Binding: STB_GLOBAL |
| DynamicSymbols: |
| - Name: dynamic |
| Section: .data |
| Value: 0x12345678 |
| Binding: STB_GLOBAL |
| - Name: both |
| Section: .data |
| Value: 0x87654321 |
| Binding: STB_GLOBAL |