diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-01-26 19:55:45 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-01-26 19:55:45 +0000 |
commit | c034e007d5227897fb787ae8338d72fd7de9650d (patch) | |
tree | bd4084d239f201d0e741c97ec119549d586c682a /gdb | |
parent | 6358301e9957ea78488d4ccb78471f467a2bac97 (diff) | |
download | gdb-c034e007d5227897fb787ae8338d72fd7de9650d.zip gdb-c034e007d5227897fb787ae8338d72fd7de9650d.tar.gz gdb-c034e007d5227897fb787ae8338d72fd7de9650d.tar.bz2 |
Index: ChangeLog
2004-01-26 Andrew Cagney <cagney@redhat.com>
* dwarf2read.c (read_func_scope): Document frame-base hack.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b20f0e9..296dbc0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2004-01-26 Andrew Cagney <cagney@redhat.com> + + * dwarf2read.c (read_func_scope): Document frame-base hack. + 2004-01-25 Mark Kettenis <kettenis@gnu.org> * infcmd.c (print_return_value): Plug memory leak; delete diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 2276562..3acbc58 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; |