aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2000-05-11 01:48:09 +0000
committerAlan Modra <amodra@gmail.com>2000-05-11 01:48:09 +0000
commit426b0403963b328d6ccd7abc93f87a9c38f3e718 (patch)
treef9cf1c281c9b6f6e1d5b8d57e1c2f47080350ebd
parent9e12421610186897f3147622fb7d28806a527c46 (diff)
downloadfsf-binutils-gdb-426b0403963b328d6ccd7abc93f87a9c38f3e718.zip
fsf-binutils-gdb-426b0403963b328d6ccd7abc93f87a9c38f3e718.tar.gz
fsf-binutils-gdb-426b0403963b328d6ccd7abc93f87a9c38f3e718.tar.bz2
(md_estimate_size_before_relax): Use the external version of
the relocation for weak symbols.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index fbaadc0..698b7a0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * config/tc-mips.c (md_estimate_size_before_relax): Use the
+ external version of the relocation for weak symbols.
+
2000-05-08 David Mosberger <davidm@hpl.hp.com>
* config/tc-ia64.c (output_P7_format, case mem_stack_f): Output fixed
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index bb7e227..155dfe2 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -11021,7 +11021,12 @@ md_estimate_size_before_relax (fragp, segtype)
/* This must duplicate the test in adjust_reloc_syms. */
change = (symsec != &bfd_und_section
&& symsec != &bfd_abs_section
- && ! bfd_is_com_section (symsec));
+ && ! bfd_is_com_section (symsec)
+#ifdef OBJ_ELF
+ /* A weak symbol is treated as external. */
+ && ! S_IS_WEAK (sym)
+#endif
+ );
}
else
abort ();