From e02c96a79949824bbe1da22ddfc6b50d362fb552 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Tue, 13 Jan 2015 17:00:31 -0800 Subject: Enhance gdb.lookup_objfile so that it works with a symlinked binary. gdb/Changelog: * objfiles.c (objfile_filename): New function. * objfiles.h (objfile_filename): Declare it. (objfile_name): Add function comment. * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the bfd file name (which may be realpath'd), and the original name. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Test gdb.lookup_objfile on symlinked binary. --- gdb/python/py-objfile.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gdb/python/py-objfile.c') diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c index bdc483a..378db58 100644 --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c @@ -438,12 +438,18 @@ objfpy_lookup_objfile_by_name (const char *name) ALL_OBJFILES (objfile) { + const char *filename; + if ((objfile->flags & OBJF_NOT_FILENAME) != 0) continue; /* Don't return separate debug files. */ if (objfile->separate_debug_objfile_backlink != NULL) continue; - if (compare_filenames_for_search (objfile_name (objfile), name)) + + filename = objfile_filename (objfile); + if (filename != NULL && compare_filenames_for_search (filename, name)) + return objfile; + if (compare_filenames_for_search (objfile->original_name, name)) return objfile; } -- cgit v1.1