From 1144563fbc40c80298e1477c67c0614d1e9a917e Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 20 Feb 1996 12:22:49 -0700 Subject: [PATCH] pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters. * pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters. * pa.c (hppa_expand_epilogue): Always emit a blockage insn before cutting back the stack. From-SVN: r11327 --- gcc/config/pa/pa.c | 10 ++++++---- gcc/config/pa/pa.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 5c00d45..2c3e014 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2475,6 +2475,12 @@ hppa_expand_epilogue () gen_rtx (POST_INC, DFmode, tmpreg))); } + /* Emit a blockage insn here to keep these insns from being moved to + an earlier spot in the epilogue, or into the main instruction stream. + + This is necessary as we must not cut the stack back before all the + restores are finished. */ + emit_insn (gen_blockage ()); /* No frame pointer, but we have a stack greater than 8k. We restore %r2 very late in this case. (All other cases are restored as early as possible.) */ @@ -2499,10 +2505,6 @@ hppa_expand_epilogue () pointer is initially set to fp + 64 to avoid a race condition. */ else if (frame_pointer_needed) { - /* Emit a blockage insn here to keep these insns from being moved - to the beginning of the prologue or into the main instruction - stream, doing so avoids some very obscure problems. */ - emit_insn (gen_blockage ()); set_reg_plus_d (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, 64); emit_insn (gen_pre_ldwm (frame_pointer_rtx, stack_pointer_rtx, diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 3fd3be9..a61af99 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1596,7 +1596,7 @@ while (0) #define SLOW_BYTE_ACCESS 1 /* Do not break .stabs pseudos into continuations. */ -#define DBX_CONTIN_LENGTH 0 +#define DBX_CONTIN_LENGTH 4000 /* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits is done just by pretending it is already truncated. */ -- 2.7.4