diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-15 21:41:16 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-15 21:41:16 +0000 |
commit | 3da2e0975b47ddd9ac4c762a4263c2ac7dba4379 (patch) | |
tree | 43a34e737f568cf4befde4eaa3fc41de57b903c4 /gcc/config/arm | |
parent | caa1595af210314675316780a6964d54a46c306d (diff) | |
download | gcc-3da2e0975b47ddd9ac4c762a4263c2ac7dba4379.tar.gz |
* gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
* libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
(__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
(__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
(atexit, exit): Simplify.
* tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
* config/lots: Remove defns of HAVE_ATEXIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29439 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/coff.h | 10 | ||||
-rw-r--r-- | gcc/config/arm/linux-elf.h | 3 | ||||
-rw-r--r-- | gcc/config/arm/linux-telf.h | 3 | ||||
-rw-r--r-- | gcc/config/arm/riscix.h | 8 | ||||
-rw-r--r-- | gcc/config/arm/riscix1-1.h | 13 | ||||
-rw-r--r-- | gcc/config/arm/tcoff.h | 6 | ||||
-rw-r--r-- | gcc/config/arm/telf.h | 4 | ||||
-rw-r--r-- | gcc/config/arm/thumb.h | 4 | ||||
-rw-r--r-- | gcc/config/arm/tpe.h | 4 | ||||
-rw-r--r-- | gcc/config/arm/unknown-elf.h | 10 |
10 files changed, 13 insertions, 52 deletions
diff --git a/gcc/config/arm/coff.h b/gcc/config/arm/coff.h index 87f969eddeb..8d8f5605b65 100644 --- a/gcc/config/arm/coff.h +++ b/gcc/config/arm/coff.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for ARM with COFF obj format. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. Contributed by Doug Evans (dje@cygnus.com). This file is part of GNU CC. @@ -208,14 +208,6 @@ dtors_section () \ #undef DO_GLOBAL_CTORS_BODY #undef DO_GLOBAL_DTORS_BODY -/* If you don't define HAVE_ATEXIT, and the object file format/OS/whatever - does not support constructors/destructors, then gcc implements destructors - by defining its own exit function, which calls the destructors. This gcc - exit function overrides the C library's exit function, and this can cause - all kinds of havoc if the C library has a non-trivial exit function. You - really don't want to use the exit function in libgcc2.c. */ -#define HAVE_ATEXIT - /* The ARM development system defines __main. */ #define NAME__MAIN "__gccmain" #define SYMBOL__MAIN __gccmain diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h index f7bd3b29fa2..39054902ba3 100644 --- a/gcc/config/arm/linux-elf.h +++ b/gcc/config/arm/linux-elf.h @@ -25,9 +25,6 @@ Boston, MA 02111-1307, USA. */ /* Do not assume anything about header files. */ #define NO_IMPLICIT_EXTERN_C -/* We have libgcc2. */ -#define HAVE_ATEXIT - #ifndef SUBTARGET_DEFAULT_APCS26 /* Default is to use APCS-32 mode. */ # define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE) diff --git a/gcc/config/arm/linux-telf.h b/gcc/config/arm/linux-telf.h index b6aca0b57b4..8be385295c3 100644 --- a/gcc/config/arm/linux-telf.h +++ b/gcc/config/arm/linux-telf.h @@ -19,9 +19,6 @@ along with this program; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* We have libgcc2. */ -#define HAVE_ATEXIT - #define SUBTARGET_EXTRA_ASM_SPEC \ " %{fPIC:-k} %{fpic:-k}" diff --git a/gcc/config/arm/riscix.h b/gcc/config/arm/riscix.h index fad0293337a..37bd1fe313c 100644 --- a/gcc/config/arm/riscix.h +++ b/gcc/config/arm/riscix.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. ARM RISCiX version. - Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1997, 1999 Free Software Foundation, Inc. Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) and Martin Simmons (@harleqn.co.uk). @@ -95,12 +95,6 @@ Boston, MA 02111-1307, USA. */ /* Unsigned chars produces much better code than signed. */ #define DEFAULT_SIGNED_CHAR 0 -/* Define this if the target system supports the function atexit from the - ANSI C standard. If this is not defined, and INIT_SECTION_ASM_OP is not - defined, a default exit function will be provided to support C++. - The man page only describes on_exit, but atexit is also there. */ -#define HAVE_ATEXIT 1 - /* Some systems use __main in a way incompatible with its use in gcc, in these cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to give the same symbol without quotes for an alternative entry point. You diff --git a/gcc/config/arm/riscix1-1.h b/gcc/config/arm/riscix1-1.h index e896a1eb033..568df54e828 100644 --- a/gcc/config/arm/riscix1-1.h +++ b/gcc/config/arm/riscix1-1.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. ARM RISCiX 1.1x version. - Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. + Copyright (C) 1993, 1995, 1997, 1999 Free Software Foundation, Inc. Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) and Martin Simmons (@harleqn.co.uk). @@ -62,12 +62,15 @@ Boston, MA 02111-1307, USA. */ #define DEFAULT_SIGNED_CHAR 1 #endif -/* Define this if the target system supports the function atexit form the - ANSI C standard. If this is not defined, and INIT_SECTION_ASM_OP is not +/* Define this if the target system lacks the function atexit from the + ANSI C standard. If this is defined, and ON_EXIT is not defined, a default exit function will be provided to support C++. The man page only describes on_exit, but atexit is also there. - This seems to be missing in early versions. */ -/*#define HAVE_ATEXIT 1 */ + This seems to be missing in early versions. + + FIXME Should we define ON_EXIT here? */ +#define NEED_ATEXIT + /* Some systems use __main in a way incompatible with its use in gcc, in these cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to give the same symbol without quotes for an alternative entry point. You diff --git a/gcc/config/arm/tcoff.h b/gcc/config/arm/tcoff.h index ece0ea4d045..5f14c1e3283 100644 --- a/gcc/config/arm/tcoff.h +++ b/gcc/config/arm/tcoff.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for Thumb with COFF obj format. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1999 Free Software Foundation, Inc. Derived from arm/coff.h originally by Doug Evans (dje@cygnus.com). This file is part of GNU CC. @@ -183,10 +183,6 @@ do { \ #undef DO_GLOBAL_CTORS_BODY #undef DO_GLOBAL_DTORS_BODY -/* The ARM development system has atexit and doesn't have _exit, - so define this for now. */ -#define HAVE_ATEXIT - /* The ARM development system defines __main. */ #define NAME__MAIN "__gccmain" #define SYMBOL__MAIN __gccmain diff --git a/gcc/config/arm/telf.h b/gcc/config/arm/telf.h index 14527ceef42..1f7bbb7c3b6 100644 --- a/gcc/config/arm/telf.h +++ b/gcc/config/arm/telf.h @@ -299,10 +299,6 @@ dtors_section () \ } \ while (0) -/* The ARM development system has atexit and doesn't have _exit, - so define this for now. */ -#define HAVE_ATEXIT - /* The ARM development system defines __main. */ #define NAME__MAIN "__gccmain" #define SYMBOL__MAIN __gccmain diff --git a/gcc/config/arm/thumb.h b/gcc/config/arm/thumb.h index 65d6d4ba9cc..9c30a30d639 100644 --- a/gcc/config/arm/thumb.h +++ b/gcc/config/arm/thumb.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for ARM/Thumb. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. The basis of this contribution was generated by Richard Earnshaw, Advanced RISC Machines Ltd @@ -1277,8 +1277,6 @@ extern int making_const_table; #define NO_DOLLAR_IN_LABEL 1 -#define HAVE_ATEXIT - /* The literal pool needs to reside in the text area due to the limited PC addressing range: */ #define MACHINE_DEPENDENT_REORG(INSN) thumb_reorg ((INSN)) diff --git a/gcc/config/arm/tpe.h b/gcc/config/arm/tpe.h index 50e33a078bf..4432105568b 100644 --- a/gcc/config/arm/tpe.h +++ b/gcc/config/arm/tpe.h @@ -214,10 +214,6 @@ do { \ #undef DO_GLOBAL_CTORS_BODY #undef DO_GLOBAL_DTORS_BODY -/* The ARM development system has atexit and doesn't have _exit, - so define this for now. */ -#define HAVE_ATEXIT - /* The ARM development system defines __main. */ #define NAME__MAIN "__gccmain" #define SYMBOL__MAIN __gccmain diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h index 6402c4e697f..9e3389050a9 100644 --- a/gcc/config/arm/unknown-elf.h +++ b/gcc/config/arm/unknown-elf.h @@ -1,5 +1,5 @@ /* Definitions for non-Linux based ARM systems using ELF - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. Contributed by Catherine Moore <clm@cygnus.com> This file is part of GNU CC. @@ -24,14 +24,6 @@ Boston, MA 02111-1307, USA. */ #define TARGET_VERSION fputs (" (ARM/ELF non-Linux)", stderr); #endif -/* If you don't define HAVE_ATEXIT, and the object file format/OS/whatever - does not support constructors/destructors, then gcc implements destructors - by defining its own exit function, which calls the destructors. This gcc - exit function overrides the C library's exit function, and this can cause - all kinds of havoc if the C library has a non-trivial exit function. You - really don't want to use the exit function in libgcc2.c. */ -#define HAVE_ATEXIT - /* Default to using APCS-32 and software floating point. */ #ifndef TARGET_DEFAULT #define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32) |