This is combination of two patches by Nicholas Wilson: 1. https://reviews.llvm.org/D41954 2. https://reviews.llvm.org/D42495 Along with a few local modifications: - One change I made was to add the UNDEFINED bit to the binary format to avoid the extra byte used when writing data symbols. Although this bit is redundant for other symbols types (i.e. undefined can be implied if a function or global is a wasm import) - I prefer to be explicit and consistent and not have derived flags. - Some field renaming. - Some reverting of unrelated minor changes. - No test output differences. Differential Revision: https://reviews.llvm.org/D43147 llvm-svn: 325860
76 lines
2.8 KiB
Plaintext
76 lines
2.8 KiB
Plaintext
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.coff-i386 \
|
|
RUN: | FileCheck %s -check-prefix COFF-i386
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.coff-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix COFF-x86-64
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-i386 \
|
|
RUN: | FileCheck %s -check-prefix ELF-i386
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ELF-x86-64
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-hexagon \
|
|
RUN: | FileCheck %s -check-prefix ELF-hexagon
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-mips64el \
|
|
RUN: | FileCheck %s -check-prefix ELF-MIPS64EL
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.elf-mipsel \
|
|
RUN: | FileCheck %s -check-prefix ELF-MIPSEL
|
|
RUN: llvm-objdump -r %p/Inputs/trivial-object-test.wasm \
|
|
RUN: | FileCheck %s -check-prefix WASM
|
|
|
|
RUN: llvm-objdump -r %p/Inputs/relocations.elf-x86-64 \
|
|
RUN: | FileCheck %s -check-prefix ELF-complex-x86-64
|
|
|
|
COFF-i386: .text
|
|
COFF-i386: IMAGE_REL_I386_DIR32 L_.str
|
|
COFF-i386: IMAGE_REL_I386_REL32 _puts
|
|
COFF-i386: IMAGE_REL_I386_REL32 _SomeOtherFunction
|
|
|
|
COFF-x86-64: .text
|
|
COFF-x86-64: IMAGE_REL_AMD64_REL32 L.str
|
|
COFF-x86-64: IMAGE_REL_AMD64_REL32 puts
|
|
COFF-x86-64: IMAGE_REL_AMD64_REL32 SomeOtherFunction
|
|
|
|
ELF-i386: .text
|
|
ELF-i386: R_386_32 .rodata.str1.1
|
|
ELF-i386: R_386_PC32 puts
|
|
ELF-i386: R_386_PC32 SomeOtherFunction
|
|
|
|
ELF-x86-64: .text
|
|
ELF-x86-64: R_X86_64_32S .rodata.str1.1
|
|
ELF-x86-64: R_X86_64_PC32 puts
|
|
ELF-x86-64: R_X86_64_PC32 SomeOtherFunction
|
|
|
|
ELF-hexagon: .text
|
|
ELF-hexagon: R_HEX_GOTREL_HI16 .main
|
|
ELF-hexagon: R_HEX_GOTREL_LO16 .main
|
|
ELF-hexagon: R_HEX_HI16 puts
|
|
ELF-hexagon: R_HEX_LO16 puts
|
|
ELF-hexagon: R_HEX_B15_PCREL testf
|
|
ELF-hexagon: R_HEX_B22_PCREL puts
|
|
|
|
// Note: this file was produced with gas to make sure we don't end up in a
|
|
// situation where LLVM produces and accepts a broken file.
|
|
ELF-MIPS64EL: .data
|
|
ELF-MIPS64EL: R_MIPS_64/R_MIPS_NONE/R_MIPS_NONE zed
|
|
|
|
ELF-MIPSEL: .rel.text
|
|
ELF-MIPSEL: R_MIPS_HI16 _gp_disp
|
|
ELF-MIPSEL: R_MIPS_LO16 _gp_disp
|
|
ELF-MIPSEL: R_MIPS_GOT16 $.str
|
|
ELF-MIPSEL: R_MIPS_LO16 $.str
|
|
ELF-MIPSEL: R_MIPS_CALL16 puts
|
|
ELF-MIPSEL: R_MIPS_CALL16 SomeOtherFunction
|
|
|
|
WASM: CODE
|
|
WASM-NEXT: R_WEBASSEMBLY_MEMORY_ADDR_SLEB 3+0
|
|
WASM-NEXT: R_WEBASSEMBLY_FUNCTION_INDEX_LEB 0+0
|
|
WASM-NEXT: R_WEBASSEMBLY_FUNCTION_INDEX_LEB 1+0
|
|
|
|
ELF-complex-x86-64: .text
|
|
ELF-complex-x86-64-NEXT: R_X86_64_8 .data-4
|
|
ELF-complex-x86-64-NEXT: R_X86_64_16 .data-4
|
|
ELF-complex-x86-64-NEXT: R_X86_64_32 .data-4
|
|
ELF-complex-x86-64-NEXT: R_X86_64_32S .data-4
|
|
ELF-complex-x86-64-NEXT: R_X86_64_64 .data-4
|
|
ELF-complex-x86-64-NEXT: R_X86_64_PC32 .data-4-P
|
|
ELF-complex-x86-64-NEXT: R_X86_64_32 .data+0
|
|
ELF-complex-x86-64-NEXT: R_X86_64_32 .data+4
|