summaryrefslogtreecommitdiff
path: root/test/Object/objdump-relocations.test
blob: b461f561db425c11e4c4e599efa35fc18cad4db3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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 0+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