brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · d9f486c Raw
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