This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Alpha-linux linker segmentation fault
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 28 May 2019 05:45:59 -0000
- Subject: [binutils-gdb] Alpha-linux linker segmentation fault
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=28fbeab8064f97ca5fe1a851fdc4146b7aed8863
commit 28fbeab8064f97ca5fe1a851fdc4146b7aed8863
Author: Alan Modra <amodra@gmail.com>
Date: Tue May 28 15:06:47 2019 +0930
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:
---
bfd/ChangeLog | 7 +++++++
bfd/elf64-alpha.c | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
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 <amodra@gmail.com>
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 <amodra@gmail.com>
+
+ 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
{