@@ -137,8 +137,9 @@ along with GCC; see the file COPYING3. If not see
/* The Solaris assembler wants a .local for non-exported aliases. */
#define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET) \
do { \
- const char *declname = \
- IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \
+ tree id = DECL_ASSEMBLER_NAME (DECL); \
+ ultimate_transparent_alias_target (&id); \
+ const char *declname = IDENTIFIER_POINTER (id); \
ASM_OUTPUT_DEF ((FILE), declname, \
IDENTIFIER_POINTER (TARGET)); \
if (! TREE_PUBLIC (DECL)) \
@@ -142,8 +142,11 @@ solaris_assemble_visibility (tree decl, int vis ATTRIBUTE_UNUSED)
};
const char *name, *type;
+ tree id = DECL_ASSEMBLER_NAME (decl);
- name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
+ while (IDENTIFIER_TRANSPARENT_ALIAS (id))
+ id = TREE_CHAIN (id);
+ name = IDENTIFIER_POINTER (id);
type = visibility_types[vis];
fprintf (asm_out_file, "\t.%s\t", type);