[binutils-gdb] Fix assertion failure in the BFD library when linking with --emit-relocs enabled.
gdb-buildbot@sergiodj.net
gdb-buildbot@sergiodj.net
Tue Apr 7 14:06:43 GMT 2020
*** TEST RESULTS FOR COMMIT ec2e748ad396c868839c977aa27d0333eb085970 ***
commit ec2e748ad396c868839c977aa27d0333eb085970
Author: Nick Clifton <nickc@redhat.com>
AuthorDate: Tue Mar 24 13:35:53 2020 +0000
Commit: Nick Clifton <nickc@redhat.com>
CommitDate: Tue Mar 24 13:35:53 2020 +0000
Fix assertion failure in the BFD library when linking with --emit-relocs enabled.
PR 25681
* elf.c (_bfd_elf_map_sections_to_segments): When looking for a
segment to use for PT_GNU_RELRO, ignore empty sections in a
segment's current list.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8ec3782d9f..d9e1139eb1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2020-03-24 Nick Clifton <nickc@redhat.com>
+
+ PR 25681
+ * elf.c (_bfd_elf_map_sections_to_segments): When looking for a
+ segment to use for PT_GNU_RELRO, ignore empty sections in a
+ segment's current list.
+
2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/25717
diff --git a/bfd/elf.c b/bfd/elf.c
index 1004809e45..f5354d2c7a 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -5213,9 +5213,12 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
{
i = m->count;
while (--i != (unsigned) -1)
- if ((m->sections[i]->flags & (SEC_LOAD | SEC_HAS_CONTENTS))
- == (SEC_LOAD | SEC_HAS_CONTENTS))
- break;
+ {
+ if (m->sections[i]->size > 0
+ && (m->sections[i]->flags & (SEC_LOAD | SEC_HAS_CONTENTS))
+ == (SEC_LOAD | SEC_HAS_CONTENTS))
+ break;
+ }
if (i != (unsigned) -1)
break;
More information about the Gdb-testers
mailing list