From 09b4ce121be408d2034b49ad42fdc16e08b1a9af Mon Sep 17 00:00:00 2001 From: Philippe De Muyter Date: Thu, 19 Mar 1998 21:24:35 +0100 Subject: [PATCH] * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT. From-SVN: r18717 --- gcc/ChangeLog | 2 ++ gcc/libgcc2.c | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e25b040113e..d587b1ed1bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Thu Mar 19 20:30:31 1998 Philippe De Muyter + * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT. + * fold-const.c (fold): Replace sign-extension of a zero extended value by a single zero extension. diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 6ccc1187f0a..663609b00fa 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -2984,10 +2984,16 @@ exit (int status) #else /* No NEED_ATEXIT */ __do_global_dtors (); #endif /* No NEED_ATEXIT */ -#endif +#endif /* !defined (INIT_SECTION_ASM_OP) || !defined (OBJECT_FORMAT_ELF) */ +/* In gbl-ctors.h, ON_EXIT is defined if HAVE_ATEXIT is defined. In +__bb_init_func and _bb_init_prg, __bb_exit_func is registered with ON_EXIT if +ON_EXIT is defined. Thus we must not call __bb_exit_func here anymore if +HAVE_ATEXIT is defined. */ +#ifndef HAVE_ATEXIT #ifndef inhibit_libc __bb_exit_func (); #endif +#endif /* !HAVE_ATEXIT */ #ifdef EXIT_BODY EXIT_BODY; #else -- 2.30.2