diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-03-25 01:38:24 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-03-25 01:38:24 +0000 |
commit | 4df6dcd10d2756fd9d31fac4e6b1768c6360a084 (patch) | |
tree | 1b300034706354718fdb301dc075d4688c622602 /gdb | |
parent | 27847c6f99c457a02816c2082fa91e0a8c408d00 (diff) | |
download | gdb-4df6dcd10d2756fd9d31fac4e6b1768c6360a084.zip gdb-4df6dcd10d2756fd9d31fac4e6b1768c6360a084.tar.gz gdb-4df6dcd10d2756fd9d31fac4e6b1768c6360a084.tar.bz2 |
* config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Revise comment
regarding using the PC--using the PC is necessary and all the
FIXME comments in the world won't make it go away.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/config/mips/tm-mips.h | 21 |
2 files changed, 16 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 06de4db..3bd9f03 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ Thu Mar 24 07:12:09 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + * config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Revise comment + regarding using the PC--using the PC is necessary and all the + FIXME comments in the world won't make it go away. + * valops.c (value_at, value_at_lazy): Give error if we dereference a pointer to void. * gdbtypes.h: Fix comments regarding TYPE_CODE_VOID. diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 11326bf..fa214b4 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -431,15 +431,18 @@ typedef struct mips_extra_func_info { fi->proc_desc->pdr.frameoffset); \ } -/* It takes two values to specify a frame on the MIPS. Sigh. - - In fact, at the moment, the *PC* is the primary value that sets up - a frame. The PC is looked up to see what function it's in; symbol - information from that function tells us which register is the frame - pointer base, and what offset from there is the "virtual frame pointer". - (This is usually an offset from SP.) FIXME -- this should be cleaned - up so that the primary value is the SP, and the PC is used to disambiguate - multiple functions with the same SP that are at different stack levels. */ +/* It takes two values to specify a frame on the MIPS. + + In fact, the *PC* is the primary value that sets up a frame. The + PC is looked up to see what function it's in; symbol information + from that function tells us which register is the frame pointer + base, and what offset from there is the "virtual frame pointer". + (This is usually an offset from SP.) On most non-MIPS machines, + the primary value is the SP, and the PC, if needed, disambiguates + multiple functions with the same SP. But on the MIPS we can't do + that since the PC is not stored in the same part of the frame every + time. This does not seem to be a very clever way to set up frames, + but there is nothing we can do about that). */ #define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv) /* FIXME: Depends on equivalence between FRAME and "struct frame_info *", |