summaryrefslogtreecommitdiff
path: root/gcc/config/arm
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-15 21:41:16 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-15 21:41:16 +0000
commit3da2e0975b47ddd9ac4c762a4263c2ac7dba4379 (patch)
tree43a34e737f568cf4befde4eaa3fc41de57b903c4 /gcc/config/arm
parentcaa1595af210314675316780a6964d54a46c306d (diff)
downloadgcc-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.h10
-rw-r--r--gcc/config/arm/linux-elf.h3
-rw-r--r--gcc/config/arm/linux-telf.h3
-rw-r--r--gcc/config/arm/riscix.h8
-rw-r--r--gcc/config/arm/riscix1-1.h13
-rw-r--r--gcc/config/arm/tcoff.h6
-rw-r--r--gcc/config/arm/telf.h4
-rw-r--r--gcc/config/arm/thumb.h4
-rw-r--r--gcc/config/arm/tpe.h4
-rw-r--r--gcc/config/arm/unknown-elf.h10
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)