diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-02-18 02:19:52 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-02-18 02:19:52 +0000 |
commit | cf84b146984fd7d184efd6548ee91994454ee82d (patch) | |
tree | 91bb25a13862692d2b2df61a4a6258551adb2dcf /lib/Target/PowerPC/AsmPrinter | |
parent | d0e5c8f75b04eb8a7ae56c21b33c0aad73b307ff (diff) | |
download | external_llvm-cf84b146984fd7d184efd6548ee91994454ee82d.zip external_llvm-cf84b146984fd7d184efd6548ee91994454ee82d.tar.gz external_llvm-cf84b146984fd7d184efd6548ee91994454ee82d.tar.bz2 |
GV with null value initializer shouldn't go to BSS if it's meant for a mergeable strings section. Currently it only checks for Darwin. Someone else please check if it should apply to other targets as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64877 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/AsmPrinter')
-rw-r--r-- | lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp index 5f3ba93..6c5d8b9 100644 --- a/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp @@ -915,7 +915,8 @@ void PPCDarwinAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) { if (C->isNullValue() && /* FIXME: Verify correct */ !GVar->hasSection() && (GVar->hasLocalLinkage() || GVar->hasExternalLinkage() || - GVar->mayBeOverridden())) { + GVar->mayBeOverridden()) && + TAI->SectionKindForGlobal(GVar) != SectionKind::RODataMergeStr) { if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it. if (GVar->hasExternalLinkage()) { |