From: Richard Henderson Date: Wed, 9 Apr 2003 20:08:14 +0000 (+0000) Subject: * elf64-alpha.c (elf64_alpha_relocate_section) : X-Git-Tag: binutils-2_14-branchpoint~202 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec1659c846e09371b2de488becf1f8042d10cc5b;p=platform%2Fupstream%2Fbinutils.git * elf64-alpha.c (elf64_alpha_relocate_section) : Ignore relocations against r_symndx == 0. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index eb9b28b..2396d5b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-04-09 Richard Henderson + + * elf64-alpha.c (elf64_alpha_relocate_section) : + Ignore relocations against r_symndx == 0. + 2003-04-09 H.J. Lu * elf64-alpha.c (elf64_alpha_relocate_section): Don't return diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index ddf7395..bf18e205 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -4579,8 +4579,20 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section, value -= gp; goto default_reloc; - case R_ALPHA_GPREL16: case R_ALPHA_GPREL32: + /* If the target section was a removed linkonce section, + r_symndx will be zero. In this case, assume that the + switch will not be used, so don't fill it in. If we + do nothing here, we'll get relocation truncated messages, + due to the placement of the application above 4GB. */ + if (r_symndx == 0) + { + r = bfd_reloc_ok; + break; + } + /* FALLTHRU */ + + case R_ALPHA_GPREL16: case R_ALPHA_GPRELLOW: if (dynamic_symbol_p) {