* inferior.h: Eliminate CANNOT_EXECUTE_STACK in favor of
authorJohn Gilmore <gnu@cygnus>
Fri, 13 Sep 1991 07:22:50 +0000 (07:22 +0000)
committerJohn Gilmore <gnu@cygnus>
Fri, 13 Sep 1991 07:22:50 +0000 (07:22 +0000)
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.

gdb/inferior.h
gdb/tm-29k.h
gdb/tm-convex.h
gdb/tm-np1.h

index 151c2c2b25c1ffda33ddff83f78432b708a8dcf2..eed848ceffac150560521500b56a0aa6858f3f6f 100644 (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
index fceeb88c4204e5705ee31ba22703792d0822308d..5330a23d0a24630f8671b6fffdbf42eae4aae102 100644 (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
index 405dc800ce58b57b5fe36d515d683e60ab9dc7a6..be981b7aa917d5ad65b994c3786fd51d3ce38762 100644 (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
 \f
 /* 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 ();
 \f
 /* 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 \
index 39ff57d990249df5fb986bd4795e2a54912d3631..78aebb006acc853dd6157101e8fa2e20cfb7ab60 100644 (file)
@@ -387,7 +387,8 @@ extern struct type *builtin_type_np1_vector;
 \f
 /* 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.  */