From: Alan Modra Date: Wed, 28 Aug 2019 14:50:46 +0000 (+0930) Subject: Segfault in ld building SPEC CPU2017 527.cam4_r with -flto X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a78fca7b57c5444ac23110c6d0f80abd966f0e90;p=binutils-gdb.git Segfault in ld building SPEC CPU2017 527.cam4_r with -flto Caused by the PR24406 fix. unwrap_hash_lookup shouldn't be called with link_info.wrap_hash NULL. PR ld/24406 * plugin.c (get_symbols): Test link_info.wrap_hash before calling unwrap_hash_lookup. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index ed646acffae..b654eb9d363 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2019-08-29 Alan Modra + + PR ld/24406 + * plugin.c (get_symbols): Test link_info.wrap_hash before calling + unwrap_hash_lookup. + 2019-08-22 Tamar Christina PR ld/24601 diff --git a/ld/plugin.c b/ld/plugin.c index 0344da2df9e..47e5cea82ea 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -749,7 +749,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms, if (syms[n].def != LDPK_UNDEF && syms[n].def != LDPK_WEAKUNDEF) { blhe = h; - if (blhe) + if (blhe && link_info.wrap_hash != NULL) { /* Check if a symbol is a wrapper symbol. */ struct bfd_link_hash_entry *unwrap