gold: powerpc: Test whether sym is not a plugin in do_gc_mark_symbol
sym->object() could be either a Plugin or Powerpc_relobj. There could be a situation when Pluginobj would be proccessed in ppc_object->get_opd_ent(dst_off) as Powerpc_relobj and it leads to the segmentation fault. * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
This commit is contained in:
parent
7813437494
commit
6a31512fd4
@ -1,3 +1,7 @@
|
||||
2020-05-15 Nikita Ermakov <coffe92@gmail.com>
|
||||
|
||||
* powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
|
||||
|
||||
2020-05-14 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* po/sr.po: New Serbian translation.
|
||||
|
@ -9056,7 +9056,7 @@ Target_powerpc<size, big_endian>::do_gc_mark_symbol(
|
||||
Symbol_table* symtab,
|
||||
Symbol* sym) const
|
||||
{
|
||||
if (size == 64)
|
||||
if (size == 64 && sym->object()->pluginobj() == NULL)
|
||||
{
|
||||
Powerpc_relobj<size, big_endian>* ppc_object
|
||||
= static_cast<Powerpc_relobj<size, big_endian>*>(sym->object());
|
||||
|
Loading…
Reference in New Issue
Block a user