* [obish/dwarf2] Describe frame-base hack
@ 2004-01-26 19:57 Andrew Cagney
2004-01-26 20:42 ` Daniel Jacobowitz
0 siblings, 1 reply; 2+ messages in thread
From: Andrew Cagney @ 2004-01-26 19:57 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 126 bytes --]
Hello,
Stumbled across this during testing of symbol_ops. This adds a comment
alerting the reader as to a problem.
Andrew
[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 1195 bytes --]
Index: ChangeLog
2004-01-26 Andrew Cagney <cagney@redhat.com>
* dwarf2read.c (read_func_scope): Document hack.
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.124
diff -u -r1.124 dwarf2read.c
--- dwarf2read.c 23 Jan 2004 22:41:28 -0000 1.124
+++ dwarf2read.c 26 Jan 2004 19:54:06 -0000
@@ -2211,6 +2211,15 @@
it. */
attr = dwarf_attr (die, DW_AT_frame_base);
if (attr)
+ /* FIXME: cagney/2004-01-26: The DW_AT_frame_base's location
+ expression is being recorded directly in the function's symbol
+ and not in a separate frame-base object. I guess this hack is
+ to avoid adding some sort of frame-base adjunct/annex to the
+ function's symbol :-(. The problem with doing this is that it
+ results in a function symbol with a location expression that
+ has nothing to do with the location of the function, ouch! The
+ relationship should be: a function's symbol has-a frame base; a
+ frame-base has-a location expression. */
dwarf2_symbol_mark_computed (attr, new->name, cu);
list_in_scope = &local_symbols;
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [obish/dwarf2] Describe frame-base hack
2004-01-26 19:57 [obish/dwarf2] Describe frame-base hack Andrew Cagney
@ 2004-01-26 20:42 ` Daniel Jacobowitz
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2004-01-26 20:42 UTC (permalink / raw)
To: gdb-patches
On Mon, Jan 26, 2004 at 02:57:18PM -0500, Andrew Cagney wrote:
> Hello,
>
> Stumbled across this during testing of symbol_ops. This adds a comment
> alerting the reader as to a problem.
There is already a FIXME describing this in symtab.h which answers your
guess below.
> Index: ChangeLog
> 2004-01-26 Andrew Cagney <cagney@redhat.com>
>
> * dwarf2read.c (read_func_scope): Document hack.
>
> Index: dwarf2read.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/dwarf2read.c,v
> retrieving revision 1.124
> diff -u -r1.124 dwarf2read.c
> --- dwarf2read.c 23 Jan 2004 22:41:28 -0000 1.124
> +++ dwarf2read.c 26 Jan 2004 19:54:06 -0000
> @@ -2211,6 +2211,15 @@
> it. */
> attr = dwarf_attr (die, DW_AT_frame_base);
> if (attr)
> + /* FIXME: cagney/2004-01-26: The DW_AT_frame_base's location
> + expression is being recorded directly in the function's symbol
> + and not in a separate frame-base object. I guess this hack is
> + to avoid adding some sort of frame-base adjunct/annex to the
> + function's symbol :-(. The problem with doing this is that it
> + results in a function symbol with a location expression that
> + has nothing to do with the location of the function, ouch! The
> + relationship should be: a function's symbol has-a frame base; a
> + frame-base has-a location expression. */
> dwarf2_symbol_mark_computed (attr, new->name, cu);
>
> list_in_scope = &local_symbols;
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-01-26 20:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-26 19:57 [obish/dwarf2] Describe frame-base hack Andrew Cagney
2004-01-26 20:42 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox