* elf64-alpha.c (elf64_alpha_relocate_section): Do not

apply HINT relocations against dynamic symbols.
This commit is contained in:
Richard Henderson 2001-09-11 18:21:11 +00:00
parent 146f1a875a
commit f94952df27
2 changed files with 16 additions and 3 deletions

View File

@ -1,7 +1,11 @@
2001-09-11 Richard Henderson <rth@redhat.com>
* elf64-alpha.c (elf64_alpha_relocate_section): Do not
apply HINT relocations against dynamic symbols.
2001-09-11 H.J. Lu <hjl@gnu.org>
* inker.c (link_action): Change COMMON_ROW\defw from CREF to
COM.
* linker.c (link_action): Change COMMON_ROW\defw from CREF to COM.
2001-09-09 Richard Henderson <rth@redhat.com>

View File

@ -3462,8 +3462,17 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
+ ((relocation >> 15) & 1));
goto default_reloc;
case R_ALPHA_BRADDR:
case R_ALPHA_HINT:
/* A call to a dynamic symbol is definitely out of range of
the 16-bit displacement. Don't bother writing anything. */
if (h && alpha_elf_dynamic_symbol_p (&h->root, info))
{
r = bfd_reloc_ok;
break;
}
/* FALLTHRU */
case R_ALPHA_BRADDR:
/* The regular PC-relative stuff measures from the start of
the instruction rather than the end. */
addend -= 4;