diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/varasm.c | 10 |
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cc989876c85..0e46fb717d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com> + + * varasm.c (assemble_start_function, assemble_variable, weak_finish, + assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too. + Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu> * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize diff --git a/gcc/varasm.c b/gcc/varasm.c index d9e52613281..8da99daf77d 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1005,12 +1005,11 @@ assemble_start_function (decl, fnname) strcpy (*name, p); } + ASM_GLOBALIZE_LABEL (asm_out_file, fnname); #ifdef ASM_WEAKEN_LABEL if (DECL_WEAK (decl)) ASM_WEAKEN_LABEL (asm_out_file, fnname); - else #endif - ASM_GLOBALIZE_LABEL (asm_out_file, fnname); } /* Do any machine/system dependent processing of the function name */ @@ -1426,12 +1425,11 @@ assemble_variable (decl, top_level, at_end, dont_output_data) /* First make the assembler name(s) global if appropriate. */ if (TREE_PUBLIC (decl) && DECL_NAME (decl)) { + ASM_GLOBALIZE_LABEL (asm_out_file, name); #ifdef ASM_WEAKEN_LABEL if (DECL_WEAK (decl)) ASM_WEAKEN_LABEL (asm_out_file, name); - else #endif - ASM_GLOBALIZE_LABEL (asm_out_file, name); } #if 0 for (d = equivalents; d; d = TREE_CHAIN (d)) @@ -4261,6 +4259,7 @@ weak_finish () struct weak_syms *t; for (t = weak_decls; t; t = t->next) { + ASM_GLOBALIZE_LABEL (asm_out_file, t->name); ASM_WEAKEN_LABEL (asm_out_file, t->name); if (t->value) ASM_OUTPUT_DEF (asm_out_file, t->name, t->value); @@ -4283,12 +4282,11 @@ assemble_alias (decl, target) if (TREE_PUBLIC (decl)) { + ASM_GLOBALIZE_LABEL (asm_out_file, name); #ifdef ASM_WEAKEN_LABEL if (DECL_WEAK (decl)) ASM_WEAKEN_LABEL (asm_out_file, name); - else #endif - ASM_GLOBALIZE_LABEL (asm_out_file, name); } ASM_OUTPUT_DEF (asm_out_file, name, IDENTIFIER_POINTER (target)); |