aboutsummaryrefslogtreecommitdiff
path: root/bfd/aoutx.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-05-03 15:55:38 +0000
committerNick Clifton <nickc@redhat.com>2007-05-03 15:55:38 +0000
commit22184a77bedbe9a50b48f0bc50ff1f8898699a39 (patch)
tree1a563035196ee0761363a56faf64d41131a243b5 /bfd/aoutx.h
parentfe7929ce4ac0d763d5669ada789c0b93140ce922 (diff)
downloadfsf-binutils-gdb-22184a77bedbe9a50b48f0bc50ff1f8898699a39.zip
fsf-binutils-gdb-22184a77bedbe9a50b48f0bc50ff1f8898699a39.tar.gz
fsf-binutils-gdb-22184a77bedbe9a50b48f0bc50ff1f8898699a39.tar.bz2
PR gas/3041
* gas/config/tc-m68k.c (relaxable_symbol): Do not relax weak symbols. (tc_gen_reloc): Adjust the addend of relocs against weak symbols. (md_apply_fix): Put zero values into the frags referencing weak symbols. * bfd/aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols in the same way as relocs against external symbols.
Diffstat (limited to 'bfd/aoutx.h')
-rw-r--r--bfd/aoutx.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 98d5213..09331aa 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -1952,7 +1952,10 @@ NAME (aout, swap_std_reloc_out) (bfd *abfd,
if (bfd_is_com_section (output_section)
|| bfd_is_abs_section (output_section)
- || bfd_is_und_section (output_section))
+ || bfd_is_und_section (output_section)
+ /* PR gas/3041 a.out relocs against weak symbols
+ must be treated as if they were against externs. */
+ || (sym->flags & BSF_WEAK))
{
if (bfd_abs_section_ptr->symbol == sym)
{