From a4eba6087d4cec81f8b41477b4da56ff87b88e91 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 19 Nov 2020 17:36:24 +0000 Subject: [PATCH] Fix a bug in the s390x linker when discarding all inpuit files. PR 26918 * elf64-s390.c (elf_s390_finish_dynamic_sections): Check for the existance of an sgot output section before setting the sh_entsize. --- bfd/ChangeLog | 7 +++++++ bfd/elf64-s390.c | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a23da61653..2aa89d01db 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2020-11-19 Nick Clifton + + PR 26918 + * elf64-s390.c (elf_s390_finish_dynamic_sections): Check for the + existance of an sgot output section before setting the + sh_entsize. + 2020-11-18 Jozef Lawrynowicz H.J. Lu diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 0522850a5d..41b19bcd2c 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -3547,8 +3547,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, bfd_put_64 (output_bfd, (bfd_vma) 0, htab->elf.hgot->root.u.def.section->contents + 16); } - elf_section_data (htab->elf.sgot->output_section) - ->this_hdr.sh_entsize = 8; + if (elf_section_data (htab->elf.splt->output_section) != NULL) + elf_section_data (htab->elf.sgot->output_section) + ->this_hdr.sh_entsize = 8; } /* Finish dynamic symbol for local IFUNC symbols. */ -- 2.34.1