From ebb54709a8b69f74f77ed6c1af2ffb0ee4b98ad1 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 3 May 2007 15:55:38 +0000 Subject: [PATCH] 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. --- bfd/ChangeLog | 7 +++++++ bfd/aoutx.h | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1c00088371..00ae68efa8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2007-05-03 Vincent Riviere + Nick Clifton + + PR gas/3041 + * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols + in the same way as relocs against external symbols. + 2007-05-02 Alan Modra * elf.c (assign_file_positions_for_load_sections): Set sh_offset 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) { -- 2.11.0