From: Richard Henderson Date: Thu, 2 May 2002 17:48:14 +0000 (+0000) Subject: * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs X-Git-Tag: binutils-2_12_1~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9482b73475e340cd6effb5eee731cd2d6d97cc2;p=thirdparty%2Fbinutils-gdb.git * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs vs SHN_UNDEF to zero. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 98c19e57fab..b6e2fc3b669 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-05-02 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs + vs SHN_UNDEF to zero. + 2002-04-27 Alan Modra Merge from mainline diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 550de530fbb..faf9944d2bc 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -3695,6 +3695,16 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section, } goto default_reloc; + case R_ALPHA_SREL32: + case R_ALPHA_SREL64: + /* ??? .eh_frame references to discarded sections will be smashed + to relocations against SHN_UNDEF. The .eh_frame format allows + NULL to be encoded as 0 in any format, so this works here. */ + if (r_symndx == 0) + howto = (elf64_alpha_howto_table + + (r_type - R_ALPHA_SREL32 + R_ALPHA_REFLONG)); + goto default_reloc; + default: default_reloc: r = _bfd_final_link_relocate (howto, input_bfd, input_section,