mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
This fixes a regression introduced by r182908, which broke llvm-objdump's ability to display relocations inline in a disassembly dump for ELF object files. That change removed a SectionRelocMap from Object/ELF.h, which we recreate in llvm-objdump.cpp. I discovered this regression via an out-of-tree test (test/NaCl/X86/pnacl-hides-sandbox-x86-64.ll) which used llvm-objdump. Note that the "Unknown" string in the test output on i386 isn't quite right, but this appears to be a pre-existing bug. Differential Revision: http://llvm-reviews.chandlerc.com/D2559 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200090 91177308-0d34-0410-b5e6-96231b3b80d8
103 lines
7.0 KiB
Plaintext
103 lines
7.0 KiB
Plaintext
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.coff-i386 \
|
|
RUN: | FileCheck %s -check-prefix COFF-i386
|
|
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.coff-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix COFF-x86-64
|
|
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.macho-i386 \
|
|
RUN: | FileCheck %s -check-prefix MACHO-i386
|
|
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.macho-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix MACHO-x86-64
|
|
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.elf-i386 \
|
|
RUN: | FileCheck %s -check-prefix ELF-i386
|
|
RUN: llvm-objdump -d -r %p/../Inputs/trivial-object-test.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ELF-x86-64
|
|
|
|
COFF-i386: file format COFF-i386
|
|
COFF-i386: Disassembly of section .text:
|
|
COFF-i386: 0: 83 ec 0c subl $12, %esp
|
|
COFF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
|
|
COFF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)
|
|
COFF-i386: e: IMAGE_REL_I386_DIR32 L_.str
|
|
COFF-i386: 12: e8 00 00 00 00 calll 0
|
|
COFF-i386: 13: IMAGE_REL_I386_REL32 _puts
|
|
COFF-i386: 17: e8 00 00 00 00 calll 0
|
|
COFF-i386: 18: IMAGE_REL_I386_REL32 _SomeOtherFunction
|
|
COFF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
|
|
COFF-i386: 20: 83 c4 0c addl $12, %esp
|
|
COFF-i386: 23: c3 ret
|
|
|
|
COFF-x86-64: file format COFF-x86-64
|
|
COFF-x86-64: Disassembly of section .text:
|
|
COFF-x86-64: 0: 48 83 ec 28 subq $40, %rsp
|
|
COFF-x86-64: 4: c7 44 24 24 00 00 00 00 movl $0, 36(%rsp)
|
|
COFF-x86-64: c: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx
|
|
COFF-x86-64: f: IMAGE_REL_AMD64_REL32 L.str
|
|
COFF-x86-64: 13: e8 00 00 00 00 callq 0
|
|
COFF-x86-64: 14: IMAGE_REL_AMD64_REL32 puts
|
|
COFF-x86-64: 18: e8 00 00 00 00 callq 0
|
|
COFF-x86-64: 19: IMAGE_REL_AMD64_REL32 SomeOtherFunction
|
|
COFF-x86-64: 1d: 8b 44 24 24 movl 36(%rsp), %eax
|
|
COFF-x86-64: 21: 48 83 c4 28 addq $40, %rsp
|
|
COFF-x86-64: 25: c3 ret
|
|
|
|
MACHO-i386: file format Mach-O 32-bit i386
|
|
MACHO-i386: Disassembly of section __TEXT,__text:
|
|
MACHO-i386: _main:
|
|
MACHO-i386: 0: 83 ec 0c subl $12, %esp
|
|
MACHO-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
|
|
MACHO-i386: b: c7 04 24 24 00 00 00 movl $36, (%esp)
|
|
MACHO-i386: e: GENERIC_RELOC_VANILLA __cstring
|
|
MACHO-i386: 12: e8 1f 00 00 00 calll 31
|
|
MACHO-i386: 13: GENERIC_RELOC_VANILLA __jump_table
|
|
MACHO-i386: 17: e8 15 00 00 00 calll 21
|
|
MACHO-i386: 18: GENERIC_RELOC_VANILLA __jump_table
|
|
MACHO-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
|
|
MACHO-i386: 20: 83 c4 0c addl $12, %esp
|
|
MACHO-i386: 23: c3 ret
|
|
|
|
MACHO-x86-64: file format Mach-O 64-bit x86-64
|
|
MACHO-x86-64: Disassembly of section __TEXT,__text:
|
|
MACHO-x86-64: _main:
|
|
MACHO-x86-64: 0: 48 83 ec 08 subq $8, %rsp
|
|
MACHO-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
|
|
MACHO-x86-64: c: 48 8d 3d 00 00 00 00 leaq (%rip), %rdi
|
|
MACHO-x86-64: f: X86_64_RELOC_SIGNED L_.str
|
|
MACHO-x86-64: 13: e8 00 00 00 00 callq 0
|
|
MACHO-x86-64: 14: X86_64_RELOC_BRANCH _puts
|
|
MACHO-x86-64: 18: 30 c0 xorb %al, %al
|
|
MACHO-x86-64: 1a: e8 00 00 00 00 callq 0
|
|
MACHO-x86-64: 1b: X86_64_RELOC_BRANCH _SomeOtherFunction
|
|
MACHO-x86-64: 1f: 8b 44 24 04 movl 4(%rsp), %eax
|
|
MACHO-x86-64: 23: 48 83 c4 08 addq $8, %rsp
|
|
MACHO-x86-64: 27: c3 ret
|
|
|
|
ELF-i386: file format ELF32-i386
|
|
ELF-i386: Disassembly of section .text:
|
|
ELF-i386: main:
|
|
ELF-i386: 0: 83 ec 0c subl $12, %esp
|
|
ELF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
|
|
ELF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)
|
|
ELF-i386: e: R_386_32 Unknown
|
|
ELF-i386: 12: e8 fc ff ff ff calll -4
|
|
ELF-i386: 13: R_386_PC32 Unknown
|
|
ELF-i386: 17: e8 fc ff ff ff calll -4
|
|
ELF-i386: 18: R_386_PC32 Unknown
|
|
ELF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
|
|
ELF-i386: 20: 83 c4 0c addl $12, %esp
|
|
ELF-i386: 23: c3 ret
|
|
|
|
ELF-x86-64: file format ELF64-x86-64
|
|
ELF-x86-64: Disassembly of section .text:
|
|
ELF-x86-64: main:
|
|
ELF-x86-64: 0: 48 83 ec 08 subq $8, %rsp
|
|
ELF-x86-64: 4: c7 44 24 04 00 00 00 00 movl $0, 4(%rsp)
|
|
ELF-x86-64: c: bf 00 00 00 00 movl $0, %edi
|
|
ELF-x86-64: d: R_X86_64_32S .rodata.str1.1+0
|
|
ELF-x86-64: 11: e8 00 00 00 00 callq 0
|
|
ELF-x86-64: 12: R_X86_64_PC32 puts-4-P
|
|
ELF-x86-64: 16: 30 c0 xorb %al, %al
|
|
ELF-x86-64: 18: e8 00 00 00 00 callq 0
|
|
ELF-x86-64: 19: R_X86_64_PC32 SomeOtherFunction-4-P
|
|
ELF-x86-64: 1d: 8b 44 24 04 movl 4(%rsp), %eax
|
|
ELF-x86-64: 21: 48 83 c4 08 addq $8, %rsp
|
|
ELF-x86-64: 25: c3 ret
|