2002-04-21 David S. Miller <davem@redhat.com>

* arch-utils.c (generic_prologue_frameless_p): Kill
	SKIP_PROLOGUE_FRAMELESS_P code.
	* config/arc/tm-arc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete
	references.
	(PROLOGUE_FRAMELESS_P, arc_prologue_frameless_p): New.
	* arc-tdep.c (arc_prologue_frameless_p): Implement.
	* config/arc/tm-sparc.h (SKIP_PROLOGUE_FRAMELESS_P): Delete
	references.
	(PROLOGUE_FRAMELESS_P, sparc_prologue_frameless_p): New.
	* sparc-tdep.c (sparc_prologue_frameless_p): Implement.
	(sparc_gdbarch_init): Pass it to
	set_gdbarch_prologue_frameless_p.
This commit is contained in:
David S. Miller
2002-04-22 00:27:39 +00:00
parent eaa7db9139
commit 9319a2feca
6 changed files with 42 additions and 26 deletions

View File

@@ -248,10 +248,7 @@ extern int sparc_intreg_size (void);
#define BELIEVE_PCC_PROMOTION 1
/* Advance PC across any function entry prologue instructions
to reach some "real" code. SKIP_PROLOGUE_FRAMELESS_P advances
the PC past some of the prologue, but stops as soon as it
knows that the function has a frame. Its result is equal
to its input PC if the function is frameless, unequal otherwise. */
to reach some "real" code. */
#define SKIP_PROLOGUE(PC) sparc_skip_prologue (PC, 0)
@@ -312,6 +309,10 @@ extern CORE_ADDR sparc32_stack_align (CORE_ADDR addr);
sparc_reg_struct_has_addr (GCC_P, TYPE)
extern int sparc_reg_struct_has_addr (int, struct type *);
/* Is the prologue at PC frameless? */
#define PROLOGUE_FRAMELESS_P(PC) sparc_prologue_frameless_p (PC)
extern int sparc_prologue_frameless_p (CORE_ADDR);
#endif /* GDB_MULTI_ARCH */
#if defined (GDB_MULTI_ARCH) && (GDB_MULTI_ARCH > 0)
@@ -333,15 +334,6 @@ extern int sparc_y_regnum (void);
#define PC_ADJUST(PC) sparc_pc_adjust (PC)
extern CORE_ADDR sparc_pc_adjust (CORE_ADDR);
/* Advance PC across any function entry prologue instructions to reach
some "real" code. SKIP_PROLOGUE_FRAMELESS_P advances the PC past
some of the prologue, but stops as soon as it knows that the
function has a frame. Its result is equal to its input PC if the
function is frameless, unequal otherwise. */
#define SKIP_PROLOGUE_FRAMELESS_P(PC) sparc_skip_prologue (PC, 1)
extern CORE_ADDR sparc_skip_prologue (CORE_ADDR, int);
/* If an argument is declared "register", Sun cc will keep it in a register,
never saving it onto the stack. So we better not believe the "p" symbol
descriptor stab. */