* 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:
parent
7730bd5acd
commit
841c051c44
|
@ -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
|
||||
|
|
16
gdb/tm-29k.h
16
gdb/tm-29k.h
|
@ -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
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
Loading…
Reference in New Issue