summaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-01-26 19:55:45 +0000
committerAndrew Cagney <cagney@redhat.com>2004-01-26 19:55:45 +0000
commit6517b69a0052db4d100c03b22a061989e769ddeb (patch)
treed6a61c8e2afedc04aaac0ccb1d722217777e7ea2 /gdb/dwarf2read.c
parente6df9db3182347265789e082631b00d009fd1856 (diff)
downloadgdb-6517b69a0052db4d100c03b22a061989e769ddeb.tar.gz
Index: ChangeLog
2004-01-26 Andrew Cagney <cagney@redhat.com> * dwarf2read.c (read_func_scope): Document frame-base hack.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 22765623384..3acbc583a30 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2211,6 +2211,15 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
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;