blob: 16216c68e1b2c27046b3ab18e2219470a38861e3 [file] [log] [blame]
## Check that 'llvm-objdump -dr' correctly prints relocations in executables.
# RUN: yaml2obj --docnum=1 %s -o %t
# RUN: llvm-objdump -dr %t | FileCheck %s
# CHECK: 400000: 90 nop
# CHECK-NEXT: 400001: bf 10 00 40 00 movl $4194320, %edi
# CHECK-NEXT: 0000000000400002: R_X86_64_32 .rodata
# CHECK-NEXT: 400006: e8 fc fe ff ff callq 0x3fff07
# CHECK-NEXT: 0000000000400007: R_X86_64_PLT32 puts-0x4
# CHECK-NEXT: 40000b: 90 nop
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
FirstSec: .text
LastSec: .rodata
VAddr: 0x400000
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x400000
AddressAlign: 0x10
Content: 90BF10004000E8FCFEFFFF90
- Name: .rodata
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
AddressAlign: 0x8
Content: 00
- Name: .rela.text
Type: SHT_RELA
Flags: [ SHF_INFO_LINK ]
AddressAlign: 0x8
Info: .text
Relocations:
- Offset: 0x400002
Symbol: .rodata
Type: R_X86_64_32
Addend: 0
- Offset: 0x400007
Symbol: puts
Type: R_X86_64_PLT32
Addend: -4
Symbols:
- Name: .rodata
Type: STT_SECTION
Section: .rodata
Value: 0x400628
- Name: puts
Type: STT_FUNC
Binding: STB_GLOBAL
...