Ignore degenerate PT_LOAD segments
Fixes a failure triggered by -z separate-code. p_memsz is tested rather than p_filesz for objcopy --only-keep-debug where p_filesz is set to zero. PR 22845 * elf.c (assign_file_positions_for_non_load_sections): Ignore degenerate zero size PT_LOAD segments when finding one overlapping the PT_GNU_RELRO segment.
This commit is contained in:
parent
c2596c4a72
commit
325ba6fb34
2 changed files with 8 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2018-02-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 22845
|
||||
* elf.c (assign_file_positions_for_non_load_sections): Ignore
|
||||
degenerate zero size PT_LOAD segments when finding one overlapping
|
||||
the PT_GNU_RELRO segment.
|
||||
|
||||
2018-02-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
|
||||
|
|
|
@ -5897,6 +5897,7 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
|
|||
lm = lm->next, lp++)
|
||||
{
|
||||
if (lp->p_type == PT_LOAD
|
||||
&& lp->p_memsz != 0
|
||||
&& lm->count != 0
|
||||
&& lm->sections[lm->count - 1]->vma >= start
|
||||
&& lm->sections[0]->vma < end)
|
||||
|
|
Loading…
Add table
Reference in a new issue