[test] Pre-commit llvm.experimental.memset.pattern tests prior to MemoryLocation...
[llvm-project.git] / llvm / test / tools / gold / X86 / relocation-model-pic.ll
blob358751b5bd8eded3c1bb3f6a3b1b916d7a8579a2
1 ; RUN: llvm-as %s -o %t.o
3 ;; Non-PIC source.
5 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
6 ; RUN:    --shared \
7 ; RUN:    --plugin-opt=save-temps %t.o -o %t-out
8 ; RUN: llvm-readobj -r %t-out.lto.o | FileCheck %s --check-prefix=PIC
10 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
11 ; RUN:    --export-dynamic --noinhibit-exec -pie \
12 ; RUN:    --plugin-opt=save-temps %t.o -o %t-out
13 ; RUN: llvm-readobj -r %t-out.lto.o | FileCheck %s --check-prefix=PIC
15 ;; PIC source.
17 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
18 ; RUN:    --shared \
19 ; RUN:    --plugin-opt=save-temps %t.o -o %t-out
20 ; RUN: llvm-readobj -r %t-out.lto.o | FileCheck %s --check-prefix=PIC
22 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
23 ; RUN:    --export-dynamic --noinhibit-exec -pie \
24 ; RUN:    --plugin-opt=save-temps %t.o -o %t-out
25 ; RUN: llvm-readobj -r %t-out.lto.o | FileCheck %s --check-prefix=PIC
27 ; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
28 ; RUN:    -r \
29 ; RUN:    --plugin-opt=save-temps %t.o -o %t-out
30 ; RUN: llvm-readobj -r %t-out.lto.o | FileCheck %s --check-prefix=PIC
33 ; PIC: R_X86_64_GOTPCREL foo
35 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
36 target triple = "x86_64-unknown-linux-gnu"
38 @foo = external global i32
39 define i32 @main() {
40   %t = load i32, ptr @foo
41   ret i32 %t
44 !llvm.module.flags = !{!0}
45 !0 = !{i32 1, !"PIC Level", i32 2}