aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iain@codesourcery.com>2015-07-08 16:56:46 +0000
committerMike Stump <mrs@gcc.gnu.org>2015-07-08 16:56:46 +0000
commit3c5f0425ac3b879f9df2a331dd65c1be78b85f1f (patch)
treea0c6ea6ef332eca55d61fd9ef5931a0e1bfa5379
parentb6f485e7af0777a6ee40fc0bd662b02022b28d71 (diff)
downloadgcc-3c5f0425ac3b879f9df2a331dd65c1be78b85f1f.zip
gcc-3c5f0425ac3b879f9df2a331dd65c1be78b85f1f.tar.gz
gcc-3c5f0425ac3b879f9df2a331dd65c1be78b85f1f.tar.bz2
re PR target/66523 (the new clang-based assembler in Xcode 7 on 10.11 fails on libobjc/NXConstStr.m)
2015-07-08 Iain Sandoe <iain@codesourcery.com> PR target/66523 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label names from preservation. From-SVN: r225565
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/darwin.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9d19711..6f6084c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-08 Iain Sandoe <iain@codesourcery.com>
+
+ PR target/66523
+ * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label names from
+ preservation.
+
2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/66334
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index ec4048d..ad70328 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1229,6 +1229,11 @@ darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED)
void
darwin_mark_decl_preserved (const char *name)
{
+ /* Actually we shouldn't mark any local symbol this way, but for now
+ this only happens with ObjC meta-data. */
+ if (darwin_label_is_anonymous_local_objc_name (name))
+ return;
+
fprintf (asm_out_file, "\t.no_dead_strip ");
assemble_name (asm_out_file, name);
fputc ('\n', asm_out_file);