• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# REQUIRES: x86
2# RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o
3# RUN: ld.lld %t.o -o %t
4# RUN: llvm-objdump --section-headers -d %t | FileCheck %s
5
6## We have R_386_GOT32 relocation here.
7.globl foo
8.type foo, @function
9foo:
10 nop
11
12_start:
13 movl foo@GOT, %ebx
14
15## 73728 == 0x12000 == ADDR(.got)
16# CHECK: Sections:
17# CHECK:  Name Size     VMA
18# CHECK:  .got 00000004 004020fc
19# CHECK:       <_start>:
20# CHECK-NEXT:   4010f5: 8b 1d {{.*}}  movl 4202748, %ebx
21
22# RUN: not ld.lld %t.o -o /dev/null -pie 2>&1 | FileCheck %s --check-prefix=ERR
23# ERR: error: symbol 'foo' cannot be preempted; recompile with -fPIE
24