aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-11-12 14:19:55 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2011-11-12 13:19:55 +0000
commitc481ae7f87680898692a97c0d7c617c806d21cdb (patch)
treeb8c48adf0bf2382db417e0ef34ed0c7fc94b8c56
parentbcf83e0029b35aa624bc63a15454fbdb32844422 (diff)
downloadgcc-c481ae7f87680898692a97c0d7c617c806d21cdb.zip
gcc-c481ae7f87680898692a97c0d7c617c806d21cdb.tar.gz
gcc-c481ae7f87680898692a97c0d7c617c806d21cdb.tar.bz2
re PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc)
PR bootstrap/50822 * cgraphunit.c (output_weakrefs): Output really only weakrefs. From-SVN: r181311
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cgraphunit.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9f0505b..f648978 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/50822
+ * cgraphunit.c (output_weakrefs): Output really only weakrefs.
+
2011-11-12 Nathan Sidwell <nathan@acm.org>
* gcov.c (struct name_map): New.
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index e401b8f..40bcf8f 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2101,13 +2101,15 @@ output_weakrefs (void)
struct varpool_node *vnode;
for (node = cgraph_nodes; node; node = node->next)
if (node->alias && DECL_EXTERNAL (node->decl)
- && !TREE_ASM_WRITTEN (node->decl))
+ && !TREE_ASM_WRITTEN (node->decl)
+ && lookup_attribute ("weakref", DECL_ATTRIBUTES (node->decl)))
assemble_alias (node->decl,
node->thunk.alias ? DECL_ASSEMBLER_NAME (node->thunk.alias)
: get_alias_symbol (node->decl));
for (vnode = varpool_nodes; vnode; vnode = vnode->next)
if (vnode->alias && DECL_EXTERNAL (vnode->decl)
- && !TREE_ASM_WRITTEN (vnode->decl))
+ && !TREE_ASM_WRITTEN (vnode->decl)
+ && lookup_attribute ("weakref", DECL_ATTRIBUTES (vnode->decl)))
assemble_alias (vnode->decl,
vnode->alias_of ? DECL_ASSEMBLER_NAME (vnode->alias_of)
: get_alias_symbol (vnode->decl));