aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/iris6.h1
-rw-r--r--gcc/varasm.c10
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 077fbde..0adf887 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Tue Oct 13 11:49:14 1998 Jason Merrill <jason@yorick.cygnus.com>
+
+ * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
+ * varasm.c (assemble_start_function et al): Don't call
+ ASM_GLOBALIZE_LABEL for weak symbols.
+
Tue Oct 13 11:37:45 1998 Nick Clifton <nickc@cygnus.com>
* cse.c (equiv_constant): Check for NULL return from
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index 30e1860..00590132 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -187,6 +187,7 @@ Boston, MA 02111-1307, USA. */
#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
do { \
+ ASM_GLOBALIZE_LABEL (FILE, NAME); \
fputs ("\t.weakext\t", FILE); \
assemble_name (FILE, NAME); \
if (VALUE) \
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 8da99da..d9e5261 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1005,11 +1005,12 @@ 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 */
@@ -1425,11 +1426,12 @@ 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))
@@ -4259,7 +4261,6 @@ 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);
@@ -4282,11 +4283,12 @@ 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));