2 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%s
-o
%t1.o
3 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%p
/Inputs
/shared.s
-o
%t2.o
4 // RUN
: ld.lld
-shared
%t2.o
-soname
=so
-o
%t2.so
6 // RUN
: ld.lld
-shared
%t1.o
%t2.so
-o
%t.exe
-z retpolineplt
7 // RUN
: llvm-objdump
--no-print-imm-hex
-d
-s
--no-show-raw-insn
%t.exe | FileCheck
%s
9 // CHECK
: Contents of section
.got.plt:
10 // CHECK-NEXT
: 3430 70230000 00000000 00000000 00000000
11 // CHECK-NEXT
: 3440 00000000 00000000 41130000 00000000
12 // CHECK-NEXT
: 3450 61130000 00000000
14 // CHECK
: Disassembly of section
.plt:
16 // CHECK-NEXT
: <.plt>:
17 // CHECK-NEXT
: 1300: pushq
8498(%rip
)
18 // CHECK-NEXT
: movq
8499(%rip
), %r11
19 // CHECK-NEXT
: callq
0x1320 <.plt+0x20>
22 // CHECK-NEXT
: jmp
0x1312 <.plt+0x12>
30 // CHECK-NEXT
: 1320: movq
%r11, (%rsp
)
43 // CHECK-NEXT
: 1330: movq
8465(%rip
), %r11
44 // CHECK-NEXT
: callq
0x1320 <.plt+0x20>
45 // CHECK-NEXT
: jmp
0x1312 <.plt+0x12>
46 // CHECK-NEXT
: pushq $
0
47 // CHECK-NEXT
: jmp
0x1300 <.plt>
53 // CHECK-NEXT
: 1350: movq
8441(%rip
), %r11
54 // CHECK-NEXT
: callq
0x1320 <.plt+0x20>
55 // CHECK-NEXT
: jmp
0x1312 <.plt+0x12>
56 // CHECK-NEXT
: pushq $
1
57 // CHECK-NEXT
: jmp
0x1300 <.plt>