diff options
Diffstat (limited to 'libc/bionic/eabi.c')
-rw-r--r-- | libc/bionic/eabi.c | 8 |
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)) |