summaryrefslogtreecommitdiff
path: root/ld/plugin.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-08-29 00:20:46 +0930
committerAlan Modra <amodra@gmail.com>2019-08-29 00:33:49 +0930
commita78fca7b57c5444ac23110c6d0f80abd966f0e90 (patch)
treea2712e6a0e7279e0c8ef16ddd7e8f729ce45b1bc /ld/plugin.c
parent8ae0786c30a3a8d846994d0a6e7a00646f0bcd20 (diff)
downloadbinutils-gdb-a78fca7b57c5444ac23110c6d0f80abd966f0e90.tar.gz
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.
Diffstat (limited to 'ld/plugin.c')
-rw-r--r--ld/plugin.c2
1 files changed, 1 insertions, 1 deletions
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