linux.h (MD_UNWIND_SUPPORT): Remove.

gcc:
	* config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
	* config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
	* config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
	* config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
	* config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
	* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
	* config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
	* config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
	* config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
	* config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
	* config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
	* config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
	* config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
	* config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
	* config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
	* config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
	* config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
	* config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
	* config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
	* config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
	* config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
	* config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
	* config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
	* config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
	* config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
	* config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
	* config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
	* system.h (MD_UNWIND_SUPPORT): Poison.
	* doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
	* doc/tm.texi: Regenerate.
	* unwind-dw2.c: Include md-unwind-support.h instead of
	MD_UNWIND_SUPPORT.
	* config/ia64/unwind-ia64.c: Likewise.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise.

	libgcc:
	* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
	* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
	* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
	* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
	* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
	Wrap in !__MINGW64__.
	* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
	* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
	* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
	* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
	* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
	* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
	* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
	Wrap in !__LP64__.
	* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
	* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
	* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
	* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
	* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
	* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
	* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
	* config/no-unwind.h: New file.
	* config.host (md_unwind_header): Document.
	Define.
	(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
	alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
	hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
	hppa[12]*-*-hpux11*): Set md_unwind_header.
	(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
	Set md_unwind_header.
	(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
	(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
	(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
	m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
	powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
	s390x-*-linux*,  s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
	sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
	md_unwind_header.
	* configure.ac: Link md-unwind-support.h to $md_unwind_header.
	* configure: Regenerate.

From-SVN: r174613
This commit is contained in:
Rainer Orth 2011-06-03 18:30:39 +00:00 committed by Rainer Orth
parent 34e0c8d5fe
commit 58cd1d70dd
59 changed files with 218 additions and 101 deletions

View File

@ -1,3 +1,60 @@
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
* config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
* config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
* config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
* config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
* config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
* config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
* config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
* config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
* config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
* config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
* config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
* config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
* config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
* config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
* config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
* config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
* config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
* config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
* config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
* config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
* config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
* config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
* config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
* config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
* config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
* config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
* system.h (MD_UNWIND_SUPPORT): Poison.
* doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
* doc/tm.texi: Regenerate.
* unwind-dw2.c: Include md-unwind-support.h instead of
MD_UNWIND_SUPPORT.
* config/ia64/unwind-ia64.c: Likewise.
* config/xtensa/unwind-dw2-xtensa.c: Likewise.
2011-06-03 Jack Howarth <howarth@bromo.med.uc.edu>
* varpool.c (varpool_extra_name_alias): Return NULL, not false.

View File

@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for Alpha Linux-based GNU systems.
Copyright (C) 1996, 1997, 1998, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
2010 Free Software Foundation, Inc.
2010, 2011 Free Software Foundation, Inc.
Contributed by Richard Henderson.
This file is part of GCC.
@ -84,8 +84,6 @@ along with GCC; see the file COPYING3. If not see
#define USE_LD_AS_NEEDED 1
#endif
#define MD_UNWIND_SUPPORT "config/alpha/linux-unwind.h"
/* Define if long doubles should be mangled as 'g'. */
#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING

View File

@ -274,5 +274,3 @@ __enable_execute_stack (void *addr) \
/* Handle #pragma extern_prefix. */
#define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 1
#define MD_UNWIND_SUPPORT "config/alpha/osf5-unwind.h"

View File

@ -225,14 +225,6 @@ typedef struct {int num_args; enum avms_arg_type atypes[6];} avms_arg_info;
#define LINK_EH_SPEC "vms-dwarf2eh.o%s "
#define LINK_GCC_C_SEQUENCE_SPEC "%G"
#ifdef IN_LIBGCC2
/* Get the definition for MD_FALLBACK_FRAME_STATE_FOR from a separate
file. This avoids having to recompile the world instead of libgcc only
when changes to this macro are exercised. */
#define MD_UNWIND_SUPPORT "config/alpha/vms-unwind.h"
#endif
#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
avms_asm_output_external (FILE, DECL, NAME)

View File

@ -48,7 +48,5 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-dynamic-linker /lib/ld-uClibc.so.0} \
%{static}} -init __init -fini __fini"
#define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h"
#undef TARGET_SUPPORTS_SYNC_CALLS
#define TARGET_SUPPORTS_SYNC_CALLS 1

View File

@ -32,8 +32,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
%{mfast-fp:-lbffastfp} %G %L %{mfast-fp:-lbffastfp} %G \
"
#define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h"
/* Like the definition in gcc.c, but for purposes of uClinux, every link is
static. */
#define MFWRAP_SPEC " %{fmudflap|fmudflapth: \

View File

@ -1,5 +1,5 @@
/* Target definitions for Darwin (Mac OS X) systems.
Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
Copyright (C) 2006, 2007, 2010, 2011 Free Software Foundation, Inc.
Contributed by Apple Inc.
This file is part of GCC.
@ -35,9 +35,6 @@ along with GCC; see the file COPYING3. If not see
/* Tell collect2 to run dsymutil for us as necessary. */
#define COLLECT_RUN_DSYMUTIL 1
/* libSystem contains unwind information for signal frames. */
#define DARWIN_LIBSYSTEM_HAS_UNWIND
#undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
do { \

View File

@ -22,5 +22,3 @@ along with GCC; see the file COPYING3. If not see
#define GNU_USER_LINK_EMULATION "elf_i386"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"

View File

@ -26,5 +26,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"

View File

@ -241,12 +241,6 @@ __enable_execute_stack (void *addr) \
#include <windows.h>
#endif
/* For 64-bit Windows we can't use DW2 unwind info. Also for multilib
builds we can't use it, too. */
#if !TARGET_64BIT_DEFAULT && !defined (TARGET_BI_ARCH)
#define MD_UNWIND_SUPPORT "config/i386/w32-unwind.h"
#endif
/* This matches SHLIB_SONAME and SHLIB_SOVERSION in t-cygming. */
/* This matches SHLIB_SONAME and SHLIB_SOVERSION in t-cygwin. */
#if DWARF2_UNWIND_INFO

View File

@ -171,5 +171,3 @@ along with GCC; see the file COPYING3. If not see
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
#define MD_UNWIND_SUPPORT "config/i386/sol2-unwind.h"

View File

@ -77,8 +77,6 @@ do { \
#undef LINK_EH_SPEC
#define LINK_EH_SPEC ""
#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
/* Put all *tf routines in libgcc. */
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1

View File

@ -1,7 +1,7 @@
/* Subroutines needed for unwinding IA-64 standard format stack frame
info for exception handling.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006,
2009 Free Software Foundation, Inc.
2009, 2011 Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@cygnus.com>
Andrew Haley <aph@cygnus.com>
David Mosberger-Tang <davidm@hpl.hp.com>
@ -1767,9 +1767,7 @@ _Unwind_GetBSP (struct _Unwind_Context *context)
return (_Unwind_Ptr) context->bsp;
}
#ifdef MD_UNWIND_SUPPORT
#include MD_UNWIND_SUPPORT
#endif
#include "md-unwind-support.h"
static _Unwind_Reason_Code
uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)

View File

@ -185,8 +185,6 @@ typedef struct crtl_name_spec
/* Define this to be nonzero if static stack checking is supported. */
#define STACK_CHECK_STATIC_BUILTIN 1
#define MD_UNWIND_SUPPORT "config/ia64/vms-unwind.h"
#define UNW_IVMS_MODE(HEADER) (((HEADER) >> 44) & 0x3L)
#define MD_UNW_COMPATIBLE_PERSONALITY_P(HEADER) (!UNW_IVMS_MODE (HEADER))

View File

@ -235,5 +235,3 @@ along with GCC; see the file COPYING3. If not see
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#define MD_UNWIND_SUPPORT "config/m68k/linux-unwind.h"

View File

@ -99,8 +99,6 @@ along with GCC; see the file COPYING3. If not see
%{!shared: \
%{profile:-lc_p} %{!profile:-lc}}"
#define MD_UNWIND_SUPPORT "config/mips/linux-unwind.h"
#ifdef HAVE_AS_NO_SHARED
/* Default to -mno-shared for non-PIC. */
# define NO_SHARED_SPECS \

View File

@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HP-UX.
Copyright (C) 1991, 1995, 1996, 2002, 2003, 2004, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Copyright (C) 1991, 1995, 1996, 2002, 2003, 2004, 2007, 2008, 2009,
2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
@ -115,5 +115,3 @@ along with GCC; see the file COPYING3. If not see
compatibility with the HP-UX unwind library. */
#undef TARGET_HPUX_UNWIND_LIBRARY
#define TARGET_HPUX_UNWIND_LIBRARY 1
#define MD_UNWIND_SUPPORT "config/pa/hpux-unwind.h"

View File

@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF-32 format
Copyright (C) 2000, 2002, 2004, 2006, 2007, 2010
Copyright (C) 2000, 2002, 2004, 2006, 2007, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@ -63,5 +63,3 @@ call_ ## FUNC (void) \
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#define MD_UNWIND_SUPPORT "config/pa/linux-unwind.h"

View File

@ -381,10 +381,6 @@ extern int darwin_emit_branch_islands;
#include <stdbool.h>
#endif
#if !defined(__LP64__) && !defined(DARWIN_LIBSYSTEM_HAS_UNWIND)
#define MD_UNWIND_SUPPORT "config/rs6000/darwin-unwind.h"
#endif
/* True, iff we're generating fast turn around debugging code. When
true, we arrange for function prologues to start with 5 nops so
that gdb may insert code to redirect them, and for data to be

View File

@ -113,8 +113,6 @@
#define TARGET_POSIX_IO
#define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
#ifdef TARGET_LIBC_PROVIDES_SSP
/* ppc32 glibc provides __stack_chk_guard in -0x7008(2). */
#define TARGET_THREAD_SSP_OFFSET -0x7008

View File

@ -539,8 +539,6 @@ extern int dot_symbols;
#define USE_LD_AS_NEEDED 1
#endif
#define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
#ifdef TARGET_LIBC_PROVIDES_SSP
/* ppc32 glibc provides __stack_chk_guard in -0x7008(2),
ppc64 glibc provides it at -0x7010(13). */

View File

@ -79,8 +79,6 @@ along with GCC; see the file COPYING3. If not see
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
#define MD_UNWIND_SUPPORT "config/s390/linux-unwind.h"
#ifdef TARGET_LIBC_PROVIDES_SSP
/* s390 glibc provides __stack_chk_guard in 0x14(tp),
s390x glibc provides it at 0x28(tp). */

View File

@ -118,8 +118,6 @@ along with GCC; see the file COPYING3. If not see
%{!shared:-shared} \
%(entry_spec)"
#define MD_UNWIND_SUPPORT "config/s390/tpf-unwind.h"
/* IBM copies these libraries over with these names. */
#define MATH_LIBRARY "CLBM"
#define LIBSTDCXX "CPP1"

View File

@ -114,8 +114,6 @@ along with GCC; see the file COPYING3. If not see
} \
} while (0)
#define MD_UNWIND_SUPPORT "config/sh/linux-unwind.h"
/* For SH3 and SH4, we use a slot of the unwind frame which correspond
to a fake register number 16 as a placeholder for the return address
in MD_FALLBACK_FRAME_STATE_FOR and its content will be read with

View File

@ -141,8 +141,6 @@ do { \
/* Static stack checking is supported by means of probes. */
#define STACK_CHECK_STATIC_BUILTIN 1
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
TMO, and TMO in multiprocessor mode. But they reserve the right to
change their minds. */

View File

@ -261,8 +261,6 @@ do { \
/* Static stack checking is supported by means of probes. */
#define STACK_CHECK_STATIC_BUILTIN 1
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
TMO, and TMO in multiprocessor mode. But they reserve the right to
change their minds. */

View File

@ -196,5 +196,3 @@ along with GCC; see the file COPYING3. If not see
/* Static stack checking is supported by means of probes. */
#define STACK_CHECK_STATIC_BUILTIN 1
#define MD_UNWIND_SUPPORT "config/sparc/sol2-unwind.h"

View File

@ -64,5 +64,3 @@ along with GCC; see the file COPYING3. If not see
#undef DBX_REGISTER_NUMBER
#define MD_UNWIND_SUPPORT "config/xtensa/linux-unwind.h"

View File

@ -1,6 +1,6 @@
/* DWARF2 exception handling and frame unwinding for Xtensa.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009
2007, 2008, 2009, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@ -208,9 +208,7 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *context)
return (_Unwind_Ptr) context->bases.tbase;
}
#ifdef MD_UNWIND_SUPPORT
#include MD_UNWIND_SUPPORT
#endif
#include "md-unwind-support.h"
/* Extract any interesting information from the CIE for the translation
unit F belongs to. Return a pointer to the byte after the augmentation,

View File

@ -1,5 +1,5 @@
@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ -3373,11 +3373,6 @@ of bytes that the format occupies, @var{addr} is the @code{SYMBOL_REF}
to be emitted.
@end defmac
@defmac MD_UNWIND_SUPPORT
A string specifying a file to be #include'd in unwind-dw2.c. The file
so included typically defines @code{MD_FALLBACK_FRAME_STATE_FOR}.
@end defmac
@defmac MD_FALLBACK_FRAME_STATE_FOR (@var{context}, @var{fs})
This macro allows the target to add CPU and operating system specific
code to the call-frame unwinder for use when there is no unwind data

View File

@ -1,5 +1,5 @@
@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ -3361,11 +3361,6 @@ of bytes that the format occupies, @var{addr} is the @code{SYMBOL_REF}
to be emitted.
@end defmac
@defmac MD_UNWIND_SUPPORT
A string specifying a file to be #include'd in unwind-dw2.c. The file
so included typically defines @code{MD_FALLBACK_FRAME_STATE_FOR}.
@end defmac
@defmac MD_FALLBACK_FRAME_STATE_FOR (@var{context}, @var{fs})
This macro allows the target to add CPU and operating system specific
code to the call-frame unwinder for use when there is no unwind data

View File

@ -763,7 +763,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
/* Target macros only used for code built for the target, that have
moved to libgcc-tm.h or have never been present elsewhere. */
#pragma GCC poison DECLARE_LIBRARY_RENAMES LIBGCC2_GNU_PREFIX
#pragma GCC poison DECLARE_LIBRARY_RENAMES LIBGCC2_GNU_PREFIX \
MD_UNWIND_SUPPORT
/* Other obsolete target macros, or macros that used to be in target
headers and were not used, and may be obsolete or may never have

View File

@ -333,9 +333,7 @@ _Unwind_GetTextRelBase (struct _Unwind_Context *context)
}
#endif
#ifdef MD_UNWIND_SUPPORT
#include MD_UNWIND_SUPPORT
#endif
#include "md-unwind-support.h"
/* Extract any interesting information from the CIE for the translation
unit F belongs to. Return a pointer to the byte after the augmentation,

View File

@ -1,3 +1,48 @@
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
Wrap in !__MINGW64__.
* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
Wrap in !__LP64__.
* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
* config/no-unwind.h: New file.
* config.host (md_unwind_header): Document.
Define.
(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
hppa[12]*-*-hpux11*): Set md_unwind_header.
(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
Set md_unwind_header.
(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
s390x-*-linux*, s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
md_unwind_header.
* configure.ac: Link md-unwind-support.h to $md_unwind_header.
* configure: Regenerate.
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.host (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.

View File

@ -50,6 +50,8 @@
# If either is set, EXTRA_PARTS and
# EXTRA_MULTILIB_PARTS inherited from the GCC
# subdirectory will be ignored.
# md_unwind_header The name of a header file defining
# MD_FALLBACK_FRAME_STATE_FOR.
# tmake_file A list of machine-description-specific
# makefile-fragments, if different from
# "$cpu_type/t-$cpu_type".
@ -57,6 +59,7 @@
asm_hidden_op=.hidden
extra_parts=
tmake_file=
md_unwind_header=no-unwind.h
# Set default cpu_type so it can be updated in each machine entry.
cpu_type=`echo ${host} | sed 's/-.*$//'`
@ -210,6 +213,7 @@ case ${host} in
alpha*-*-linux*)
tmake_file="${tmake_file} alpha/t-crtfm"
extra_parts="$extra_parts crtfastmath.o"
md_unwind_header=alpha/linux-unwind.h
;;
alpha*-*-freebsd*)
;;
@ -225,12 +229,15 @@ alpha*-dec-osf5.1*)
;;
esac
extra_parts="${extra_parts} qrnnd.o crtfastmath.o gthr-posix.o"
md_unwind_header=alpha/osf5-unwind.h
;;
alpha64-dec-*vms*)
tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms"
md_unwind_header=alpha/vms-unwind.h
;;
alpha*-dec-*vms*)
tmake_file="vms/t-vms alpha/t-vms"
md_unwind_header=alpha/vms-unwind.h
;;
arm-wrs-vxworks)
;;
@ -261,11 +268,13 @@ avr-*-*)
bfin*-elf*)
;;
bfin*-uclinux*)
md_unwind_header=bfin/linux-unwind.h
;;
bfin*-linux-uclibc*)
# No need to build crtbeginT.o on uClibc systems. Should probably
# be moved to the OS specific section above.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
md_unwind_header=bfin/linux-unwind.h
;;
bfin*-*)
;;
@ -289,12 +298,16 @@ h8300-*-elf*)
hppa*64*-*-linux*)
;;
hppa*-*-linux*)
md_unwind_header=pa/pa32-linux.h
;;
hppa[12]*-*-hpux10*)
md_unwind_header=pa/hpux-unwind.h
;;
hppa*64*-*-hpux11*)
md_unwind_header=pa/hpux-unwind.h
;;
hppa[12]*-*-hpux11*)
md_unwind_header=pa/hpux-unwind.h
;;
i[34567]86-*-darwin*)
;;
@ -319,13 +332,15 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
;;
i[34567]86-*-openbsd*)
;;
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
md_unwind_header=i386/linux-unwind.h
;;
x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
md_unwind_header=i386/linux-unwind.h
;;
i[34567]86-pc-msdosdjgpp*)
;;
@ -347,13 +362,19 @@ i[34567]86-*-rtems*)
i[34567]86-*-solaris2*)
tmake_file="$tmake_file i386/t-crtfm"
extra_parts="$extra_parts crtfastmath.o"
md_unwind_header=i386/sol2-unwind.h
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
;;
i[34567]86-*-cygwin* | i[34567]86-*-mingw*)
i[34567]86-*-cygwin*)
extra_parts="crtbegin.o crtend.o crtfastmath.o"
tmake_file="i386/t-cygming i386/t-crtfm"
;;
i[34567]86-*-mingw*)
extra_parts="crtbegin.o crtend.o crtfastmath.o"
tmake_file="i386/t-cygming i386/t-crtfm"
md_unwind_header=i386/w32-unwind.h
;;
x86_64-*-mingw*)
;;
i[34567]86-*-interix3*)
@ -369,11 +390,13 @@ ia64*-*-freebsd*)
ia64*-*-linux*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
tmake_file="ia64/t-ia64 t-softfp ia64/t-fprules-softfp ia64/t-softfp-compat"
md_unwind_header=ia64/linux-unwind.h
;;
ia64*-*-hpux*)
;;
ia64-hp-*vms*)
tmake_file="vms/t-vms vms/t-vms64 ia64/t-vms"
md_unwind_header=ia64/vms-unwind.h
;;
iq2000*-*-elf*)
;;
@ -400,10 +423,12 @@ m68k*-*-netbsdelf*)
m68k*-*-openbsd*)
;;
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
md_unwind_header=m68k/linux-unwind.h
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
m68k-*-linux*) # Motorola m68k's running GNU/Linux
# with ELF format using glibc 2
# aka the GNU/Linux C library 6.
md_unwind_header=m68k/linux-unwind.h
;;
m68k-*-rtems*)
;;
@ -421,10 +446,12 @@ mips*-*-netbsd*) # NetBSD/mips, either endian.
mips64*-*-linux*)
extra_parts="$extra_parts crtfastmath.o"
tmake_file="{$tmake_file} mips/t-crtfm"
md_unwind_header=mips/linux-unwind.h
;;
mips*-*-linux*) # Linux MIPS, either endian.
extra_parts="$extra_parts crtfastmath.o"
tmake_file="{$tmake_file} mips/t-crtfm"
md_unwind_header=mips/linux-unwind.h
;;
mips*-*-openbsd*)
;;
@ -469,6 +496,15 @@ pdp11-*-*)
picochip-*-*)
;;
powerpc-*-darwin*)
case ${host} in
*-*-darwin9* | *-*-darwin[12][0-9]*)
# libSystem contains unwind information for signal frames since
# Darwin 9.
;;
*)
md_unwind_header=rs6000/darwin-unwind.h
;;
esac
;;
powerpc64-*-darwin*)
;;
@ -495,6 +531,7 @@ powerpc-*-rtems*)
;;
powerpc-*-linux* | powerpc64-*-linux*)
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-ldbl128 t-softfp"
md_unwind_header=rs6000/linux-unwind.h
;;
powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
;;
@ -518,12 +555,15 @@ rx-*-elf)
;;
s390-*-linux*)
tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
md_unwind_header=s390/linux-unwind.h
;;
s390x-*-linux*)
tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
md_unwind_header=s390/linux-unwind.h
;;
s390x-ibm-tpf*)
tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf"
md_unwind_header-s390/tpf-unwind.h
;;
score-*-elf)
;;
@ -534,6 +574,7 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
case ${host} in
sh*-*-linux*)
tmake_file="${tmake_file} sh/t-linux"
md_unwind_header=sh/unwind-linux.h
;;
esac
;;
@ -559,6 +600,7 @@ sparc-*-elf*)
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} t-crtfm"
md_unwind_header=sparc/linux.h
;;
sparc-*-rtems* | sparc64-*-rtems* )
tmake_file="sparc/t-elf t-crtin t-crtfm t-rtems"
@ -567,6 +609,7 @@ sparc-*-rtems* | sparc64-*-rtems* )
sparc*-*-solaris2*)
tmake_file="$tmake_file t-crtfm"
extra_parts="$extra_parts crtfastmath.o"
md_unwind_header=sparc/sol2-unwind.h
;;
sparc64-*-elf*)
tmake_file="${tmake_file} t-crtin t-crtfm"
@ -579,6 +622,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} t-crtfm"
md_unwind_header=sparc/linux-unwind.h
;;
sparc64-*-netbsd*)
;;
@ -601,6 +645,7 @@ xstormy16-*-elf)
xtensa*-*-elf*)
;;
xtensa*-*-linux*)
md_unwind_header=xtensa/linux-unwind.h
;;
am33_2.0-*-linux*)
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"

View File

@ -1,5 +1,5 @@
/* Definitions for Dwarf2 EH unwind support for Windows32 targets
Copyright (C) 2007, 2009, 2010
Copyright (C) 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Pascal Obry <obry@adacore.com>
@ -82,6 +82,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
Note that this implementation follows closely the same principles as the
GNU/Linux and OSF ones. */
#ifndef __MINGW64__
#define WIN32_MEAN_AND_LEAN
#include <windows.h>
/* Patterns found experimentally to be on a Windows signal handler */
@ -202,3 +204,5 @@ i386_w32_fallback_frame_state (struct _Unwind_Context *context,
else
return _URC_END_OF_STACK;
}
#endif /* !__MINGW64__ */

View File

@ -0,0 +1,2 @@
/* Dummy header for targets without a definition of
MD_FALLBACK_FRAME_STATE_FOR. */

View File

@ -1,5 +1,5 @@
/* DWARF2 EH unwinding support for Darwin.
Copyright (C) 2004, 2009 Free Software Foundation, Inc.
/* DWARF2 EH unwinding support for 32-bit PowerPC Darwin.
Copyright (C) 2004, 2009, 2011 Free Software Foundation, Inc.
This file is part of GCC.
@ -22,9 +22,13 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
#ifndef __LP64__
extern bool _Unwind_fallback_frame_state_for
(struct _Unwind_Context *context, _Unwind_FrameState *fs);
#define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS) \
(_Unwind_fallback_frame_state_for (CONTEXT, FS) \
? _URC_NO_REASON : _URC_END_OF_STACK)
#endif

41
libgcc/configure vendored
View File

@ -3962,6 +3962,8 @@ tmake_file="${tmake_file_}"
ac_config_links="$ac_config_links md-unwind-support.h:config/$md_unwind_header"
# We need multilib support.
ac_config_files="$ac_config_files Makefile"
@ -4532,6 +4534,7 @@ esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_links="$ac_config_links"
config_commands="$ac_config_commands"
_ACEOF
@ -4556,6 +4559,9 @@ Usage: $0 [OPTION]... [TAG]...
Configuration files:
$config_files
Configuration links:
$config_links
Configuration commands:
$config_commands
@ -4683,6 +4689,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"md-unwind-support.h") CONFIG_LINKS="$CONFIG_LINKS md-unwind-support.h:config/$md_unwind_header" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
@ -4697,6 +4704,7 @@ done
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi
@ -4876,7 +4884,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
eval set X " :F $CONFIG_FILES :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
shift
for ac_tag
do
@ -5089,7 +5097,38 @@ which seems to be undefined. Please make sure it is defined." >&2;}
|| as_fn_error "could not create $ac_file" "$LINENO" 5
;;
:L)
#
# CONFIG_LINK
#
if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
:
else
# Prefer the file from the source tree if names are identical.
if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
ac_source=$srcdir/$ac_source
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
if test ! -r "$ac_source"; then
as_fn_error "$ac_source: file not found" "$LINENO" 5
fi
rm -f "$ac_file"
# Try a relative symlink, then a hard link, then a copy.
case $srcdir in
[\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
*) ac_rel_source=$ac_top_build_prefix$ac_source ;;
esac
ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
ln "$ac_source" "$ac_file" 2>/dev/null ||
cp -p "$ac_source" "$ac_file" ||
as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
fi
;;
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
;;

View File

@ -278,6 +278,7 @@ AC_SUBST(tmake_file)
AC_SUBST(cpu_type)
AC_SUBST(extra_parts)
AC_SUBST(asm_hidden_op)
AC_CONFIG_LINKS([md-unwind-support.h:config/$md_unwind_header])
# We need multilib support.
AC_CONFIG_FILES([Makefile])