* inferior.h: Eliminate CANNOT_EXECUTE_STACK in favor of

defining CALL_DUMMY_LOCATION as BEFORE_TEXT_END.  This is
because machines that do this will also have to know to
set NEED_TEXT_START_END.  Besides, it was a redundant way to
say the same thing.
* tm-29k.h, tm-convex.h, tm-np1.h:  Eliminate
CANNOT_EXECUTE_STACK, define CALL_DUMMY_LOCATION and
NEED_TEXT_START_END.
This commit is contained in:
John Gilmore 1991-09-13 07:22:50 +00:00
parent 7730bd5acd
commit 841c051c44
4 changed files with 20 additions and 13 deletions

View File

@ -187,11 +187,7 @@ int attach_flag;
#define AFTER_TEXT_END 3
#if !defined (CALL_DUMMY_LOCATION)
#if defined (CANNOT_EXECUTE_STACK)
#define CALL_DUMMY_LOCATION BEFORE_TEXT_END
#else /* Can execute stack. */
#define CALL_DUMMY_LOCATION ON_STACK
#endif /* Can execute stack. */
#endif /* No CALL_DUMMY_LOCATION. */
/* Are we in a call dummy? The code below which allows DECR_PC_AFTER_BREAK

View File

@ -344,10 +344,10 @@ CORE_ADDR skip_prologue ();
macros, it doesn't really matter exactly how we
do it. However, note that FRAME_FP is used in two ways in GDB:
(1) as a "magic cookie" which uniquely identifies frames (even over
calls to the inferior), (2) (in PC_IN_CALL_DUMMY [!CANNOT_EXECUTE_STACK])
calls to the inferior), (2) (in PC_IN_CALL_DUMMY [ON_STACK])
as the value of SP_REGNUM before the dummy frame was pushed. These
two meanings would be incompatible for the 29k if we didn't define
CANNOT_EXECUTE_STACK (but we do, so don't worry about it).
two meanings would be incompatible for the 29k if we defined
CALL_DUMMY_LOCATION == ON_STACK (but we don't, so don't worry about it).
Also note that "lr1" below, while called a frame pointer
in the user's guide, has only one function: To determine whether
registers need to be filled in the function epilogue.
@ -645,12 +645,18 @@ extern void pop_frame ();
STUFF_I16((char *)dummyname + CONST_INSN + 4, fun >> 16);\
}
/* At least our 29k board has separate data & instruction memories and can't
execute the data memory. Also, there should be space after text_end;
/* 29k architecture has separate data & instruction memories -- wired to
different pins on the chip -- and can't execute the data memory.
Also, there should be space after text_end;
we won't get a SIGSEGV or scribble on data space. */
#define CALL_DUMMY_LOCATION AFTER_TEXT_END
/* Because of this, we need (as a kludge) to know the addresses of the
text section. */
#define NEED_TEXT_START_END
/* How to translate register numbers in the .stab's into gdb's internal register
numbers. We don't translate them, but we warn if an invalid register
number is seen. Note that FIXME, we use the value "sym" as an implicit

View File

@ -302,9 +302,6 @@ extern struct value *value_of_trapped_internalvar ();
/* Pcc occaisionally puts an SO where there should be an SOL. */
#define PCC_SOL_BROKEN
/* Cannot execute with pc on the stack. */
#define CANNOT_EXECUTE_STACK
/* Describe the pointer in each stack frame to the previous stack frame
(its caller). */
@ -330,6 +327,11 @@ extern struct value *value_of_trapped_internalvar ();
/* Define other aspects of the stack frame. */
/* We need the boundaries of the text in the exec file, as a kludge,
for FRAMELESS_FUNCTION_INVOCATION and CALL_DUMMY_LOCATION. */
#define NEED_TEXT_START_END
/* A macro that tells us whether the function invocation represented
by FI does not have a frame on the stack associated with it. If it
does not, FRAMELESS is set to 1, else 0.
@ -451,6 +453,8 @@ extern struct value *value_of_trapped_internalvar ();
/* Things needed for making the inferior call functions. */
#define CALL_DUMMY_LOCATION BEFORE_TEXT_END
/* Push an empty stack frame, to record the current PC, etc. */
#define PUSH_DUMMY_FRAME \

View File

@ -387,7 +387,8 @@ extern struct type *builtin_type_np1_vector;
/* Things needed for making the inferior call functions. */
#define CANNOT_EXECUTE_STACK
#define CALL_DUMMY_LOCATION BEFORE_TEXT_END
#define NEED_TEXT_START_END
/* Push an empty stack frame, to record the current PC, etc. */