* [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
@ 2004-10-22 21:39 Joel Brobecker
2004-11-01 19:50 ` Joel Brobecker
0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2004-10-22 21:39 UTC (permalink / raw)
To: gdb-patches
Hello,
Right now, new_symbol() in dwarf2read.c sometimes sets the type name
using the SYMBOL_NATURAL_NAME. This is causing problems with Ada,
because contrary to C++ or Java, we chose to perform our searches using
the mangled name, not the demangled one.
2004-10-22 Joel Brobecker <brobecker@gnat.com>
From Paul Hilfinger <hilfinger@gnat.com>
* dwarf2read.c (new_symbol): Use SYMBOL_SEARCH_NAME rather than
SYMBOL_NATURAL_NAME to set type names.
Tested on x86-linux. No regression.
OK to apply?
Thanks,
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
2004-10-22 21:39 [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name Joel Brobecker
@ 2004-11-01 19:50 ` Joel Brobecker
2004-11-29 2:12 ` Elena Zannoni
0 siblings, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2004-11-01 19:50 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 699 bytes --]
With the patch, I think I have a better change of getting a review...
On Fri, Oct 22, 2004 at 02:39:11PM -0700, Joel Brobecker wrote:
> Right now, new_symbol() in dwarf2read.c sometimes sets the type name
> using the SYMBOL_NATURAL_NAME. This is causing problems with Ada,
> because contrary to C++ or Java, we chose to perform our searches using
> the mangled name, not the demangled one.
>
> 2004-10-22 Joel Brobecker <brobecker@gnat.com>
>
> From Paul Hilfinger <hilfinger@gnat.com>
> * dwarf2read.c (new_symbol): Use SYMBOL_SEARCH_NAME rather than
> SYMBOL_NATURAL_NAME to set type names.
>
> Tested on x86-linux. No regression.
> OK to apply?
--
Joel
[-- Attachment #2: dwarf2read.c.diff --]
[-- Type: text/plain, Size: 657 bytes --]
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.168
diff -u -p -r1.168 dwarf2read.c
--- dwarf2read.c 19 Oct 2004 20:28:56 -0000 1.168
+++ dwarf2read.c 1 Nov 2004 19:49:49 -0000
@@ -6922,7 +6922,7 @@ new_symbol (struct die_info *die, struct
this objfile, so we don't need to duplicate it for
the type. */
if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
- TYPE_NAME (SYMBOL_TYPE (sym)) = SYMBOL_NATURAL_NAME (sym);
+ TYPE_NAME (SYMBOL_TYPE (sym)) = SYMBOL_SEARCH_NAME (sym);
add_symbol_to_list (typedef_sym, list_to_add);
}
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
2004-11-01 19:50 ` Joel Brobecker
@ 2004-11-29 2:12 ` Elena Zannoni
2004-11-29 19:54 ` Paul Hilfinger
2004-12-01 3:05 ` Joel Brobecker
0 siblings, 2 replies; 6+ messages in thread
From: Elena Zannoni @ 2004-11-29 2:12 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
Joel Brobecker writes:
> With the patch, I think I have a better change of getting a review...
>
>
>
> On Fri, Oct 22, 2004 at 02:39:11PM -0700, Joel Brobecker wrote:
> > Right now, new_symbol() in dwarf2read.c sometimes sets the type name
> > using the SYMBOL_NATURAL_NAME. This is causing problems with Ada,
> > because contrary to C++ or Java, we chose to perform our searches using
> > the mangled name, not the demangled one.
> >
> > 2004-10-22 Joel Brobecker <brobecker@gnat.com>
> >
> > From Paul Hilfinger <hilfinger@gnat.com>
> > * dwarf2read.c (new_symbol): Use SYMBOL_SEARCH_NAME rather than
> > SYMBOL_NATURAL_NAME to set type names.
> >
> > Tested on x86-linux. No regression.
> > OK to apply?
>
> --
> Joel
> Index: dwarf2read.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/dwarf2read.c,v
> retrieving revision 1.168
> diff -u -p -r1.168 dwarf2read.c
> --- dwarf2read.c 19 Oct 2004 20:28:56 -0000 1.168
> +++ dwarf2read.c 1 Nov 2004 19:49:49 -0000
> @@ -6922,7 +6922,7 @@ new_symbol (struct die_info *die, struct
> this objfile, so we don't need to duplicate it for
> the type. */
> if (TYPE_NAME (SYMBOL_TYPE (sym)) == 0)
> - TYPE_NAME (SYMBOL_TYPE (sym)) = SYMBOL_NATURAL_NAME (sym);
> + TYPE_NAME (SYMBOL_TYPE (sym)) = SYMBOL_SEARCH_NAME (sym);
> add_symbol_to_list (typedef_sym, list_to_add);
> }
> }
Sigh, this is a hack on top af another. Unfortunately the initial
review of the symtab Ada changes wasn't helpful. I have no choice but
to let this go in for now, however, please, start thinking of a way to
get rid of those special cases in SYMBOL_blah_NAME. Making those
become part of the language vector comes to mind.
Can you come up with a test case for gdb.ada that shows the problem,
and is cured by this patch?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
2004-11-29 2:12 ` Elena Zannoni
@ 2004-11-29 19:54 ` Paul Hilfinger
2004-12-01 3:05 ` Joel Brobecker
1 sibling, 0 replies; 6+ messages in thread
From: Paul Hilfinger @ 2004-11-29 19:54 UTC (permalink / raw)
To: Elena Zannoni; +Cc: Joel Brobecker, gdb-patches
From hilfingr Mon Nov 29 11:29:06 2004
Date: Mon, 29 Nov 2004 01:45:26 -0800
From: "Paul N. Hilfinger" <hilfingr@otisco.mckusick.com>
To: hilfingr@EECS.Berkeley.EDU
Reply-to: Hilfinger@otisco.mckusick.com
X-BTI-AntiSpam: sta:false/3/021,dcc:passed,rbl:off,wlbl:none
References: <200411290224.iAT2OHrd029832@tully.CS.Berkeley.EDU>
Original-recipient: rfc822;hilfingr@imap4.CS.Berkeley.EDU
> Sigh, this is a hack on top af another. Unfortunately the initial
> review of the symtab Ada changes wasn't helpful. I have no choice but
> to let this go in for now, however, please, start thinking of a way to
> get rid of those special cases in SYMBOL_blah_NAME. Making those
> become part of the language vector comes to mind.
Elena,
Would you perhaps elaborate on this critique a bit?
SYMBOL_SEARCH_NAME is, by definition, the name by which a client (in
this case, a language module) looks up an entity, so it would seem
appropriate for this context.
Is your concern that SYMBOL_SEARCH_NAME (and the other SYMBOL_*_NAMEs,
for that matter) involve language-specific tests in their
implementations---i.e., that they are not properly object-orientized?
This of course is a long-standing blotch. If you think it important,
I could fix it (for Ada and C++) as you suggest with some additions to
the language vector. The only annoyance here is that we'd then want to
introduce a new fast mapping from
enum language => struct language_defn *
rather than using the current definition of
language_def (which does a lookup).
Paul
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
2004-11-29 2:12 ` Elena Zannoni
2004-11-29 19:54 ` Paul Hilfinger
@ 2004-12-01 3:05 ` Joel Brobecker
2005-02-15 20:24 ` Joel Brobecker
1 sibling, 1 reply; 6+ messages in thread
From: Joel Brobecker @ 2004-12-01 3:05 UTC (permalink / raw)
To: Elena Zannoni; +Cc: gdb-patches
> > > 2004-10-22 Joel Brobecker <brobecker@gnat.com>
> > >
> > > From Paul Hilfinger <hilfinger@gnat.com>
> > > * dwarf2read.c (new_symbol): Use SYMBOL_SEARCH_NAME rather than
> > > SYMBOL_NATURAL_NAME to set type names.
> Sigh, this is a hack on top af another. Unfortunately the initial
> review of the symtab Ada changes wasn't helpful. I have no choice but
> to let this go in for now, however, please, start thinking of a way to
> get rid of those special cases in SYMBOL_blah_NAME. Making those
> become part of the language vector comes to mind.
OK, I see Paul, who is the one who knows most about these symbol names
issues, has already answered, so I won't comment on that (I didn't have
much to say anyway :-).
> Can you come up with a test case for gdb.ada that shows the problem,
> and is cured by this patch?
Yes, I think so. I will commit a testcase and then commit this change.
Thanks for your review.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name
2004-12-01 3:05 ` Joel Brobecker
@ 2005-02-15 20:24 ` Joel Brobecker
0 siblings, 0 replies; 6+ messages in thread
From: Joel Brobecker @ 2005-02-15 20:24 UTC (permalink / raw)
To: Elena Zannoni; +Cc: gdb-patches
> 2004-10-22 Joel Brobecker <brobecker@gnat.com>
>
> From Paul Hilfinger <hilfinger@gnat.com>
> * dwarf2read.c (new_symbol): Use SYMBOL_SEARCH_NAME rather than
> SYMBOL_NATURAL_NAME to set type names.
>
> > Can you come up with a test case for gdb.ada that shows the problem,
> > and is cured by this patch?
>
> Yes, I think so. I will commit a testcase and then commit this change.
> Thanks for your review.
The testcase was committed, see:
http://sources.redhat.com/ml/gdb-patches/2005-02/msg00063.html.
I checked this fix in right after.
--
Joel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-02-15 17:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-22 21:39 [RFA/dwarf2] Use SYMBOL_SEARCH_NAME to set type name Joel Brobecker
2004-11-01 19:50 ` Joel Brobecker
2004-11-29 2:12 ` Elena Zannoni
2004-11-29 19:54 ` Paul Hilfinger
2004-12-01 3:05 ` Joel Brobecker
2005-02-15 20:24 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox