| ## Show that llvm-objdump can dump dynamic relocations for Elf_Rel relocations |
| ## where the relocation references a symbol and where it does not. |
| |
| # RUN: yaml2obj %s -o %t |
| # RUN: llvm-objdump --dynamic-reloc %t | FileCheck %s |
| # RUN: llvm-objdump -R %t | FileCheck %s |
| |
| # CHECK: DYNAMIC RELOCATION RECORDS |
| # CHECK-NEXT: 00000030 R_386_RELATIVE *ABS* |
| # CHECK-NEXT: 00000010 R_386_NONE foo |
| # CHECK-EMPTY: |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS32 |
| Data: ELFDATA2LSB |
| Type: ET_DYN |
| Machine: EM_386 |
| ProgramHeaders: |
| - Type: PT_LOAD |
| FirstSec: .rel.dyn |
| LastSec: .data |
| - Type: PT_DYNAMIC |
| VAddr: 0x10 |
| FirstSec: .dynamic |
| LastSec: .dynamic |
| Sections: |
| - Name: .rel.dyn |
| Type: SHT_REL |
| Link: .dynsym |
| Flags: [ SHF_ALLOC ] |
| AddressAlign: 0x4 |
| Relocations: |
| - Offset: 0x30 |
| Type: R_386_RELATIVE |
| - Offset: 0x10 |
| Symbol: foo |
| Type: R_386_NONE |
| - Name: .dynamic |
| Type: SHT_DYNAMIC |
| Flags: [ SHF_ALLOC ] |
| Link: .dynstr |
| AddressAlign: 0x4 |
| Entries: |
| - Tag: DT_REL |
| Value: 0x0 |
| - Tag: DT_RELSZ |
| Value: 0x10 |
| - Tag: DT_RELENT |
| Value: 0x8 |
| - Tag: DT_RELCOUNT |
| Value: 0x1 |
| - Tag: DT_NULL |
| Value: 0x0 |
| - Name: .data |
| Type: SHT_PROGBITS |
| Flags: [ SHF_WRITE, SHF_ALLOC ] |
| AddressAlign: 0x4 |
| Content: '80110000' |
| DynamicSymbols: |
| - Name: foo |
| Section: .data |