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/config | |
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/config')
-rw-r--r-- | gdb/config/mips/tm-mips.h | 21 |
1 files changed, 12 insertions, 9 deletions
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 *", |