1## Check that 'llvm-objdump --no-print-imm-hex -dr' correctly prints relocations in executables. 2 3# RUN: yaml2obj --docnum=1 %s -o %t 4# RUN: llvm-objdump --no-print-imm-hex -dr %t | FileCheck %s --match-full-lines --strict-whitespace 5# RUN: llvm-objdump --no-print-imm-hex -dr --no-leading-addr %t | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace 6# RUN: llvm-objdump --no-print-imm-hex -dr --no-addresses %t | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace 7# RUN: llvm-objdump --no-print-imm-hex -dr --disassemble-symbols=text1 %t | FileCheck %s --check-prefix=CHECK2 --match-full-lines --strict-whitespace 8 9# RUN: yaml2obj -DBITS=32 %s -o %t.32 10# RUN: llvm-objdump --no-print-imm-hex -dr --no-leading-addr %t.32 | FileCheck %s --check-prefix=NOADDR --match-full-lines --strict-whitespace 11 12# CHECK:0000000000400000 <.text>: 13# CHECK-NEXT: 400000: 90 nop 14# CHECK-NEXT: 400001: bf 10 00 40 00 movl $4194320, %edi # imm = 0x400010 15# CHECK-NEXT: 0000000000400002: R_X86_64_32 .rodata 16# CHECK-NEXT: 400006: e8 fc fe ff ff callq 0x3fff07 <puts+0x3fff07> 17# CHECK-NEXT: 0000000000400007: R_X86_64_PLT32 puts-0x4 18# CHECK-NEXT: 40000b: 90 nop 19# CHECK-EMPTY: 20# CHECK-NEXT:000000000040000c <text1>: 21# CHECK-NEXT: 40000c: bf 10 00 40 00 movl $4194320, %edi # imm = 0x400010 22# CHECK-NEXT: 000000000040000d: R_X86_64_32 .rodata 23# CHECK-NOT: {{.}} 24 25# CHECK2:000000000040000c <text1>: 26#CHECK2-NEXT: 40000c: bf 10 00 40 00 movl $4194320, %edi # imm = 0x400010 27#CHECK2-NEXT: 000000000040000d: R_X86_64_32 .rodata 28#CHECK2-NOT: {{.}} 29 30# NOADDR:<.text>: 31# NOADDR-NEXT: 90 nop 32# NOADDR-NEXT: bf 10 00 40 00 movl $4194320, %edi # imm = 0x400010 33# NOADDR-NEXT: R_X86_64_32 .rodata 34# NOADDR-NEXT: e8 fc fe ff ff callq 0x3fff07 <puts+0x3fff07> 35# NOADDR-NEXT: R_X86_64_PLT32 puts-0x4 36# NOADDR-NEXT: 90 nop 37 38--- !ELF 39FileHeader: 40 Class: ELFCLASS[[BITS=64]] 41 Data: ELFDATA2LSB 42 Type: ET_EXEC 43 Machine: EM_X86_64 44ProgramHeaders: 45 - Type: PT_LOAD 46 Flags: [ PF_X, PF_R ] 47 FirstSec: .text 48 LastSec: .rodata 49 VAddr: 0x400000 50Sections: 51 - Name: .text 52 Type: SHT_PROGBITS 53 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 54 Address: 0x400000 55 AddressAlign: 0x10 56 Content: 90BF10004000E8FCFEFFFF90BF10004000 57 - Name: .rodata 58 Type: SHT_PROGBITS 59 Flags: [ SHF_ALLOC ] 60 AddressAlign: 0x8 61 Content: 00 62 - Name: .rela.text 63 Type: SHT_RELA 64 Flags: [ SHF_INFO_LINK ] 65 AddressAlign: 0x8 66 Info: .text 67 Relocations: 68 - Offset: 0x400002 69 Symbol: .rodata 70 Type: R_X86_64_32 71 Addend: 0 72 - Offset: 0x400007 73 Symbol: puts 74 Type: R_X86_64_PLT32 75 Addend: -4 76 - Offset: 0x40000d 77 Symbol: .rodata 78 Type: R_X86_64_32 79 Addend: 0 80Symbols: 81 - Name: .rodata 82 Type: STT_SECTION 83 Section: .rodata 84 Value: 0x400628 85 - Name: puts 86 Type: STT_FUNC 87 Binding: STB_GLOBAL 88 - Name: text1 89 Type: STT_FUNC 90 Binding: STB_GLOBAL 91 Section: .text 92 Value: 0x40000c 93... 94