summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorCharles Davis <cdavis@mines.edu>2010-03-05 22:28:45 +0000
committerCharles Davis <cdavis@mines.edu>2010-03-05 22:28:45 +0000
commit8545afe0b064d814bea7ecb442fb27c73ce427af (patch)
treea78641fa31f13adde75bdd775655d2b048d7f26c /llvm
parent87abfc506f6f836fbd6aaf2d3f3f901e5cef3c61 (diff)
downloadbcm5719-llvm-8545afe0b064d814bea7ecb442fb27c73ce427af.tar.gz
bcm5719-llvm-8545afe0b064d814bea7ecb442fb27c73ce427af.zip
Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. This
is a workaround for <rdar://problem/7672401/> (which I filed). This let's us build Wine on Darwin, and it gets the Qt build there a little bit further (so Doug says). llvm-svn: 97845
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp2
-rw-r--r--llvm/test/CodeGen/X86/global-sections.ll3
2 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 47164f733f1..3b3be5d9b1a 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -652,7 +652,7 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
// FIXME: Alignment check should be handled by section classifier.
if (Kind.isMergeable1ByteCString() ||
- Kind.isMergeable2ByteCString()) {
+ (Kind.isMergeable2ByteCString() && !GV->hasExternalLinkage())) {
if (TM.getTargetData()->getPreferredAlignment(
cast<GlobalVariable>(GV)) < 32) {
if (Kind.isMergeable1ByteCString())
diff --git a/llvm/test/CodeGen/X86/global-sections.ll b/llvm/test/CodeGen/X86/global-sections.ll
index 1a7b5777ae8..d79c56bc463 100644
--- a/llvm/test/CodeGen/X86/global-sections.ll
+++ b/llvm/test/CodeGen/X86/global-sections.ll
@@ -100,7 +100,7 @@
@G8 = constant [4 x i16] [ i16 1, i16 2, i16 3, i16 0 ]
-; DARWIN: .section __TEXT,__ustring
+; DARWIN: .section __TEXT,__const
; DARWIN: .globl _G8
; DARWIN: _G8:
@@ -110,7 +110,6 @@
@G9 = constant [4 x i32] [ i32 1, i32 2, i32 3, i32 0 ]
-; DARWIN: .section __TEXT,__const
; DARWIN: .globl _G9
; DARWIN: _G9:
OpenPOWER on IntegriCloud