Add three other sections when L symbols are allowed.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 6 Nov 2014 05:01:21 +0000 (05:01 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 6 Nov 2014 05:01:21 +0000 (05:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221436 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/TargetLoweringObjectFileImpl.cpp
test/CodeGen/X86/osx-private-labels.ll

index 6944f71105b701db34df967ebc2f4cb6c13923a8..efd15e15114b73afc83c0e58be325d9c2d857859 100644 (file)
@@ -584,6 +584,21 @@ bool TargetLoweringObjectFileMachO::isSectionAtomizableBySymbols(
     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")
       return false;
index 7e176442d2905585a4cb87751eb19f803c60b84a..e30cb4824aa722e644c4b642cc4495be3b261dc9 100644 (file)
 ; CHECK: .section      __DATA,__objc_classlist,regular,no_dead_strip
 ; CHECK-NEXT: .align   2
 ; CHECK-NEXT: L_private13:
+
+@private14 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_classname,cstring_literals"
+; CHECK: .section      __TEXT,__objc_classname,cstring_literals
+; CHECK-NEXT: L_private14:
+
+@private15 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_methname,cstring_literals"
+; CHECK: .section      __TEXT,__objc_methname,cstring_literals
+; CHECK-NEXT: L_private15:
+
+@private16 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_methtype,cstring_literals"
+; CHECK: .section      __TEXT,__objc_methtype,cstring_literals
+; CHECK-NEXT: L_private16: