am 731f9273: am 2d94ee29: Merge "Revert "Revert "Hide _tolower_tab_ and _toupper_tab_...
authorDan Albert <danalbert@google.com>
Mon, 7 Jul 2014 16:25:28 +0000 (16:25 +0000)
committerAndroid Git Automerger <android-git-automerger@android.com>
Mon, 7 Jul 2014 16:25:28 +0000 (16:25 +0000)
* commit '731f9273134b861b86ef65f785f4811c2f17b5be':
  Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""

libc/include/ctype.h
libc/include/sys/cdefs_elf.h
libc/upstream-openbsd/android/include/openbsd-compat.h

index a66df12e2e112ceb51dc45d94d386fd5f49162e9..6e973269c836ab08656c2d25b0912ddb102abaa1 100644 (file)
@@ -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);
index c21214cc25703bee2940062f444f9f049f8c0236..b5db13e644a9cc84d73f8fcc49f887a5c7fc5589 100644 (file)
 /* 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")))
 
index 8618e3104173532df5581e4fabc789eec96171b0..f00d91ab2c7a04e6f9d41c238fdfebeaddb4d4ba 100644 (file)
@@ -17,6 +17,8 @@
 #ifndef _BIONIC_OPENBSD_COMPAT_H_included
 #define _BIONIC_OPENBSD_COMPAT_H_included
 
+#include <sys/cdefs.h>
+
 #define __USE_BSD
 
 /* OpenBSD's <ctype.h> 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