Fix seg-fault when running garbage collection on coff binaries.
PR ld/20401 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence of the coff_section_data before using it.
This commit is contained in:
parent
7fca8e8ff7
commit
147d994bcd
2 changed files with 14 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
|
||||
Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR ld/20401
|
||||
* coffgen.c (fini_reloc_cookie_rels): Check for the extistence
|
||||
of the coff_section_data before using it.
|
||||
|
||||
2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
|
||||
|
|
|
@ -2691,7 +2691,13 @@ static void
|
|||
fini_reloc_cookie_rels (struct coff_reloc_cookie *cookie,
|
||||
asection *sec)
|
||||
{
|
||||
if (cookie->rels && coff_section_data (NULL, sec)->relocs != cookie->rels)
|
||||
if (cookie->rels
|
||||
/* PR 20401. The relocs may not have been cached, so check first.
|
||||
If the relocs were loaded by init_reloc_cookie_rels() then this
|
||||
will be the case. FIXME: Would performance be improved if the
|
||||
relocs *were* cached ? */
|
||||
&& coff_section_data (NULL, sec)
|
||||
&& coff_section_data (NULL, sec)->relocs != cookie->rels)
|
||||
free (cookie->rels);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue