aboutsummaryrefslogtreecommitdiff
path: root/libctf
diff options
context:
space:
mode:
Diffstat (limited to 'libctf')
-rw-r--r--libctf/ctf-lookup.c4
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