summaryrefslogtreecommitdiffstats
path: root/9/platforms/android-19/arch-arm64/usr
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-05-09 21:37:30 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2014-05-09 23:42:43 +0800
commit1b1d56acc5281d0201fdbe8539012a2dbf09bc8f (patch)
tree5c6aeb7acb5aa97762a1b97c74e754855455e083 /9/platforms/android-19/arch-arm64/usr
parent5fd2a238a3a2697a4cde0e4ed2a8b05b3791fb43 (diff)
downloadprebuilts_ndk-1b1d56acc5281d0201fdbe8539012a2dbf09bc8f.zip
prebuilts_ndk-1b1d56acc5281d0201fdbe8539012a2dbf09bc8f.tar.gz
prebuilts_ndk-1b1d56acc5281d0201fdbe8539012a2dbf09bc8f.tar.bz2
Refresh 64-bit headers/libs; upgrade libc++ to r207307
to bionic: adfc007dbf936bd021d79ba2d2c360a3cfc77be9 5/19 2014 Change-Id: Id9994bab1ab8240853890c108e8aaa3ebac47fa8
Diffstat (limited to '9/platforms/android-19/arch-arm64/usr')
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/android/dlext.h70
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h6
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/ctype.h122
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/inttypes.h10
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/limits.h2
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h3
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/locale.h28
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h179
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h42
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/math.h56
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/pthread.h41
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/sched.h189
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/semaphore.h7
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/signal.h6
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/stdint.h19
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/stdlib.h20
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h25
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h6
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/sys/types.h5
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/sys/user.h12
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/time64.h37
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/unistd.h3
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/utmp.h12
-rw-r--r--9/platforms/android-19/arch-arm64/usr/include/wchar.h48
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.obin2388 -> 2485 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.obin1568 -> 1738 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.obin2388 -> 2485 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/crtend_android.obin1089 -> 1089 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/crtend_so.obin977 -> 977 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libEGL.sobin68786 -> 5987 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.sobin78466 -> 28171 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.sobin75743 -> 21848 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.sobin78153 -> 27426 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.sobin69300 -> 6821 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.sobin69657 -> 7570 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libandroid.sobin75696 -> 21249 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/libc.abin8525344 -> 9699426 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libc.sobin108655 -> 100360 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libdl.sobin67474 -> 3078 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.sobin67317 -> 2638 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/liblog.sobin67588 -> 3221 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/libm.abin2857404 -> 2825072 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libm.sobin77488 -> 25566 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/libstdc++.abin42816 -> 42816 bytes
-rwxr-xr-x9/platforms/android-19/arch-arm64/usr/lib/libstdc++.sobin82496 -> 4789 bytes
-rw-r--r--9/platforms/android-19/arch-arm64/usr/lib/libz.abin1162974 -> 1162974 bytes
46 files changed, 424 insertions, 524 deletions
diff --git a/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h b/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h
new file mode 100644
index 0000000..90962fa
--- /dev/null
+++ b/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __ANDROID_DLEXT_H__
+#define __ANDROID_DLEXT_H__
+
+#include <stddef.h>
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
+/* bitfield definitions for android_dlextinfo.flags */
+enum {
+ /* When set, the reserved_addr and reserved_size fields must point to an
+ * already-reserved region of address space which will be used to load the
+ * library if it fits. If the reserved region is not large enough, the load
+ * will fail.
+ */
+ ANDROID_DLEXT_RESERVED_ADDRESS = 0x1,
+
+ /* As DLEXT_RESERVED_ADDRESS, but if the reserved region is not large enough,
+ * the linker will choose an available address instead.
+ */
+ ANDROID_DLEXT_RESERVED_ADDRESS_HINT = 0x2,
+
+ /* When set, write the GNU RELRO section of the mapped library to relro_fd
+ * after relocation has been performed, to allow it to be reused by another
+ * process loading the same library at the same address. This implies
+ * ANDROID_DLEXT_USE_RELRO.
+ */
+ ANDROID_DLEXT_WRITE_RELRO = 0x4,
+
+ /* When set, compare the GNU RELRO section of the mapped library to relro_fd
+ * after relocation has been performed, and replace any relocated pages that
+ * are identical with a version mapped from the file.
+ */
+ ANDROID_DLEXT_USE_RELRO = 0x8,
+
+ /* Mask of valid bits */
+ ANDROID_DLEXT_VALID_FLAG_BITS = ANDROID_DLEXT_RESERVED_ADDRESS |
+ ANDROID_DLEXT_RESERVED_ADDRESS_HINT |
+ ANDROID_DLEXT_WRITE_RELRO |
+ ANDROID_DLEXT_USE_RELRO,
+};
+
+typedef struct {
+ int flags;
+ void* reserved_addr;
+ size_t reserved_size;
+ int relro_fd;
+} android_dlextinfo;
+
+extern void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo);
+
+__END_DECLS
+
+#endif /* __ANDROID_DLEXT_H__ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h b/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h
index fe7d9a0..e103240 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h
@@ -66,9 +66,9 @@
#define SIGSYS 31
#define SIGUNUSED 31
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SIGRTMIN 32
-#ifndef SIGRTMAX
-#define SIGRTMAX _KERNEL__NSIG
+#define __SIGRTMIN 32
+#ifndef __SIGRTMAX
+#define __SIGRTMAX _KERNEL__NSIG
#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define SA_NOCLDSTOP 0x00000001
diff --git a/9/platforms/android-19/arch-arm64/usr/include/ctype.h b/9/platforms/android-19/arch-arm64/usr/include/ctype.h
index 5557e31..7edd8cc 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/ctype.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/ctype.h
@@ -44,12 +44,16 @@
#define _CTYPE_U 0x01
#define _CTYPE_L 0x02
-#define _CTYPE_N 0x04
+#define _CTYPE_D 0x04
#define _CTYPE_S 0x08
#define _CTYPE_P 0x10
#define _CTYPE_C 0x20
#define _CTYPE_X 0x40
#define _CTYPE_B 0x80
+#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B)
+#define _CTYPE_A (_CTYPE_L|_CTYPE_U)
+
+#define _CTYPE_N _CTYPE_D
__BEGIN_DECLS
@@ -57,17 +61,6 @@ extern const char *_ctype_;
extern const short *_tolower_tab_;
extern const short *_toupper_tab_;
-/* extern __inline is a GNU C extension */
-#ifdef __GNUC__
-# if defined(__GNUC_STDC_INLINE__)
-#define __CTYPE_INLINE extern __inline __attribute__((__gnu_inline__))
-# else
-#define __CTYPE_INLINE extern __inline
-# endif
-#else
-#define __CTYPE_INLINE static __inline
-#endif
-
#if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint)
int isalnum(int);
int isalpha(int);
@@ -97,111 +90,6 @@ int _toupper(int);
#endif /* __GNUC__ || _ANSI_LIBRARY || lint */
-#if defined(NDEBUG)
-
-__CTYPE_INLINE int isalnum(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L|_CTYPE_N)));
-}
-
-__CTYPE_INLINE int isalpha(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L)));
-}
-
-__CTYPE_INLINE int iscntrl(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_C));
-}
-
-__CTYPE_INLINE int isdigit(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_N));
-}
-
-__CTYPE_INLINE int isgraph(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N)));
-}
-
-__CTYPE_INLINE int islower(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_L));
-}
-
-__CTYPE_INLINE int isprint(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B)));
-}
-
-__CTYPE_INLINE int ispunct(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_P));
-}
-
-__CTYPE_INLINE int isspace(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_S));
-}
-
-__CTYPE_INLINE int isupper(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_U));
-}
-
-__CTYPE_INLINE int isxdigit(int c)
-{
- return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_N|_CTYPE_X)));
-}
-
-__CTYPE_INLINE int tolower(int c)
-{
- if ((unsigned int)c > 255)
- return (c);
- return ((_tolower_tab_ + 1)[c]);
-}
-
-__CTYPE_INLINE int toupper(int c)
-{
- if ((unsigned int)c > 255)
- return (c);
- return ((_toupper_tab_ + 1)[c]);
-}
-
-#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \
- || __XPG_VISIBLE > 600
-__CTYPE_INLINE int isblank(int c)
-{
- return (c == ' ' || c == '\t');
-}
-#endif
-
-#if __BSD_VISIBLE || __XPG_VISIBLE
-__CTYPE_INLINE int isascii(int c)
-{
- return ((unsigned int)c <= 0177);
-}
-
-__CTYPE_INLINE int toascii(int c)
-{
- return (c & 0177);
-}
-
-__CTYPE_INLINE int _tolower(int c)
-{
- return (c - 'A' + 'a');
-}
-
-__CTYPE_INLINE int _toupper(int c)
-{
- return (c - 'a' + 'A');
-}
-#endif /* __BSD_VISIBLE || __XPG_VISIBLE */
-
-#endif /* NDEBUG */
-
__END_DECLS
-#undef __CTYPE_INLINE
-
#endif /* !_CTYPE_H_ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/inttypes.h b/9/platforms/android-19/arch-arm64/usr/include/inttypes.h
index 2fd2415..8853c08 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/inttypes.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/inttypes.h
@@ -254,16 +254,14 @@ typedef struct {
} imaxdiv_t;
__BEGIN_DECLS
-
intmax_t imaxabs(intmax_t) __pure2;
imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2;
-
intmax_t strtoimax(const char *, char **, int);
uintmax_t strtoumax(const char *, char **, int);
-
-intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n);
-uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n);
-
+intmax_t wcstoimax(const wchar_t * __restrict,
+ wchar_t ** __restrict, int);
+uintmax_t wcstoumax(const wchar_t * __restrict,
+ wchar_t ** __restrict, int);
__END_DECLS
#endif /* _INTTYPES_H_ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/limits.h b/9/platforms/android-19/arch-arm64/usr/include/limits.h
index a70021a..dc45902 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/limits.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/limits.h
@@ -112,7 +112,7 @@
#define SSIZE_MAX LONG_MAX
-#define MB_LEN_MAX 1 /* No multibyte characters. */
+#define MB_LEN_MAX 6
/* New code should use sysconf(_SC_PAGE_SIZE) instead. */
#ifndef PAGE_SIZE
diff --git a/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h b/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h
index 87c7e2f..baa597e 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h
@@ -117,7 +117,8 @@
#define PR_GET_NO_NEW_PRIVS 39
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
#define PR_GET_TID_ADDRESS 40
+#define PR_SET_TIMERSLACK_PID 41
#define PR_SET_VMA 0x53564d41
#define PR_SET_VMA_ANON_NAME 0
-#endif
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#endif
diff --git a/9/platforms/android-19/arch-arm64/usr/include/locale.h b/9/platforms/android-19/arch-arm64/usr/include/locale.h
index 6989851..7fd8c2c 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/locale.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/locale.h
@@ -33,21 +33,19 @@
__BEGIN_DECLS
-enum {
- LC_CTYPE = 0,
- LC_NUMERIC = 1,
- LC_TIME = 2,
- LC_COLLATE = 3,
- LC_MONETARY = 4,
- LC_MESSAGES = 5,
- LC_ALL = 6,
- LC_PAPER = 7,
- LC_NAME = 8,
- LC_ADDRESS = 9,
- LC_TELEPHONE = 10,
- LC_MEASUREMENT = 11,
- LC_IDENTIFICATION = 12
-};
+#define LC_CTYPE 0
+#define LC_NUMERIC 1
+#define LC_TIME 2
+#define LC_COLLATE 3
+#define LC_MONETARY 4
+#define LC_MESSAGES 5
+#define LC_ALL 6
+#define LC_PAPER 7
+#define LC_NAME 8
+#define LC_ADDRESS 9
+#define LC_TELEPHONE 10
+#define LC_MEASUREMENT 11
+#define LC_IDENTIFICATION 12
#define LC_CTYPE_MASK (1 << LC_CTYPE)
#define LC_NUMERIC_MASK (1 << LC_NUMERIC)
diff --git a/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h b/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h
index cf2c1fc..c579969 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee.h,v 1.1 2004/02/01 05:09:49 drahn Exp $ */
+/* $OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $ */
/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */
/*
@@ -45,147 +45,74 @@
* @(#)ieee.h 8.1 (Berkeley) 6/11/93
*/
-/*
- * ieee.h defines the machine-dependent layout of the machine's IEEE
- * floating point.
- */
-
-/*
- * Define the number of bits in each fraction and exponent.
- *
- * k k+1
- * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented
- *
- * (-exp_bias+1)
- * as fractions that look like 0.fffff x 2 . This means that
- *
- * -126
- * the number 0.10000 x 2 , for instance, is the same as the normalized
- *
- * -127 -128
- * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero
- *
- * -129
- * in the fraction; to represent 2 , we need two, and so on. This
- *
- * (-exp_bias-fracbits+1)
- * implies that the smallest denormalized number is 2
- *
- * for whichever format we are talking about: for single precision, for
- *
- * -126 -149
- * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and
- *
- * -149 == -127 - 23 + 1.
- */
-
-/*
- * The ARM has two sets of FP data formats. The FPA supports 32-bit, 64-bit
- * and 96-bit IEEE formats, with the words in big-endian order. VFP supports
- * 32-bin and 64-bit IEEE formats with the words in the CPU's native byte
- * order.
- *
- * The FPA also has two packed decimal formats, but we ignore them here.
- */
+#ifndef _MACHINE_IEEE_H_
+#define _MACHINE_IEEE_H_
-#define SNG_EXPBITS 8
-#define SNG_FRACBITS 23
+#include <sys/types.h>
-#define DBL_EXPBITS 11
-#define DBL_FRACBITS 52
+__BEGIN_DECLS
-#ifndef __VFP_FP__
-#define E80_EXPBITS 15
-#define E80_FRACBITS 64
+#define SNG_EXPBITS 8
+#define SNG_FRACBITS 23
-#define EXT_EXPBITS 15
-#define EXT_FRACBITS 112
-#endif
+#define SNG_EXP_INFNAN 255
+#define SNG_EXP_BIAS 127
struct ieee_single {
- u_int sng_frac:23;
- u_int sng_exponent:8;
- u_int sng_sign:1;
+ unsigned sng_frac:23;
+ unsigned sng_exp:8;
+ unsigned sng_sign:1;
};
-#ifdef __VFP_FP__
-struct ieee_double {
-#ifdef __AARCH64EB__
- u_int dbl_sign:1;
- u_int dbl_exp:11;
- u_int dbl_frach:20;
- u_int dbl_fracl;
-#else /* !__AARCH64EB__ */
- u_int dbl_fracl;
- u_int dbl_frach:20;
- u_int dbl_exp:11;
- u_int dbl_sign:1;
-#endif /* !__AARCH64EB__ */
-};
-#else /* !__VFP_FP__ */
+#define DBL_EXPBITS 11
+#define DBL_FRACHBITS 20
+#define DBL_FRACLBITS 32
+#define DBL_FRACBITS 52
+
+#define DBL_EXP_INFNAN 2047
+#define DBL_EXP_BIAS 1023
+
struct ieee_double {
- u_int dbl_frach:20;
- u_int dbl_exp:11;
- u_int dbl_sign:1;
- u_int dbl_fracl;
+ unsigned dbl_fracl;
+ unsigned dbl_frach:20;
+ unsigned dbl_exp:11;
+ unsigned dbl_sign:1;
};
-union ieee_double_u {
- double dblu_d;
- struct ieee_double dblu_dbl;
-};
+#if __LP64__
+/* 64-bit Android uses ld128 long doubles. */
-struct ieee_e80 {
- u_int e80_exp:15;
- u_int e80_zero:16;
- u_int e80_sign:1;
- u_int e80_frach:31;
- u_int e80_j:1;
- u_int e80_fracl;
-};
+#define EXT_EXPBITS 15
+#define EXT_FRACHBITS 16
+#define EXT_FRACHMBITS 32
+#define EXT_FRACLMBITS 32
+#define EXT_FRACLBITS 32
+#define EXT_FRACBITS 112
+
+#define EXT_EXP_INFNAN 32767
+#define EXT_EXP_BIAS 16383
+
+#define EXT_IMPLICIT_NBIT
+
+#define EXT_TO_ARRAY32(p, a) do { \
+ (a)[0] = (uint32_t)(p)->ext_fracl; \
+ (a)[1] = (uint32_t)(p)->ext_fraclm; \
+ (a)[2] = (uint32_t)(p)->ext_frachm; \
+ (a)[3] = (uint32_t)(p)->ext_frach; \
+} while(0)
struct ieee_ext {
- u_int ext_frach:16;
- u_int ext_exp:15;
- u_int ext_sign:1;
- u_int ext_frachm;
- u_int ext_fraclm;
- u_int ext_fracl;
+ unsigned ext_fracl;
+ unsigned ext_fraclm;
+ unsigned ext_frachm;
+ unsigned ext_frach:16;
+ unsigned ext_exp:15;
+ unsigned ext_sign:1;
};
-#endif /* !__VFP_FP__ */
-/*
- * Floats whose exponent is in [1..INFNAN) (of whatever type) are
- * `normal'. Floats whose exponent is INFNAN are either Inf or NaN.
- * Floats whose exponent is zero are either zero (iff all fraction
- * bits are zero) or subnormal values.
- *
- * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its
- * high fraction; if the bit is set, it is a `quiet NaN'.
- */
-#define SNG_EXP_INFNAN 255
-#define DBL_EXP_INFNAN 2047
-#ifndef __VFP_FP__
-#define E80_EXP_INFNAN 32767
-#define EXT_EXP_INFNAN 32767
-#endif /* !__VFP_FP__ */
-
-#if 0
-#define SNG_QUIETNAN (1 << 22)
-#define DBL_QUIETNAN (1 << 19)
-#ifndef __VFP_FP__
-#define E80_QUIETNAN (1 << 15)
-#define EXT_QUIETNAN (1 << 15)
-#endif /* !__VFP_FP__ */
#endif
-/*
- * Exponent biases.
- */
-#define SNG_EXP_BIAS 127
-#define DBL_EXP_BIAS 1023
-#ifndef __VFP_FP__
-#define E80_EXP_BIAS 16383
-#define EXT_EXP_BIAS 16383
-#endif /* !__VFP_FP__ */
+__END_DECLS
+
+#endif /* _MACHINE_IEEE_H_ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h b/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h
new file mode 100644
index 0000000..94cbd7e
--- /dev/null
+++ b/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _MACHINE_WCHAR_LIMITS_H_
+#define _MACHINE_WCHAR_LIMITS_H_
+
+/* Both GCC and clang define __WCHAR_MAX__. */
+#define WCHAR_MAX __WCHAR_MAX__
+
+/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */
+#if defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN L'\0'
+#else
+# define WCHAR_MIN (-(WCHAR_MAX) - 1)
+#endif
+
+#endif /* _MACHINE_WCHAR_LIMITS_H_ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/math.h b/9/platforms/android-19/arch-arm64/usr/include/math.h
index bd0241b..c264583 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/math.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/math.h
@@ -396,16 +396,23 @@ float significandf(float);
* long double versions of ISO/POSIX math functions
*/
#if __ISO_C_VISIBLE >= 1999
+long double acoshl(long double);
long double acosl(long double);
+long double asinhl(long double);
long double asinl(long double);
long double atan2l(long double, long double);
+long double atanhl(long double);
long double atanl(long double);
long double cbrtl(long double);
long double ceill(long double);
long double copysignl(long double, long double) __pure2;
+long double coshl(long double);
long double cosl(long double);
+long double erfcl(long double);
+long double erfl(long double);
long double exp2l(long double);
long double expl(long double);
+long double expm1l(long double);
long double fabsl(long double) __pure2;
long double fdiml(long double, long double);
long double floorl(long double);
@@ -417,9 +424,14 @@ long double frexpl(long double value, int *); /* fundamentally !__pure2 */
long double hypotl(long double, long double);
int ilogbl(long double) __pure2;
long double ldexpl(long double, int);
+long double lgammal(long double);
long long llrintl(long double);
long long llroundl(long double);
+long double log10l(long double);
+long double log1pl(long double);
+long double log2l(long double);
long double logbl(long double);
+long double logl(long double);
long lrintl(long double);
long lroundl(long double);
long double modfl(long double, long double *); /* fundamentally !__pure2 */
@@ -429,53 +441,29 @@ long double nextafterl(long double, long double);
double nexttoward(double, long double);
float nexttowardf(float, long double);
long double nexttowardl(long double, long double);
+long double powl(long double, long double);
long double remainderl(long double, long double);
long double remquol(long double, long double, int *);
long double rintl(long double);
long double roundl(long double);
long double scalblnl(long double, long);
long double scalbnl(long double, int);
+long double sinhl(long double);
long double sinl(long double);
long double sqrtl(long double);
+long double tanhl(long double);
long double tanl(long double);
+long double tgammal(long double);
long double truncl(long double);
#endif /* __ISO_C_VISIBLE >= 1999 */
-__END_DECLS
-
-#endif /* !_MATH_H_ */
-
-/* separate header for cmath */
-#ifndef _MATH_EXTRA_H_
-#if __ISO_C_VISIBLE >= 1999
-#if _DECLARE_C99_LDBL_MATH
-
-#define _MATH_EXTRA_H_
-/*
- * extra long double versions of math functions for C99 and cmath
- */
-__BEGIN_DECLS
-
-long double acoshl(long double);
-long double asinhl(long double);
-long double atanhl(long double);
-long double coshl(long double);
-long double erfcl(long double);
-long double erfl(long double);
-long double expm1l(long double);
-long double lgammal(long double);
-long double log10l(long double);
-long double log1pl(long double);
-long double log2l(long double);
-long double logl(long double);
-long double powl(long double, long double);
-long double sinhl(long double);
-long double tanhl(long double);
-long double tgammal(long double);
+#if defined(_GNU_SOURCE)
+void sincos(double, double*, double*);
+void sincosf(float, float*, float*);
+void sincosl(long double, long double*, long double*);
+#endif /* _GNU_SOURCE */
__END_DECLS
-#endif /* !_DECLARE_C99_LDBL_MATH */
-#endif /* __ISO_C_VISIBLE >= 1999 */
-#endif /* !_MATH_EXTRA_H_ */
+#endif /* !_MATH_H_ */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/pthread.h b/9/platforms/android-19/arch-arm64/usr/include/pthread.h
index f93f9e9..7b8de81 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/pthread.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/pthread.h
@@ -35,17 +35,26 @@
#include <limits.h>
#include <sys/types.h>
+#ifdef __LP64__
+ #define __RESERVED_INITIALIZER , {0}
+#else
+ #define __RESERVED_INITIALIZER
+#endif
+
typedef struct {
int volatile value;
+#ifdef __LP64__
+ char __reserved[36];
+#endif
} pthread_mutex_t;
#define __PTHREAD_MUTEX_INIT_VALUE 0
#define __PTHREAD_RECURSIVE_MUTEX_INIT_VALUE 0x4000
#define __PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE 0x8000
-#define PTHREAD_MUTEX_INITIALIZER {__PTHREAD_MUTEX_INIT_VALUE}
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE}
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE}
+#define PTHREAD_MUTEX_INITIALIZER {__PTHREAD_MUTEX_INIT_VALUE __RESERVED_INITIALIZER}
+#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE __RESERVED_INITIALIZER}
+#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE __RESERVED_INITIALIZER}
enum {
PTHREAD_MUTEX_NORMAL = 0,
@@ -60,9 +69,12 @@ enum {
typedef struct {
int volatile value;
+#ifdef __LP64__
+ char __reserved[44];
+#endif
} pthread_cond_t;
-#define PTHREAD_COND_INITIALIZER {0}
+#define PTHREAD_COND_INITIALIZER {0 __RESERVED_INITIALIZER}
typedef struct {
uint32_t flags;
@@ -71,21 +83,24 @@ typedef struct {
size_t guard_size;
int32_t sched_policy;
int32_t sched_priority;
+#ifdef __LP64__
+ char __reserved[16];
+#endif
} pthread_attr_t;
typedef long pthread_mutexattr_t;
typedef long pthread_condattr_t;
-typedef int pthread_rwlockattr_t;
+typedef long pthread_rwlockattr_t;
typedef struct {
- pthread_mutex_t lock;
- pthread_cond_t cond;
- int numLocks;
- int writerThreadId;
- int pendingReaders;
- int pendingWriters;
- void* reserved[4]; /* for future extensibility */
+ pthread_mutex_t lock;
+ pthread_cond_t cond;
+ int numLocks;
+ int writerThreadId;
+ int pendingReaders;
+ int pendingWriters;
+ void* __reserved[4];
} pthread_rwlock_t;
#define PTHREAD_RWLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0, 0, 0, { NULL, NULL, NULL, NULL } }
@@ -95,7 +110,7 @@ typedef long pthread_t;
typedef volatile int pthread_once_t;
-#define PTHREAD_ONCE_INIT 0
+#define PTHREAD_ONCE_INIT 0
#define PTHREAD_STACK_MIN (2 * PAGE_SIZE)
diff --git a/9/platforms/android-19/arch-arm64/usr/include/sched.h b/9/platforms/android-19/arch-arm64/usr/include/sched.h
index 7649e83..68115bb 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/sched.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/sched.h
@@ -59,151 +59,90 @@ extern int unshare(int);
extern int sched_getcpu(void);
extern int setns(int, int);
-/* Our implementation supports up to 32 independent CPUs, which is also
- * the maximum supported by the kernel at the moment. GLibc uses 1024 by
- * default.
- *
- * If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE()
- * and the CPU_XXX_S() macro variants.
- */
-#define CPU_SETSIZE 32
+#ifdef __LP32__
+#define CPU_SETSIZE 32
+#else
+#define CPU_SETSIZE 1024
+#endif
-#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */
-#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */
-#define __CPU_BITS (1 << __CPU_BITSHIFT)
-#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT)
-#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1)))
+#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */
+#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE))
+#define __CPU_ELT(x) ((x) / __CPU_BITS)
+#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1)))
typedef struct {
- __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ];
+ __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ];
} cpu_set_t;
extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set);
extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set);
-/* Provide optimized implementation for 32-bit cpu_set_t */
-#if CPU_SETSIZE == __CPU_BITS
-
-# define CPU_ZERO(set_) \
- do{ \
- (set_)->__bits[0] = 0; \
- }while(0)
-
-# define CPU_SET(cpu_,set_) \
- do {\
- size_t __cpu = (cpu_); \
- if (__cpu < CPU_SETSIZE) \
- (set_)->__bits[0] |= __CPU_MASK(__cpu); \
- }while (0)
-
-# define CPU_CLR(cpu_,set_) \
- do {\
- size_t __cpu = (cpu_); \
- if (__cpu < CPU_SETSIZE) \
- (set_)->__bits[0] &= ~__CPU_MASK(__cpu); \
- }while (0)
-
-# define CPU_ISSET(cpu_, set_) \
- (__extension__({\
- size_t __cpu = (cpu_); \
- (cpu_ < CPU_SETSIZE) \
- ? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \
- : 0; \
- }))
-
-# define CPU_EQUAL(set1_, set2_) \
- ((set1_)->__bits[0] == (set2_)->__bits[0])
-
-# define __CPU_OP(dst_, set1_, set2_, op_) \
- do { \
- (dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \
- } while (0)
-
-# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0])
-
-#else /* CPU_SETSIZE != __CPU_BITS */
-
-# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_)
-# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_)
-# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_)
-# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_)
-# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_)
-# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_)
-
-# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_)
+#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set)
+#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set)
+#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set)
+#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set)
+#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set)
+#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2)
-#endif /* CPU_SETSIZE != __CPU_BITS */
+#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &)
+#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |)
+#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^)
-#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&)
-#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|)
-#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^)
+#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op)
/* Support for dynamically-allocated cpu_set_t */
#define CPU_ALLOC_SIZE(count) \
- __CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE)
+ __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE)
-#define CPU_ALLOC(count) __sched_cpualloc((count));
-#define CPU_FREE(set) __sched_cpufree((set))
+#define CPU_ALLOC(count) __sched_cpualloc((count))
+#define CPU_FREE(set) __sched_cpufree((set))
extern cpu_set_t* __sched_cpualloc(size_t count);
extern void __sched_cpufree(cpu_set_t* set);
-#define CPU_ZERO_S(setsize_,set_) \
- do { \
- size_t __nn = 0; \
- size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
- for (; __nn < __nn_max; __nn++) \
- (set_)->__bits[__nn] = 0; \
- } while (0)
-
-#define CPU_SET_S(cpu_,setsize_,set_) \
- do { \
- size_t __cpu = (cpu_); \
- if (__cpu < 8*(setsize_)) \
- (set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \
- } while (0)
-
-#define CPU_CLR_S(cpu_,setsize_,set_) \
- do { \
- size_t __cpu = (cpu_); \
- if (__cpu < 8*(setsize_)) \
- (set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \
- } while (0)
-
-#define CPU_ISSET_S(cpu_, setsize_, set_) \
- (__extension__ ({ \
- size_t __cpu = (cpu_); \
- (__cpu < 8*(setsize_)) \
- ? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \
- : 0; \
- }))
-
-#define CPU_EQUAL_S(setsize_, set1_, set2_) \
- (__extension__ ({ \
- __const __CPU_BITTYPE* __src1 = (set1_)->__bits; \
- __const __CPU_BITTYPE* __src2 = (set2_)->__bits; \
- size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
- for (; __nn < __nn_max; __nn++) { \
- if (__src1[__nn] != __src2[__nn]) \
- break; \
- } \
- __nn == __nn_max; \
- }))
-
-#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \
- do { \
- cpu_set_t* __dst = (dstset); \
- const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \
- const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \
- size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \
- for (; __nn < __nn_max; __nn++) \
- (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \
- } while (0)
-
-#define CPU_COUNT_S(setsize_, set_) \
- __sched_cpucount((setsize_), (set_))
+#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize)
+
+#define CPU_SET_S(cpu, setsize, set) \
+ do { \
+ size_t __cpu = (cpu); \
+ if (__cpu < 8 * (setsize)) \
+ (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \
+ } while (0)
+
+#define CPU_CLR_S(cpu, setsize, set) \
+ do { \
+ size_t __cpu = (cpu); \
+ if (__cpu < 8 * (setsize)) \
+ (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \
+ } while (0)
+
+#define CPU_ISSET_S(cpu, setsize, set) \
+ (__extension__ ({ \
+ size_t __cpu = (cpu); \
+ (__cpu < 8 * (setsize)) \
+ ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \
+ : 0; \
+ }))
+
+#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0)
+
+#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &)
+#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |)
+#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^)
+
+#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \
+ do { \
+ cpu_set_t* __dst = (dstset); \
+ const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \
+ const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \
+ size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \
+ for (; __nn < __nn_max; __nn++) \
+ (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \
+ } while (0)
+
+#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set))
extern int __sched_cpucount(size_t setsize, cpu_set_t* set);
diff --git a/9/platforms/android-19/arch-arm64/usr/include/semaphore.h b/9/platforms/android-19/arch-arm64/usr/include/semaphore.h
index 30e3123..7ae3c3a 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/semaphore.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/semaphore.h
@@ -33,10 +33,13 @@
__BEGIN_DECLS
typedef struct {
- volatile unsigned int count;
+ volatile unsigned int count;
+#ifdef __LP64__
+ int __reserved[3];
+#endif
} sem_t;
-#define SEM_FAILED NULL
+#define SEM_FAILED NULL
extern int sem_init(sem_t *sem, int pshared, unsigned int value);
diff --git a/9/platforms/android-19/arch-arm64/usr/include/signal.h b/9/platforms/android-19/arch-arm64/usr/include/signal.h
index 267f3e6..45c1cda 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/signal.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/signal.h
@@ -60,6 +60,12 @@ typedef int sig_atomic_t;
#define _NSIG (_KERNEL__NSIG + 1)
#define NSIG _NSIG
+/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */
+#define SIGRTMIN (__libc_current_sigrtmin())
+#define SIGRTMAX (__libc_current_sigrtmax())
+extern int __libc_current_sigrtmin(void);
+extern int __libc_current_sigrtmax(void);
+
extern const char* const sys_siglist[];
extern const char* const sys_signame[]; /* BSD compatibility. */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/stdint.h b/9/platforms/android-19/arch-arm64/usr/include/stdint.h
index 1f3d003..f34843c 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/stdint.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/stdint.h
@@ -30,6 +30,7 @@
#define _STDINT_H
#include <stddef.h>
+#include <machine/wchar_limits.h>
typedef __signed char __int8_t;
typedef unsigned char __uint8_t;
@@ -86,7 +87,7 @@ typedef uint8_t uint_fast8_t;
typedef int64_t int_fast64_t;
typedef uint64_t uint_fast64_t;
-#ifdef __LP64__
+#if defined(__LP64__)
typedef int64_t int_fast16_t;
typedef uint64_t uint_fast16_t;
typedef int64_t int_fast32_t;
@@ -135,7 +136,7 @@ typedef int64_t intmax_t;
#define INTMAX_C(c) INT64_C(c)
#define UINTMAX_C(c) UINT64_C(c)
-#ifdef __LP64__
+#if defined(__LP64__)
# define INT64_C(c) c ## L
# define UINT64_C(c) c ## UL
# define INTPTR_C(c) INT64_C(c)
@@ -200,15 +201,15 @@ typedef int64_t intmax_t;
#define SIG_ATOMIC_MAX INT32_MAX
#define SIG_ATOMIC_MIN INT32_MIN
-#ifndef WCHAR_MAX /* These might also have been defined by <wchar.h>. */
-# define WCHAR_MAX INT32_MAX
-# define WCHAR_MIN INT32_MIN
+#if defined(__WINT_UNSIGNED__)
+# define WINT_MAX UINT32_MAX
+# define WINT_MIN UINT32_MIN
+#else
+# define WINT_MAX INT32_MAX
+# define WINT_MIN INT32_MIN
#endif
-#define WINT_MAX INT32_MAX
-#define WINT_MIN INT32_MIN
-
-#ifdef __LP64__
+#if defined(__LP64__)
# define INTPTR_MIN INT64_MIN
# define INTPTR_MAX INT64_MAX
# define UINTPTR_MAX UINT64_MAX
diff --git a/9/platforms/android-19/arch-arm64/usr/include/stdlib.h b/9/platforms/android-19/arch-arm64/usr/include/stdlib.h
index 2c797c5..834dcda 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/stdlib.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/stdlib.h
@@ -46,10 +46,15 @@ extern __noreturn void exit(int);
extern __noreturn void _Exit(int);
extern int atexit(void (*)(void));
-extern char *getenv(const char *);
-extern int putenv(const char *);
-extern int setenv(const char *, const char *, int);
-extern int unsetenv(const char *);
+#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
+int at_quick_exit(void (*)(void));
+void quick_exit(int) __noreturn;
+#endif
+
+extern char* getenv(const char*);
+extern int putenv(char*);
+extern int setenv(const char*, const char*, int);
+extern int unsetenv(const char*);
extern int clearenv(void);
extern char* mkdtemp(char*);
@@ -65,9 +70,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;
diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h b/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h
index bb846b7..0479230 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h
@@ -32,7 +32,7 @@
#ifdef __LEADING_UNDERSCORE
#define _C_LABEL(x) __CONCAT(_,x)
-#define _C_LABEL_STRING(x) "_"x
+#define _C_LABEL_STRING(x) "_" x
#else
#define _C_LABEL(x) x
#define _C_LABEL_STRING(x) x
@@ -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")))
-
-/* 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 private and never exposed by the shared library. */
+#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden")))
+
+/* 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)
diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h b/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h
index c06a081..4a5a37c 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h
@@ -67,7 +67,11 @@ typedef union epoll_data {
struct epoll_event {
uint32_t events;
epoll_data_t data;
-};
+}
+#ifdef __x86_64__
+__packed
+#endif
+;
int epoll_create(int);
int epoll_create1(int);
diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/types.h b/9/platforms/android-19/arch-arm64/usr/include/sys/types.h
index dc847d2..9a76ad2 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/sys/types.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/sys/types.h
@@ -63,7 +63,7 @@ typedef __mode_t mode_t;
typedef __kernel_key_t __key_t;
typedef __key_t key_t;
-typedef uint32_t __ino_t;
+typedef __kernel_ino_t __ino_t;
typedef __ino_t ino_t;
typedef uint32_t __nlink_t;
@@ -72,9 +72,10 @@ typedef __nlink_t nlink_t;
typedef void* __timer_t;
typedef __timer_t timer_t;
-typedef int32_t __suseconds_t;
+typedef __kernel_suseconds_t __suseconds_t;
typedef __suseconds_t suseconds_t;
+/* useconds_t is 32-bit on both LP32 and LP64. */
typedef uint32_t __useconds_t;
typedef __useconds_t useconds_t;
diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/user.h b/9/platforms/android-19/arch-arm64/usr/include/sys/user.h
index 5348dd8..c578a6f 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/sys/user.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/sys/user.h
@@ -36,7 +36,7 @@ __BEGIN_DECLS
#if __i386__
-struct user_i387_struct {
+struct user_fpregs_struct {
long cwd;
long swd;
long twd;
@@ -83,7 +83,7 @@ struct user_regs_struct {
struct user {
struct user_regs_struct regs;
int u_fpvalid;
- struct user_i387_struct i387;
+ struct user_fpregs_struct i387;
unsigned long int u_tsize;
unsigned long int u_dsize;
unsigned long int u_ssize;
@@ -92,7 +92,7 @@ struct user {
long int signal;
int reserved;
unsigned long u_ar0;
- struct user_i387_struct* u_fpstate;
+ struct user_fpregs_struct* u_fpstate;
unsigned long magic;
char u_comm[32];
int u_debugreg[8];
@@ -100,7 +100,7 @@ struct user {
#elif defined(__x86_64__)
-struct user_i387_struct {
+struct user_fpregs_struct {
unsigned short cwd;
unsigned short swd;
unsigned short twd;
@@ -146,7 +146,7 @@ struct user {
struct user_regs_struct regs;
int u_fpvalid;
int pad0;
- struct user_i387_struct i387;
+ struct user_fpregs_struct i387;
unsigned long int u_tsize;
unsigned long int u_dsize;
unsigned long int u_ssize;
@@ -156,7 +156,7 @@ struct user {
int reserved;
int pad1;
unsigned long u_ar0;
- struct user_i387_struct* u_fpstate;
+ struct user_fpregs_struct* u_fpstate;
unsigned long magic;
char u_comm[32];
unsigned long u_debugreg[8];
diff --git a/9/platforms/android-19/arch-arm64/usr/include/time64.h b/9/platforms/android-19/arch-arm64/usr/include/time64.h
index 7ec05af..905669d 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/time64.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/time64.h
@@ -31,29 +31,36 @@ Modified for Bionic by the Android Open Source Project
#ifndef TIME64_H
#define TIME64_H
+#if defined(__LP64__)
+
+#error Your time_t is already 64-bit.
+
+#else
+
+/* Legacy cruft for LP32 where time_t was 32-bit. */
+
#include <sys/cdefs.h>
#include <time.h>
#include <stdint.h>
__BEGIN_DECLS
-typedef int64_t time64_t;
+typedef int64_t time64_t;
-struct tm *gmtime64_r (const time64_t *, struct tm *);
-struct tm *localtime64_r (const time64_t *, struct tm *);
-struct tm *gmtime64 (const time64_t *);
-struct tm *localtime64 (const time64_t *);
-
-char *asctime64 (const struct tm *);
-char *asctime64_r (const struct tm *, char *);
-
-char *ctime64 (const time64_t*);
-char *ctime64_r (const time64_t*, char*);
-
-time64_t timegm64 (const struct tm *);
-time64_t mktime64 (const struct tm *);
-time64_t timelocal64 (const struct tm *);
+char* asctime64(const struct tm*);
+char* asctime64_r(const struct tm*, char*);
+char* ctime64(const time64_t*);
+char* ctime64_r(const time64_t*, char*);
+struct tm* gmtime64(const time64_t*);
+struct tm* gmtime64_r(const time64_t*, struct tm*);
+struct tm* localtime64(const time64_t*);
+struct tm* localtime64_r(const time64_t*, struct tm*);
+time64_t mktime64(const struct tm*);
+time64_t timegm64(const struct tm*);
+time64_t timelocal64(const struct tm*);
__END_DECLS
+#endif
+
#endif /* TIME64_H */
diff --git a/9/platforms/android-19/arch-arm64/usr/include/unistd.h b/9/platforms/android-19/arch-arm64/usr/include/unistd.h
index d21f23d..6cb36d8 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/unistd.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/unistd.h
@@ -47,7 +47,8 @@ __BEGIN_DECLS
#define SEEK_CUR 1
#define SEEK_END 2
-extern char **environ;
+extern char** environ;
+
extern __noreturn void _exit(int);
extern pid_t fork(void);
diff --git a/9/platforms/android-19/arch-arm64/usr/include/utmp.h b/9/platforms/android-19/arch-arm64/usr/include/utmp.h
index ffd3c92..d764227 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/utmp.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/utmp.h
@@ -36,9 +36,15 @@
#define _PATH_WTMP "/var/log/wtmp"
#define _PATH_LASTLOG "/var/log/lastlog"
-#define UT_NAMESIZE 8
-#define UT_LINESIZE 8
-#define UT_HOSTSIZE 16
+#ifdef __LP64__
+#define UT_NAMESIZE 32
+#define UT_LINESIZE 32
+#define UT_HOSTSIZE 256
+#else
+#define UT_NAMESIZE 8
+#define UT_LINESIZE 8
+#define UT_HOSTSIZE 16
+#endif
#define USER_PROCESS 7
diff --git a/9/platforms/android-19/arch-arm64/usr/include/wchar.h b/9/platforms/android-19/arch-arm64/usr/include/wchar.h
index 89c6fb6..fe2fe07 100644
--- a/9/platforms/android-19/arch-arm64/usr/include/wchar.h
+++ b/9/platforms/android-19/arch-arm64/usr/include/wchar.h
@@ -34,12 +34,20 @@
#include <stdarg.h>
#include <stddef.h>
#include <time.h>
-#include <malloc.h>
+
+#include <machine/wchar_limits.h>
__BEGIN_DECLS
-typedef __WINT_TYPE__ wint_t;
-typedef struct { int dummy; } mbstate_t;
+typedef __WINT_TYPE__ wint_t;
+typedef struct {
+#ifdef __LP32__
+ int dummy;
+#else
+ // 8 bytes should be enough to support at least UTF-8
+ char __reserved[8];
+#endif
+} mbstate_t;
typedef enum {
WC_TYPE_INVALID = 0,
@@ -58,11 +66,6 @@ typedef enum {
WC_TYPE_MAX
} wctype_t;
-#ifndef WCHAR_MAX
-#define WCHAR_MAX INT_MAX
-#define WCHAR_MIN INT_MIN
-#endif
-
#define WEOF ((wint_t)(-1))
extern wint_t btowc(int);
@@ -70,6 +73,7 @@ extern int fwprintf(FILE *, const wchar_t *, ...);
extern int fwscanf(FILE *, const wchar_t *, ...);
extern int iswalnum(wint_t);
extern int iswalpha(wint_t);
+extern int iswblank(wint_t);
extern int iswcntrl(wint_t);
extern int iswdigit(wint_t);
extern int iswgraph(wint_t);
@@ -90,7 +94,8 @@ extern wint_t getwchar(void);
extern int mbsinit(const mbstate_t *);
extern size_t mbrlen(const char *, size_t, mbstate_t *);
extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
-extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
+extern size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*);
+extern size_t mbsnrtowcs(wchar_t*, const char**, size_t, size_t, mbstate_t*);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern wint_t putwc(wchar_t, FILE *);
extern wint_t putwchar(wchar_t);
@@ -99,9 +104,12 @@ extern int swscanf(const wchar_t *, const wchar_t *, ...);
extern wint_t towlower(wint_t);
extern wint_t towupper(wint_t);
extern wint_t ungetwc(wint_t, FILE *);
-extern int vfwprintf(FILE *, const wchar_t *, va_list);
-extern int vwprintf(const wchar_t *, va_list);
-extern int vswprintf(wchar_t *, size_t, const wchar_t *, va_list);
+extern int vfwprintf(FILE*, const wchar_t*, va_list);
+extern int vfwscanf(FILE*, const wchar_t*, va_list);
+extern int vswprintf(wchar_t*, size_t, const wchar_t*, va_list);
+extern int vswscanf(const wchar_t*, const wchar_t*, va_list);
+extern int vwprintf(const wchar_t*, va_list);
+extern int vwscanf(const wchar_t*, va_list);
extern size_t wcrtomb(char *, wchar_t, mbstate_t *);
extern int wcscasecmp(const wchar_t *, const wchar_t *);
extern wchar_t *wcscat(wchar_t *, const wchar_t *);
@@ -116,16 +124,20 @@ extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t);
extern int wcsncmp(const wchar_t *, const wchar_t *, size_t);
extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t);
+extern size_t wcsnrtombs(char*, const wchar_t**, size_t, size_t, mbstate_t*);
extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
-extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
+extern size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*);
extern size_t wcsspn(const wchar_t *, const wchar_t *);
extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
-extern double wcstod(const wchar_t *, wchar_t **);
-extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **);
-extern long int wcstol(const wchar_t *, wchar_t **, int);
-extern size_t wcstombs(char *, const wchar_t *, size_t);
-extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
+extern double wcstod(const wchar_t*, wchar_t**);
+extern float wcstof(const wchar_t*, wchar_t**);
+extern wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
+extern long wcstol(const wchar_t*, wchar_t**, int);
+extern long long wcstoll(const wchar_t*, wchar_t**, int);
+extern long double wcstold(const wchar_t*, wchar_t**);
+extern unsigned long wcstoul(const wchar_t*, wchar_t**, int);
+extern unsigned long long wcstoull(const wchar_t*, wchar_t**, int);
extern wchar_t *wcswcs(const wchar_t *, const wchar_t *);
extern int wcswidth(const wchar_t *, size_t);
extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o
index 03629d2..b8c3e04 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o
+++ b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o
index ae913aa..93f4f91 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o
+++ b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o
index 03629d2..b8c3e04 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o
+++ b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o b/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o
index a8bbf0d..a5bf084 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o
+++ b/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o b/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o
index 84a2f46..8330c9d 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o
+++ b/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so b/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so
index 8d12e8f..1e15167 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so
index 69ee24d..c9fb7c9 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so
index 5ac6347..c153102 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so
index b0ab4f6..e0c4fca 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so b/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so
index 40665c5..1339835 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so b/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so
index 5b6d7e3..a7f2935 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so b/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so
index 3a78f16..ebba01d 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libc.a b/9/platforms/android-19/arch-arm64/usr/lib/libc.a
index 244f178..737b48d 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/libc.a
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libc.a
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libc.so b/9/platforms/android-19/arch-arm64/usr/lib/libc.so
index 7041545..3dadbfc 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libc.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libc.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libdl.so b/9/platforms/android-19/arch-arm64/usr/lib/libdl.so
index 6aed7c1..364775d 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libdl.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libdl.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so b/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so
index 4c47cb4..37268de 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/liblog.so b/9/platforms/android-19/arch-arm64/usr/lib/liblog.so
index 11aafff..214ee45 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/liblog.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/liblog.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libm.a b/9/platforms/android-19/arch-arm64/usr/lib/libm.a
index 1ef1f14..2c5d4f8 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/libm.a
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libm.a
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libm.so b/9/platforms/android-19/arch-arm64/usr/lib/libm.so
index c9a409a..a63d39a 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libm.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libm.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a
index c60c482..35b02d5 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so
index 4bcbe9b..1fafc4b 100755
--- a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so
Binary files differ
diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libz.a b/9/platforms/android-19/arch-arm64/usr/lib/libz.a
index 616d6fd..c6b60b0 100644
--- a/9/platforms/android-19/arch-arm64/usr/lib/libz.a
+++ b/9/platforms/android-19/arch-arm64/usr/lib/libz.a
Binary files differ