From: Joel Brobecker <brobecker@adacore.com>
To: Tom Tromey <tromey@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: [RFA] choose symbol from given block's objfile first.
Date: Wed, 09 May 2012 19:05:00 -0000 [thread overview]
Message-ID: <20120509190529.GI15555@adacore.com> (raw)
In-Reply-To: <874nrqvbeh.fsf@fleche.redhat.com>
[about needing to update the calls to lookup_symbol_aux_quick]
> Yes, I think you'd need this change there as well.
>
> gdb should end up in the lookup_symbol_aux_quick loop if the symbol in
> question is in an unexpanded psymtab. In this case you want to be sure
> to check the block objfile first.
I think I see why I got tricked: Is it because the debug info is DWARF?
With DWARF, the lookup_static_symbol_aux first pre-expands all partial
symbols containing a match, so we never go into the quick method...
Attached are two patches, the first being the code change, and the
second a testcase for it.
gdb/ChangeLog:
* findvar.c (default_read_var_value): For LOC_UNRESOLVED symbols,
try locating the symbol in the symbol's own objfile first, before
extending the search to all objfiles.
* symtab.c (lookup_symbol_aux_objfile): New function, extracted
out of lookup_symbol_aux_symtabs.
(lookup_symbol_aux_symtabs): Add new parameter "exclude_objfile".
Replace extracted-out code by call to lookup_symbol_aux_objfile.
Do not search EXCLUDE_OBJFILE.
(lookup_static_symbol_aux): Update call to lookup_symbol_aux_symtabs.
(lookup_symbol_global): Search for matches in the block's objfile
first, before searching all other objfiles.
gdb/testsuite/ChangeLog:
* gdb.base/ctxobj-f.c, gdb.base/ctxobj-m.c, gdb.base/ctxobj-v.c,
gdb.base/ctxobj.exp: New files.
Tested on x86_64-linux. No regression.
OK to commit?
--
Joel
next prev parent reply other threads:[~2012-05-09 19:05 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-07 22:43 [RFC] " Joel Brobecker
2012-05-08 17:19 ` Tom Tromey
2012-05-09 19:05 ` Joel Brobecker [this message]
2012-05-09 19:08 ` [RFA] " Joel Brobecker
2012-05-09 20:15 ` Tom Tromey
2012-05-09 20:40 ` Joel Brobecker
2012-05-09 20:57 ` Tom Tromey
2012-05-09 21:06 ` Joel Brobecker
2012-05-10 13:42 ` Tom Tromey
2012-05-10 16:27 ` checked in: " Joel Brobecker
2012-05-10 17:19 ` Joel Brobecker
2012-05-09 21:48 ` Joel Brobecker
2012-05-09 21:49 ` Joel Brobecker
2012-05-18 16:10 ` gdb.base/print-file-var.exp false PASS [Re: [RFA] choose symbol from given block's objfile first.] Jan Kratochvil
2012-05-18 17:17 ` Joel Brobecker
2012-05-18 17:37 ` Jan Kratochvil
2012-05-09 20:08 ` [RFA] choose symbol from given block's objfile first Tom Tromey
2012-05-11 7:26 ` Regression for gdb.fortran/library-module.exp [Re: [RFA] choose symbol from given block's objfile first.] Jan Kratochvil
2012-05-11 12:25 ` Joel Brobecker
2012-05-14 14:39 ` Joel Brobecker
2012-05-14 14:52 ` Jan Kratochvil
2012-05-14 15:06 ` Joel Brobecker
2012-05-14 15:15 ` Jan Kratochvil
2012-05-14 16:57 ` Joel Brobecker
2012-05-14 17:05 ` Jan Kratochvil
2012-05-14 17:49 ` Pedro Alves
2012-05-14 17:59 ` Joel Brobecker
2012-05-14 18:07 ` Jan Kratochvil
2012-05-15 13:09 ` Joel Brobecker
2012-05-16 19:57 ` RFC for: "Re: Regression for gdb.fortran/library-module.exp [Re: [RFA] choose symbol from given block's objfile first.]" Joel Brobecker
2012-05-18 17:46 ` Jan Kratochvil
2012-05-28 14:27 ` Joel Brobecker
2012-05-28 16:12 ` Jan Kratochvil
2012-05-29 15:44 ` Joel Brobecker
2012-05-29 15:49 ` Joel Brobecker
2012-05-29 15:56 ` Jan Kratochvil
2012-05-29 16:02 ` Joel Brobecker
2012-05-29 16:12 ` Jan Kratochvil
2012-05-29 16:31 ` Pedro Alves
2012-05-10 14:14 ` [RFC] choose symbol from given block's objfile first Pedro Alves
2012-05-10 14:32 ` Tom Tromey
2012-05-10 14:50 ` Matt Rice
2012-05-10 15:07 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120509190529.GI15555@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox