summaryrefslogtreecommitdiffstats
path: root/libc/bionic/eabi.c
diff options
context:
space:
mode:
authorShilpa Gopal <c_shutta@quicinc.com>2009-08-01 16:05:30 -0700
committerShilpa Gopal <c_shutta@quicinc.com>2009-08-03 20:13:31 -0700
commit172f4ca290926afd242eef207a7f8205c897afe0 (patch)
treede624f8e840e8782deb60b574fb3368f7b94f0a1 /libc/bionic/eabi.c
parent47f1e2857eed0b542492dfa35580823e0a45f46c (diff)
parent6ee8f1b0444c0db94931d2cd64427ded8fba38b0 (diff)
downloadbionic-172f4ca290926afd242eef207a7f8205c897afe0.zip
bionic-172f4ca290926afd242eef207a7f8205c897afe0.tar.gz
bionic-172f4ca290926afd242eef207a7f8205c897afe0.tar.bz2
Merge commit 'quic/korg/donut' into donut
Diffstat (limited to 'libc/bionic/eabi.c')
-rw-r--r--libc/bionic/eabi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libc/bionic/eabi.c b/libc/bionic/eabi.c
index 21d8537..a5f6627 100644
--- a/libc/bionic/eabi.c
+++ b/libc/bionic/eabi.c
@@ -32,6 +32,14 @@ extern int __cxa_atexit(void (*)(void*), void*, void* );
void* __dso_handle = 0;
+/* The "C++ ABI for ARM" document states that static C++ constructors,
+ * which are called from the .init_array, should manually call
+ * __aeabi_atexit() to register static destructors explicitely.
+ *
+ * Note that 'dso_handle' is the address of a magic linker-generate
+ * variable from the shared object that contains the constructor/destructor
+ */
+
/* Make this a weak symbol to avoid a multiple definition error when linking
* with libstdc++-v3. */
int __attribute__((weak))