Files
clang-p2996/llvm/test/Object/objdump-relocations.test
Sam Clegg 6c899ba6de [WebAssembly] Add first claass symbol table to wasm objects
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
2018-02-23 05:08:34 +00:00

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