summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAsmInfoDarwin.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-01-14 19:07:23 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-01-14 19:07:23 +0000
commit7244bb3c17114ef489fe3895e191995f44469bcf (patch)
treedda74a8332ba37a8f42f00ba65be3a860709ccc1 /llvm/lib/MC/MCAsmInfoDarwin.cpp
parent9b5eaf0d5a770e509d1170f6b3a2e86b2f8833d6 (diff)
downloadbcm5719-llvm-7244bb3c17114ef489fe3895e191995f44469bcf.tar.gz
bcm5719-llvm-7244bb3c17114ef489fe3895e191995f44469bcf.zip
Revert "Add r224985 back with two fixes."
This reverts commit r225644 while I debug a regression. llvm-svn: 226022
Diffstat (limited to 'llvm/lib/MC/MCAsmInfoDarwin.cpp')
-rw-r--r--llvm/lib/MC/MCAsmInfoDarwin.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCAsmInfoDarwin.cpp b/llvm/lib/MC/MCAsmInfoDarwin.cpp
index f7054902f24..04cc0ff4a86 100644
--- a/llvm/lib/MC/MCAsmInfoDarwin.cpp
+++ b/llvm/lib/MC/MCAsmInfoDarwin.cpp
@@ -27,7 +27,22 @@ bool MCAsmInfoDarwin::isSectionAtomizableBySymbols(
// contain.
// Sections holding 2 byte strings require symbols in order to be atomized.
// There is no dedicated section for 4 byte strings.
- if (SMO.getType() == MachO::S_CSTRING_LITERALS)
+ if (SMO.getKind().isMergeable1ByteCString())
+ return false;
+
+ if (SMO.getSegmentName() == "__TEXT" &&
+ SMO.getSectionName() == "__objc_classname" &&
+ SMO.getType() == MachO::S_CSTRING_LITERALS)
+ return false;
+
+ if (SMO.getSegmentName() == "__TEXT" &&
+ SMO.getSectionName() == "__objc_methname" &&
+ SMO.getType() == MachO::S_CSTRING_LITERALS)
+ return false;
+
+ if (SMO.getSegmentName() == "__TEXT" &&
+ SMO.getSectionName() == "__objc_methtype" &&
+ SMO.getType() == MachO::S_CSTRING_LITERALS)
return false;
if (SMO.getSegmentName() == "__DATA" && SMO.getSectionName() == "__cfstring")
OpenPOWER on IntegriCloud