From 685c9c11b83de030b3b1cc795e01c741393de591 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 27 Apr 2005 18:33:37 +0000 Subject: [PATCH] arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame pointer when thumb backtracing is on. * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame pointer when thumb backtracing is on. * config/fp-bit.c (abort): Revert change. From-SVN: r98872 --- gcc/ChangeLog | 7 +++++++ gcc/config/arm/arm.h | 4 +++- gcc/config/fp-bit.c | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 944989ebf1b..7e2c452ff14 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-04-27 Nathan Sidwell + + * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame + pointer when thumb backtracing is on. + + * config/fp-bit.c (abort): Revert change. + 2005-04-27 Ian Lance Taylor * c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P. diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index e6a049b9067..b79e02861b5 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -926,7 +926,9 @@ extern const char * structure_size_string; _interwork_r11_call_via_rN(). Making the register global \ is an easy way of ensuring that it remains valid for all \ calls. */ \ - if (TARGET_APCS_FRAME || TARGET_CALLER_INTERWORKING) \ + if (TARGET_APCS_FRAME || TARGET_CALLER_INTERWORKING \ + || (target_flags & (THUMB_FLAG_LEAF_BACKTRACE \ + | THUMB_FLAG_BACKTRACE))) \ { \ fixed_regs[ARM_HARD_FRAME_POINTER_REGNUM] = 1; \ call_used_regs[ARM_HARD_FRAME_POINTER_REGNUM] = 1; \ diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 1229bf7e6b8..795e67ad36a 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -81,7 +81,7 @@ Boston, MA 02111-1307, USA. */ #endif #ifdef EXTENDED_FLOAT_STUBS -extern __attribute__ ((__noreturn__)) void abort (void); +extern void abort (void); void __extendsfxf2 (void) { abort(); } void __extenddfxf2 (void) { abort(); } void __truncxfdf2 (void) { abort(); }