summaryrefslogtreecommitdiff
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
commita83dc1988c1e8594ba6e2cb6ef4b375dfcf3bafd (patch)
treecab961e6dd2c745ea9be5a679061d35d204e9e63 /bfd/aoutx.h
parentae629848ac92b9c71ec85bb946fa8ddde085c3d9 (diff)
downloadbinutils-redhat-a83dc1988c1e8594ba6e2cb6ef4b375dfcf3bafd.tar.gz
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 98d5213234..09331aa0ca 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)
{