From a480e8269bca6bffb4782475d5b5c6ef555ec78b Mon Sep 17 00:00:00 2001 From: James E Wilson Date: Tue, 11 Sep 2007 21:34:34 -0700 Subject: [PATCH] defaults.h (DWARF2_UNWIND_INFO): Don't define if TARGET_UNWIND_INFO is defined. 2007-09-11 James E. Wilson * defaults.h (DWARF2_UNWIND_INFO): Don't define if TARGET_UNWIND_INFO is defined. * config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef after definition. From-SVN: r128409 --- gcc/ChangeLog | 7 +++++++ gcc/config/ia64/ia64.h | 12 ------------ gcc/defaults.h | 3 ++- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd983fb65c7..1d83d9d02c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-09-11 James E. Wilson + + * defaults.h (DWARF2_UNWIND_INFO): Don't define if + TARGET_UNWIND_INFO is defined. + * config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef + after definition. + 2007-09-12 Kaz Kojima * config/sh/sh.c (calc_live_regs): Use diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 941603865a7..5d32b702538 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -936,18 +936,6 @@ enum reg_class unwind info for C++ EH. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (VOIDmode, BR_REG (0)) -/* ??? This is not defined because of three problems. - 1) dwarf2out.c assumes that DWARF_FRAME_RETURN_COLUMN fits in one byte. - The default value is FIRST_PSEUDO_REGISTER which doesn't. This can be - worked around by setting PC_REGNUM to FR_REG (0) which is an otherwise - unused register number. - 2) dwarf2out_frame_debug core dumps while processing prologue insns. We - need to refine which insns have RTX_FRAME_RELATED_P set and which don't. - 3) It isn't possible to turn off EH frame info by defining DWARF2_UNIND_INFO - to zero, despite what the documentation implies, because it is tested in - a few places with #ifdef instead of #if. */ -#undef INCOMING_RETURN_ADDR_RTX - /* A C expression whose value is an integer giving the offset, in bytes, from the value of the stack pointer register to the top of the stack frame at the beginning of any function, before the prologue. The top of the frame is diff --git a/gcc/defaults.h b/gcc/defaults.h index 698438f920d..a217276746c 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -321,7 +321,8 @@ along with GCC; see the file COPYING3. If not see /* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that the rest of the DWARF 2 frame unwind support is also provided. */ -#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) +#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) \ + && !defined (TARGET_UNWIND_INFO) #define DWARF2_UNWIND_INFO 1 #endif