mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-30 13:23:50 +08:00
Stop the BFD library from complaining if a segment has no sections attached to it.
PR 23932 * elf.c (rewrite_elf_program_header): Do not complain if no sections are mapped to a segment.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2020-02-07 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 23932
|
||||
* elf.c (rewrite_elf_program_header): Do not complain if no
|
||||
sections are mapped to a segment.
|
||||
|
||||
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/25490
|
||||
|
17
bfd/elf.c
17
bfd/elf.c
@ -7360,14 +7360,9 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
|
||||
|
||||
/* PR 23932. A corrupt input file may contain sections that cannot
|
||||
be assigned to any segment - because for example they have a
|
||||
negative size - or segments that do not contain any sections. */
|
||||
if (map->count == 0)
|
||||
{
|
||||
sorry:
|
||||
bfd_set_error (bfd_error_sorry);
|
||||
free (sections);
|
||||
return FALSE;
|
||||
}
|
||||
negative size - or segments that do not contain any sections.
|
||||
But there are also valid reasons why a segment can be empty.
|
||||
So allow a count of zero. */
|
||||
|
||||
/* Add the current segment to the list of built segments. */
|
||||
*pointer_to_map = map;
|
||||
@ -7399,6 +7394,12 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
|
||||
map->includes_filehdr = 0;
|
||||
map->includes_phdrs = 0;
|
||||
}
|
||||
|
||||
continue;
|
||||
sorry:
|
||||
bfd_set_error (bfd_error_sorry);
|
||||
free (sections);
|
||||
return FALSE;
|
||||
}
|
||||
while (isec < section_count);
|
||||
|
||||
|
Reference in New Issue
Block a user