67 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=i386-unknown-linux %s -o %t1.o3// RUN: llvm-mc -filetype=obj -triple=i386-unknown-linux %p/Inputs/shared.s -o %t2.o4// RUN: ld.lld -shared -soname=t2.so %t2.o -o %t2.so5 6// RUN: ld.lld %t1.o %t2.so -o %t.exe -z retpolineplt7// RUN: llvm-objdump --no-print-imm-hex -d -s --no-show-raw-insn %t.exe | FileCheck %s8 9// CHECK: Contents of section .got.plt:10// CHECK-NEXT: 40224000 00000000 00000000 1012400011// CHECK-NEXT: 3012400012 13// CHECK: Disassembly of section .plt:14// CHECK-EMPTY:15// CHECK-NEXT: <.plt>:16// CHECK-NEXT: 4011d0: pushl 420727617// CHECK-NEXT: 4011d6: pushl %eax18// CHECK-NEXT: 4011d7: movl 4207280, %eax19// CHECK-NEXT: 4011dc: calll 0x4011f0 <.plt+0x20>20// CHECK-NEXT: 4011e1: pause21// CHECK-NEXT: 4011e3: lfence22// CHECK-NEXT: 4011e6: jmp 0x4011e1 <.plt+0x11>23// CHECK-NEXT: 4011e8: int324// CHECK-NEXT: 4011e9: int325// CHECK-NEXT: 4011ea: int326// CHECK-NEXT: 4011eb: int327// CHECK-NEXT: 4011ec: int328// CHECK-NEXT: 4011ed: int329// CHECK-NEXT: 4011ee: int330// CHECK-NEXT: 4011ef: int331// CHECK-NEXT: 4011f0: movl %ecx, (%esp)32// CHECK-NEXT: 4011f3: movl 4(%esp), %ecx33// CHECK-NEXT: 4011f7: movl %eax, 4(%esp)34// CHECK-NEXT: 4011fb: movl %ecx, %eax35// CHECK-NEXT: 4011fd: popl %ecx36// CHECK-NEXT: 4011fe: retl37// CHECK-NEXT: 4011ff: int338// CHECK-NEXT: 401200: pushl %eax39// CHECK-NEXT: 401201: movl 4207284, %eax40// CHECK-NEXT: 401206: calll 0x4011f0 <.plt+0x20>41// CHECK-NEXT: 40120b: jmp 0x4011e1 <.plt+0x11>42// CHECK-NEXT: 401210: pushl $043// CHECK-NEXT: 401215: jmp 0x4011d0 <.plt>44// CHECK-NEXT: 40121a: int345// CHECK-NEXT: 40121b: int346// CHECK-NEXT: 40121c: int347// CHECK-NEXT: 40121d: int348// CHECK-NEXT: 40121e: int349// CHECK-NEXT: 40121f: int350// CHECK-NEXT: 401220: pushl %eax51// CHECK-NEXT: 401221: movl 4207288, %eax52// CHECK-NEXT: 401226: calll 0x4011f0 <.plt+0x20>53// CHECK-NEXT: 40122b: jmp 0x4011e1 <.plt+0x11>54// CHECK-NEXT: 401230: pushl $855// CHECK-NEXT: 401235: jmp 0x4011d0 <.plt>56// CHECK-NEXT: 40123a: int357// CHECK-NEXT: 40123b: int358// CHECK-NEXT: 40123c: int359// CHECK-NEXT: 40123d: int360// CHECK-NEXT: 40123e: int361// CHECK-NEXT: 40123f: int362 63.global _start64_start:65 jmp bar@PLT66 jmp zed@PLT67