diff --git a/gas/ChangeLog b/gas/ChangeLog index fbaadc0015..698b7a0b05 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2000-05-11 Ulf Carlsson + + * config/tc-mips.c (md_estimate_size_before_relax): Use the + external version of the relocation for weak symbols. + 2000-05-08 David Mosberger * 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 bb7e22756e..155dfe2428 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 ();