From c534603f8d2a03e0ace678adc83d6194a7afdbe9 Mon Sep 17 00:00:00 2001 From: Dmitriy Ivanov Date: Thu, 4 Jun 2015 14:33:18 -0700 Subject: [PATCH] Hide __atexit Bug: http://b/21640806 Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f (cherry picked from commit 9cf6fc304bbbfb26911e0b624b80d862c40b0308) --- libc/stdlib/atexit.c | 13 ++++++++++++- libc/stdlib/atexit.h | 13 ------------- libc/upstream-openbsd/android/include/openbsd-compat.h | 1 - 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c index df2b1b5d5..a6970dd5d 100644 --- a/libc/stdlib/atexit.c +++ b/libc/stdlib/atexit.c @@ -37,7 +37,18 @@ #include "atexit.h" #include "private/thread_private.h" -struct atexit *__atexit; +struct atexit { + struct atexit *next; /* next in list */ + int ind; /* next index in this table */ + int max; /* max entries >= ATEXIT_SIZE */ + struct atexit_fn { + void (*fn_ptr)(void *); + void *fn_arg; /* argument for CXA callback */ + void *fn_dso; /* shared module handle */ + } fns[1]; /* the table itself */ +}; + +static struct atexit *__atexit; static int restartloop; /* BEGIN android-changed: __unregister_atfork is used by __cxa_finalize */ diff --git a/libc/stdlib/atexit.h b/libc/stdlib/atexit.h index 3de2aa3bf..e01bb34a6 100644 --- a/libc/stdlib/atexit.h +++ b/libc/stdlib/atexit.h @@ -30,18 +30,5 @@ * */ -struct atexit { - struct atexit *next; /* next in list */ - int ind; /* next index in this table */ - int max; /* max entries >= ATEXIT_SIZE */ - struct atexit_fn { - void (*fn_ptr)(void *); - void *fn_arg; /* argument for CXA callback */ - void *fn_dso; /* shared module handle */ - } fns[1]; /* the table itself */ -}; - -extern struct atexit *__atexit; /* points to head of LIFO stack */ - int __cxa_atexit(void (*)(void *), void *, void *); void __cxa_finalize(void *); diff --git a/libc/upstream-openbsd/android/include/openbsd-compat.h b/libc/upstream-openbsd/android/include/openbsd-compat.h index 8f55a26cd..47bacc3ea 100644 --- a/libc/upstream-openbsd/android/include/openbsd-compat.h +++ b/libc/upstream-openbsd/android/include/openbsd-compat.h @@ -74,7 +74,6 @@ __LIBC_HIDDEN__ void* reallocarray(void*, size_t, size_t); __LIBC64_HIDDEN__ extern const short* _tolower_tab_; __LIBC64_HIDDEN__ extern const short* _toupper_tab_; -__LIBC_HIDDEN__ extern struct atexit* __atexit; __LIBC_HIDDEN__ extern const char _C_ctype_[]; __LIBC_HIDDEN__ extern const short _C_toupper_[]; __LIBC_HIDDEN__ extern const short _C_tolower_[]; -- 2.11.0