Merge "Use -fvisibility=hidden to build libc_gdtoa."

This commit is contained in:
Elliott Hughes 2014-04-22 20:42:36 +00:00 committed by Gerrit Code Review
commit d0ecf5974f
3 changed files with 9 additions and 20 deletions

View file

@ -653,6 +653,7 @@ LOCAL_SRC_FILES_32 := $(libc_upstream_openbsd_gdtoa_src_files_32)
LOCAL_SRC_FILES_64 := $(libc_upstream_openbsd_gdtoa_src_files_64)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-fvisibility=hidden \
-I$(LOCAL_PATH)/upstream-openbsd/android/include \
-I$(LOCAL_PATH)/upstream-openbsd/lib/libc/include \
-include openbsd-compat.h \

View file

@ -65,9 +65,10 @@ extern unsigned long long strtoull(const char *, char **, int);
extern int posix_memalign(void **memptr, size_t alignment, size_t size);
extern double atof(const char*);
extern double strtod(const char*, char**);
extern float strtof(const char*, char**);
extern long double strtold(const char*, char**);
extern double strtod(const char*, char**) __LIBC_ABI_PUBLIC__;
extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__;
extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__;
extern int atoi(const char*) __purefunc;
extern long atol(const char*) __purefunc;

View file

@ -61,24 +61,11 @@
#define __SECTIONSTRING(_sec, _str) \
__asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous")
/* GCC visibility helper macro */
/* This must be used to tag non-static functions that are private, i.e.
* never exposed by the shared library. */
#define __LIBC_HIDDEN__ \
__attribute__ ((visibility ("hidden")))
/* Used to tag non-static symbols that are private and never exposed by the shared library. */
#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden")))
/* This must be used to tag non-static functions that are public, i.e.
* exposed by the shared library, and part of the stable NDK ABI */
#define __LIBC_ABI_PUBLIC__ \
__attribute__ ((visibility ("default")))
/* This must be used to tag non-static functions that must be exported
* by the shared library, but whose implementation is private to the
* platform. For now this is equivalent to __LIBC_ABI_PUBLIC__, but we
* may want to change this later.
*/
#define __LIBC_ABI_PRIVATE__ \
__attribute__ ((visibility ("default")))
/* Used to tag non-static symbols that are public and exposed by the shared library. */
#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default")))
#define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s)