[llvm-commits] [llvm-gcc-4.2] r66956 - in /llvm-gcc-4.2/branches/Apple/Dib/gcc: config/darwin.h llvm-convert.cpp

Bill Wendling isanbard at gmail.com
Fri Mar 13 14:19:24 PDT 2009


Author: void
Date: Fri Mar 13 16:19:24 2009
New Revision: 66956

URL: http://llvm.org/viewvc/llvm-project?rev=66956&view=rev
Log:
--- Merging (from foreign repository) r66948 into '.':
U    gcc/llvm-convert.cpp
U    gcc/config/darwin.h

Fix -fwritable-strings on Darwin.

Modified:
    llvm-gcc-4.2/branches/Apple/Dib/gcc/config/darwin.h
    llvm-gcc-4.2/branches/Apple/Dib/gcc/llvm-convert.cpp

Modified: llvm-gcc-4.2/branches/Apple/Dib/gcc/config/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/branches/Apple/Dib/gcc/config/darwin.h?rev=66956&r1=66955&r2=66956&view=diff

==============================================================================
--- llvm-gcc-4.2/branches/Apple/Dib/gcc/config/darwin.h (original)
+++ llvm-gcc-4.2/branches/Apple/Dib/gcc/config/darwin.h Fri Mar 13 16:19:24 2009
@@ -691,6 +691,7 @@
 
 /* Assign STRING_CSTs to the .cstring section.  */
 #define LLVM_CSTRING_SECTION "__TEXT,__cstring,cstring_literals"
+#define LLVM_CONST_DATA_SECTION "__DATA,__const"
 #endif
 /* LLVM LOCAL end */
 

Modified: llvm-gcc-4.2/branches/Apple/Dib/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/branches/Apple/Dib/gcc/llvm-convert.cpp?rev=66956&r1=66955&r2=66956&view=diff

==============================================================================
--- llvm-gcc-4.2/branches/Apple/Dib/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/branches/Apple/Dib/gcc/llvm-convert.cpp Fri Mar 13 16:19:24 2009
@@ -7386,8 +7386,15 @@
 #ifdef LLVM_CSTRING_SECTION
   // For Darwin, try to put it into the .cstring section.
   if (TAI && TAI->SectionKindForGlobal(GV) == SectionKind::RODataMergeStr)
+    // RODataMergeStr implies that StringIsConstant will be true here.
+    // The Darwin linker will coalesce strings in this section.
     GV->setSection(LLVM_CSTRING_SECTION);
-#endif
+#ifdef LLVM_CONST_DATA_SECTION
+  else if (!StringIsConstant)
+    // .const_data ("__DATA, __const" on Darwin).
+    GV->setSection(LLVM_CONST_DATA_SECTION);
+#endif	// LLVM_CONST_DATA_SECTION
+#endif	// LLVM_CSTRING_SECTION
   return GV;
 }
 





More information about the llvm-commits mailing list