From f79ee064b64af54bce6d3931f4112761edb7d3a9 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 1 Jul 2014 22:41:50 +0000 Subject: [PATCH] Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."" This reverts commit 715242fd0f69e73a6aca19e32b8979fa0f384788. Change-Id: Ia9892fa3b03287129aa72a49974cef9fd94ae735 --- libc/include/ctype.h | 2 -- libc/include/sys/cdefs_elf.h | 7 +++++++ libc/upstream-openbsd/android/include/openbsd-compat.h | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libc/include/ctype.h b/libc/include/ctype.h index a66df12e2..6e973269c 100644 --- a/libc/include/ctype.h +++ b/libc/include/ctype.h @@ -56,8 +56,6 @@ __BEGIN_DECLS extern const char *_ctype_; -extern const short *_tolower_tab_; -extern const short *_toupper_tab_; #if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint) int isalnum(int); diff --git a/libc/include/sys/cdefs_elf.h b/libc/include/sys/cdefs_elf.h index c21214cc2..b5db13e64 100644 --- a/libc/include/sys/cdefs_elf.h +++ b/libc/include/sys/cdefs_elf.h @@ -64,6 +64,13 @@ /* Used to tag non-static symbols that are private and never exposed by the shared library. */ #define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) +/* Like __LIBC_HIDDEN__, but preserves binary compatibility for LP32. */ +#ifdef __LP64__ +#define __LIBC64_HIDDEN__ __LIBC_HIDDEN__ +#else +#define __LIBC64_HIDDEN__ +#endif + /* Used to tag non-static symbols that are public and exposed by the shared library. */ #define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) diff --git a/libc/upstream-openbsd/android/include/openbsd-compat.h b/libc/upstream-openbsd/android/include/openbsd-compat.h index 8618e3104..f00d91ab2 100644 --- a/libc/upstream-openbsd/android/include/openbsd-compat.h +++ b/libc/upstream-openbsd/android/include/openbsd-compat.h @@ -17,6 +17,8 @@ #ifndef _BIONIC_OPENBSD_COMPAT_H_included #define _BIONIC_OPENBSD_COMPAT_H_included +#include + #define __USE_BSD /* OpenBSD's uses these names, which conflicted with stlport. @@ -34,4 +36,8 @@ /* OpenBSD has this, but we can't really implement it correctly on Linux. */ #define issetugid() 0 +/* LP32 NDK ctype.h contained references to these. */ +__LIBC64_HIDDEN__ extern const short *_tolower_tab_; +__LIBC64_HIDDEN__ extern const short *_toupper_tab_; + #endif