summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorskrll <skrll@NetBSD.org>2007-10-30 17:19:59 +0000
committerskrll <skrll@NetBSD.org>2007-10-30 17:19:59 +0000
commit29353f93e21f780bc0bcd6f0b0e746c571f716ef (patch)
treeaf10e340f139d867fbd5fd32d5c27a9fbb8ac9c2 /lib/libc/stdlib
parent4501e92c93c80ba7ffe930afd5c3141e4a5e4782 (diff)
Build a local copy of exit that doesn't call __cxa_finalize. It's not
needed and drags in a lot of libc via free.
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r--lib/libc/stdlib/exit.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libc/stdlib/exit.c b/lib/libc/stdlib/exit.c
index a183b70b9d9..ebb0e3e0fdc 100644
--- a/lib/libc/stdlib/exit.c
+++ b/lib/libc/stdlib/exit.c
@@ -1,4 +1,4 @@
-/* $NetBSD: exit.c,v 1.10 2003/08/07 16:43:39 agc Exp $ */
+/* $NetBSD: exit.c,v 1.11 2007/10/30 17:19:59 skrll Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -34,14 +34,16 @@
#if 0
static char sccsid[] = "@(#)exit.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: exit.c,v 1.10 2003/08/07 16:43:39 agc Exp $");
+__RCSID("$NetBSD: exit.c,v 1.11 2007/10/30 17:19:59 skrll Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
#include <stdlib.h>
#include <unistd.h>
+#ifdef _LIBC
#include "reentrant.h"
#include "atexit.h"
+#endif
void (*__cleanup) __P((void));
@@ -53,7 +55,9 @@ exit(status)
int status;
{
+#ifdef _LIBC
__cxa_finalize(NULL);
+#endif
if (__cleanup)
(*__cleanup)();
_exit(status);