0fe58cade5
Patch is based on GCC Bug 66523: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66523
28 lines
900 B
Diff
28 lines
900 B
Diff
From 82f81877458ea372176eabb5de36329431dce99b Mon Sep 17 00:00:00 2001
|
|
From: Iain Sandoe <iain@codesourcery.com>
|
|
Date: Sat, 21 Dec 2013 00:30:18 +0000
|
|
Subject: [PATCH] don't try to mark local symbols as no-dead-strip
|
|
|
|
---
|
|
gcc/config/darwin.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
|
|
index 40804b8..0080299 100644
|
|
--- a/gcc/config/darwin.c
|
|
+++ b/gcc/config/darwin.c
|
|
@@ -1259,6 +1259,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);
|
|
--
|
|
2.2.1
|