94 lines · plain
1## Check that 'llvm-objdump --no-print-imm-hex -dr' correctly prints relocations in executables.2 3# RUN: yaml2obj --docnum=1 %s -o %t4# RUN: llvm-objdump --no-print-imm-hex -dr %t | FileCheck %s --match-full-lines --strict-whitespace5# RUN: llvm-objdump --no-print-imm-hex -dr --no-leading-addr %t | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace6# RUN: llvm-objdump --no-print-imm-hex -dr --no-addresses %t | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace7# RUN: llvm-objdump --no-print-imm-hex -dr --disassemble-symbols=text1 %t | FileCheck %s --check-prefix=CHECK2 --match-full-lines --strict-whitespace8 9# RUN: yaml2obj -DBITS=32 %s -o %t.3210# RUN: llvm-objdump --no-print-imm-hex -dr --no-leading-addr %t.32 | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace11 12# CHECK:0000000000400000 <.text>:13# CHECK-NEXT: 400000: 90 nop14# CHECK-NEXT: 400001: bf 10 00 40 00 movl $4194320, %edi # imm = 0x40001015# CHECK-NEXT: 0000000000400002: R_X86_64_32 .rodata16# CHECK-NEXT: 400006: e8 fc fe ff ff callq 0x3fff07 <puts+0x3fff07>17# CHECK-NEXT: 0000000000400007: R_X86_64_PLT32 puts-0x418# CHECK-NEXT: 40000b: 90 nop19# CHECK-EMPTY:20# CHECK-NEXT:000000000040000c <text1>:21# CHECK-NEXT: 40000c: bf 10 00 40 00 movl $4194320, %edi # imm = 0x40001022# CHECK-NEXT: 000000000040000d: R_X86_64_32 .rodata23# CHECK-NOT: {{.}}24 25# CHECK2:000000000040000c <text1>:26#CHECK2-NEXT: 40000c: bf 10 00 40 00 movl $4194320, %edi # imm = 0x40001027#CHECK2-NEXT: 000000000040000d: R_X86_64_32 .rodata28#CHECK2-NOT: {{.}}29 30# NOADDR:<.text>:31# NOADDR-NEXT: 90 nop32# NOADDR-NEXT: bf 10 00 40 00 movl $4194320, %edi # imm = 0x40001033# NOADDR-NEXT: R_X86_64_32 .rodata34# NOADDR-NEXT: e8 fc fe ff ff callq 0x3fff07 <puts+0x3fff07>35# NOADDR-NEXT: R_X86_64_PLT32 puts-0x436# NOADDR-NEXT: 90 nop37 38--- !ELF39FileHeader:40 Class: ELFCLASS[[BITS=64]]41 Data: ELFDATA2LSB42 Type: ET_EXEC43 Machine: EM_X86_6444ProgramHeaders:45 - Type: PT_LOAD46 Flags: [ PF_X, PF_R ]47 FirstSec: .text48 LastSec: .rodata49 VAddr: 0x40000050Sections:51 - Name: .text52 Type: SHT_PROGBITS53 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]54 Address: 0x40000055 AddressAlign: 0x1056 Content: 90BF10004000E8FCFEFFFF90BF1000400057 - Name: .rodata58 Type: SHT_PROGBITS59 Flags: [ SHF_ALLOC ]60 AddressAlign: 0x861 Content: 0062 - Name: .rela.text63 Type: SHT_RELA64 Flags: [ SHF_INFO_LINK ]65 AddressAlign: 0x866 Info: .text67 Relocations:68 - Offset: 0x40000269 Symbol: .rodata70 Type: R_X86_64_3271 Addend: 072 - Offset: 0x40000773 Symbol: puts74 Type: R_X86_64_PLT3275 Addend: -476 - Offset: 0x40000d77 Symbol: .rodata78 Type: R_X86_64_3279 Addend: 080Symbols:81 - Name: .rodata82 Type: STT_SECTION83 Section: .rodata84 Value: 0x40062885 - Name: puts86 Type: STT_FUNC87 Binding: STB_GLOBAL88 - Name: text189 Type: STT_FUNC90 Binding: STB_GLOBAL91 Section: .text92 Value: 0x40000c93...94