From: Jim Kingdon Date: Fri, 25 Mar 1994 01:38:24 +0000 (+0000) Subject: * config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Revise comment X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=4df6dcd10d2756fd9d31fac4e6b1768c6360a084;p=deliverable%2Fbinutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 06de4db604..3bd9f03bc7 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 11326bf145..fa214b478a 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 *",