summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.cpp2
-rw-r--r--llvm/test/CodeGen/X86/x86-64-pic.ll8
2 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp
index 651a660261b..a24b425a4e8 100644
--- a/llvm/lib/Target/X86/X86Subtarget.cpp
+++ b/llvm/lib/Target/X86/X86Subtarget.cpp
@@ -66,7 +66,7 @@ static bool shouldAssumeDSOLocal(Reloc::Model RM, const Triple &TT,
if (RM == Reloc::Static)
return true;
- if (GV && (GV->hasInternalLinkage() || !GV->hasDefaultVisibility()))
+ if (GV && (GV->hasLocalLinkage() || !GV->hasDefaultVisibility()))
return true;
if (TT.isOSBinFormatELF()) {
diff --git a/llvm/test/CodeGen/X86/x86-64-pic.ll b/llvm/test/CodeGen/X86/x86-64-pic.ll
new file mode 100644
index 00000000000..76ed8894b41
--- /dev/null
+++ b/llvm/test/CodeGen/X86/x86-64-pic.ll
@@ -0,0 +1,8 @@
+; RUN: llc < %s -mtriple=x86_64-pc-linux -relocation-model=pic | FileCheck %s
+
+@g1 = private global i8 1
+define i8* @get_g1() {
+; CHECK: get_g1:
+; CHECK: leaq .Lg1(%rip), %rax
+ ret i8* @g1
+}
OpenPOWER on IntegriCloud