From: Alan Modra Date: Tue, 28 May 2019 05:36:47 +0000 (+0930) Subject: Alpha-linux linker segmentation fault X-Git-Tag: binutils-2_33~1077 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=28fbeab8064f97ca5fe1a851fdc4146b7aed8863;p=external%2Fbinutils.git Alpha-linux linker segmentation fault This patch cures a linker segfault, and "FAIL: Build pr22263-1". PR 24596 * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt to emit R_ALPHA_GOTTPREL in PIEs, for which no space is allocated in alpha_dynamic_entries_for_reloc. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index de58a02..1d8b75d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,6 +1,13 @@ 2019-05-28 Alan Modra PR 24596 + * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt + to emit R_ALPHA_GOTTPREL in PIEs, for which no space is + allocated in alpha_dynamic_entries_for_reloc. + +2019-05-28 Alan Modra + + PR 24596 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault on NULL output_section. * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf. diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 50961d7..6810483 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -4724,7 +4724,7 @@ elf64_alpha_relocate_section (bfd *output_bfd, struct bfd_link_info *info, BFD_ASSERT (elf_hash_table (info)->tls_sec != NULL); if (r_type == R_ALPHA_GOTDTPREL) value -= dtp_base; - else if (!bfd_link_pic (info)) + else if (bfd_link_executable (info)) value -= tp_base; else {