3 /// Test we correctly wrap PLT calls.
5 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-pc-linux
%s
-o
%t
7 // RUN
: ld.lld
-o
%t2
%t -wrap foo
-shared
8 // RUN
: llvm-readobj
-S
-r
%t2 | FileCheck
%s
9 // RUN
: llvm-objdump
-d
%t2 | FileCheck
--check-prefix
=DISASM
%s
11 // CHECK
: Relocations
[
12 // CHECK-NEXT
: Section
({{.*}}) .rela.plt {
13 // CHECK-NEXT
: R_X86_64_JUMP_SLOT foo
0x0
14 // CHECK-NEXT
: R_X86_64_JUMP_SLOT __wrap_foo
0x0
15 // CHECK-NEXT
: R_X86_64_JUMP_SLOT _start
0x0
20 // DISASM-NEXT
: jmp
{{.*}} <__wrap_foo@plt>
21 // DISASM-NEXT
: jmp
{{.*}} <__wrap_foo@plt>
22 // DISASM-NEXT
: jmp
{{.*}} <foo@plt>
23 // DISASM-NEXT
: jmp
{{.*}} <_start@plt>