mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
* 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.
This commit is contained in:
parent
27847c6f99
commit
4df6dcd10d
@ -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.
|
||||
|
@ -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.
|
||||
/* It takes two values to specify a frame on the MIPS.
|
||||
|
||||
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. */
|
||||
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 *",
|
||||
|
Loading…
Reference in New Issue
Block a user