Module Name: src
Committed By: joerg
Date: Sun Apr 19 18:15:26 UTC 2015
Modified Files:
src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++: atexit_arm.cc
src/lib/libc/stdlib: atexit.c
Log Message:
Redo __aeabi_atexit by shuffling the arguments and dropping the code in
libstdc++.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc
cvs rdiff -u -r1.28 -r1.29 src/lib/libc/stdlib/atexit.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc
diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc:1.1.1.2 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc:1.2
--- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc:1.1.1.2 Sat Mar 1 08:41:35 2014
+++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/atexit_arm.cc Sun Apr 19 18:15:26 2015
@@ -23,7 +23,7 @@
#include <cxxabi.h>
-#if defined(__arm__) && defined(__ARM_EABI__)
+#if defined(__arm__) && defined(__ARM_EABI__) && !defined(__NetBSD__)
namespace __aeabiv1
{
Index: src/lib/libc/stdlib/atexit.c
diff -u src/lib/libc/stdlib/atexit.c:1.28 src/lib/libc/stdlib/atexit.c:1.29
--- src/lib/libc/stdlib/atexit.c:1.28 Sat Apr 18 21:44:31 2015
+++ src/lib/libc/stdlib/atexit.c Sun Apr 19 18:15:26 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: atexit.c,v 1.28 2015/04/18 21:44:31 joerg Exp $ */
+/* $NetBSD: atexit.c,v 1.29 2015/04/19 18:15:26 joerg Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: atexit.c,v 1.28 2015/04/18 21:44:31 joerg Exp $");
+__RCSID("$NetBSD: atexit.c,v 1.29 2015/04/19 18:15:26 joerg Exp $");
#endif /* LIBC_SCCS and not lint */
#include "reentrant.h"
@@ -136,7 +136,14 @@ __libc_atexit_init(void)
* http://www.codesourcery.com/cxx-abi/abi.html#dso-dtor
*/
#if defined(__ARM_EABI__) && !defined(lint)
-__strong_alias(__aeabi_atexit,__cxa_atexit);
+int
+__aeabi_atexit(void *arg, void (*func)(void *), void *dso);
+
+int
+__aeabi_atexit(void *arg, void (*func)(void *), void *dso)
+{
+ return __cxa_atexit(func, arg, dso);
+}
#endif
int