LM32 linker segmentation faults
PR 24596 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault on NULL output_section. * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
This commit is contained in:
parent
c83004d526
commit
a0f6fd217f
@ -1,3 +1,10 @@
|
||||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 24596
|
||||
* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
|
||||
on NULL output_section.
|
||||
* elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
|
||||
|
||||
2019-05-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 24596
|
||||
|
@ -1444,7 +1444,8 @@ lm32_elf_finish_dynamic_sections (bfd *output_bfd,
|
||||
FALSE, FALSE, TRUE);
|
||||
if (hend
|
||||
&& (hend->type == bfd_link_hash_defined
|
||||
|| hend->type == bfd_link_hash_defweak))
|
||||
|| hend->type == bfd_link_hash_defweak)
|
||||
&& hend->u.def.section->output_section != NULL)
|
||||
{
|
||||
bfd_vma value =
|
||||
lm32fdpic_fixup32_section (info)->output_section->vma
|
||||
|
@ -11682,7 +11682,8 @@ elf_final_link_free (bfd *obfd, struct elf_final_link_info *flinfo)
|
||||
free (flinfo->indices);
|
||||
if (flinfo->sections != NULL)
|
||||
free (flinfo->sections);
|
||||
if (flinfo->symshndxbuf != NULL)
|
||||
if (flinfo->symshndxbuf != NULL
|
||||
&& flinfo->symshndxbuf != (Elf_External_Sym_Shndx *) -1)
|
||||
free (flinfo->symshndxbuf);
|
||||
for (o = obfd->sections; o != NULL; o = o->next)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user