From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: gdb-patches@sourceware.org
Cc: Daniel Jacobowitz <drow@false.org>
Subject: Re: [FYI] Inlining support, rough patch [break-by-function-name]
Date: Sat, 12 Jul 2008 07:41:00 -0000 [thread overview]
Message-ID: <20080712073934.GA22282@host0.dyn.jankratochvil.net> (raw)
In-Reply-To: <20080703160102.GA24817@caradoc.them.org>
On Thu, 03 Jul 2008 18:01:02 +0200, Daniel Jacobowitz wrote:
> On Thu, Jul 03, 2008 at 01:21:48PM +0200, Jan Kratochvil wrote:
> > On Wed, 02 Jul 2008 21:14:38 +0200, Daniel Jacobowitz wrote:
> > ...
> > > Let's wait on that until the rest of the patch is ready, though.
> > > I'm making good progress.
> >
> > That would be great, while discussing the uncommitted patches here is one on
> > top of it to make `break inlined_function' work with the multi-PC breakpoints.
...
> I can't see how this works, unless you're getting lucky.
The only risk is code in multiple sections - but for non-embedded targets all
the final linked regular code possibly containing inlined concrete instances
is in .text.
> For instance
> here:
> > @@ -5692,7 +5692,7 @@ resolve_sal_pc (struct symtab_and_line *
> > bv = blockvector_for_pc_sect (sal->pc, 0, &b, sal->symtab);
> > if (bv != NULL)
> > {
> > - sym = block_linkage_function (b);
> > + sym = block_function (b);
> > if (sym != NULL)
> > {
> > fixup_symbol_section (sym, sal->symtab->objfile);
>
> fixup_symbol_section is a symbol lookup. There has to be a real
> function in the ELF symbol table with the same name, and here that
> may be in a different section entirely.
This problem should be fixed since:
[commit] Handle minimal symbols pointing to function descriptors
http://sourceware.org/ml/gdb-patches/2008-05/msg00120.html
fixup_section():
- if (msym)
+ /* First, check whether a minimal symbol with the same name exists
+ and points to the same address. The address check is required
+ e.g. on PowerPC64, where the minimal symbol for a function will
+ point to the function descriptor, while the debug symbol will
+ point to the actual function code. */
+ if (msym
+ && SYMBOL_VALUE_ADDRESS (msym) == ginfo->value.address)
Which is followed by `ginfo->value.address' lookup in the section table.
Thanks for the problem notice,
Jan
next prev parent reply other threads:[~2008-07-12 7:41 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-13 19:39 [FYI] Inlining support, rough patch Daniel Jacobowitz
2008-06-13 19:43 ` Daniel Jacobowitz
2008-06-23 12:03 ` Jan Kratochvil
2008-06-23 14:23 ` Daniel Jacobowitz
2008-07-02 19:15 ` Daniel Jacobowitz
2008-07-03 11:22 ` [FYI] Inlining support, rough patch [break-by-function-name] Jan Kratochvil
2008-07-03 16:01 ` Daniel Jacobowitz
2008-07-12 7:41 ` Jan Kratochvil [this message]
2008-07-08 0:12 ` [FYI] Inlining support, rough patch Daniel Jacobowitz
2008-07-15 19:21 ` Daniel Jacobowitz
2008-07-17 23:53 ` Mark Kettenis
2008-07-18 13:03 ` Daniel Jacobowitz
[not found] ` <200807251446.m6PEkfwc027635@brahms.sibelius.xs4all.nl>
2008-07-25 17:47 ` Daniel Jacobowitz
2009-03-31 3:06 ` Tom Tromey
2009-03-31 20:49 ` Mark Kettenis
2009-03-31 22:13 ` Daniel Jacobowitz
2009-04-20 15:49 ` Daniel Jacobowitz
2009-04-20 15:54 ` Jan Kratochvil
2009-06-27 18:01 ` Daniel Jacobowitz
2009-06-28 10:16 ` Jan Kratochvil
2009-06-28 13:35 ` Daniel Jacobowitz
2009-06-30 16:11 ` Tom Tromey
2009-06-30 16:50 ` Jan Kratochvil
2009-04-22 22:04 ` Mark Kettenis
2009-04-23 3:17 ` Eli Zaretskii
2009-04-23 5:56 ` Stan Shebs
2009-04-23 12:48 ` Daniel Jacobowitz
2009-06-18 17:55 ` Tom Tromey
2009-06-20 9:57 ` Mark Kettenis
2009-06-20 19:28 ` Samuel Bronson
2009-04-24 21:44 ` Thiago Jung Bauermann
2008-07-18 2:02 ` Paul Pluzhnikov
2008-07-18 3:07 ` Daniel Jacobowitz
2008-07-20 14:41 ` Eli Zaretskii
2008-07-25 13:54 ` Eli Zaretskii
2008-07-25 14:26 ` Daniel Jacobowitz
2008-07-25 16:11 ` Daniel Jacobowitz
2008-07-26 5:58 ` Eli Zaretskii
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=20080712073934.GA22282@host0.dyn.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=drow@false.org \
--cc=gdb-patches@sourceware.org \
/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