diff options
-rw-r--r-- | libctf/ctf-lookup.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libctf/ctf-lookup.c b/libctf/ctf-lookup.c index aa251ba..f37dd7e 100644 --- a/libctf/ctf-lookup.c +++ b/libctf/ctf-lookup.c @@ -1045,7 +1045,9 @@ ctf_lookup_by_sym_or_name (ctf_dict_t *fp, unsigned long symidx, } err = ECTF_NOSYMTAB; - if (sp->cts_data == NULL) + if (sp->cts_data == NULL && symname == NULL && + ((is_function && !fp->ctf_funcidx_names) || + (!is_function && !fp->ctf_objtidx_names))) goto try_parent; /* This covers both out-of-range lookups by index and a dynamic dict which |