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.
This commit is contained in:
Nick Clifton 2020-03-24 13:35:53 +00:00
parent cda7e5603f
commit ec2e748ad3
2 changed files with 13 additions and 3 deletions

View File

@ -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

View File

@ -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;