diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2014-04-09 06:48:46 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2014-04-09 18:01:25 -0700 |
commit | e003ef06f962ca294f8dc9e66ad607d15c2d7b9e (patch) | |
tree | 0fa0b083b96e0c12ed6c0201beead2a301bf46c1 /9/platforms/android-19/arch-x86_64 | |
parent | f16ac96a5a72d5ac734c05d22d7a0c0d925638f7 (diff) | |
download | prebuilts_ndk-e003ef06f962ca294f8dc9e66ad607d15c2d7b9e.zip prebuilts_ndk-e003ef06f962ca294f8dc9e66ad607d15c2d7b9e.tar.gz prebuilts_ndk-e003ef06f962ca294f8dc9e66ad607d15c2d7b9e.tar.bz2 |
Update 64-bit headers/libs
Change-Id: I3b8f0aee28393796e537cfba6347c068e1cb1c2f
Diffstat (limited to '9/platforms/android-19/arch-x86_64')
39 files changed, 352 insertions, 238 deletions
diff --git a/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/fcntl.h b/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/fcntl.h index f7b24a5..207734f 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/fcntl.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/fcntl.h @@ -112,84 +112,89 @@ #define F_GETSIG 11 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif +#ifndef __LP64__ #ifndef F_GETLK64 #define F_GETLK64 12 -#define F_SETLK64 13 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define F_SETLK64 13 #define F_SETLKW64 14 #endif +#endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifndef F_SETOWN_EX #define F_SETOWN_EX 15 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_GETOWN_EX 16 #endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifndef F_GETOWNER_UIDS #define F_GETOWNER_UIDS 17 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif #define F_OWNER_TID 0 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_OWNER_PID 1 #define F_OWNER_PGRP 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct f_owner_ex { int type; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_pid_t pid; }; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define FD_CLOEXEC 1 #ifndef F_RDLCK +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_RDLCK 0 #define F_WRLCK 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_UNLCK 2 #endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifndef F_EXLCK #define F_EXLCK 4 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_SHLCK 8 #endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define LOCK_SH 1 #define LOCK_EX 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define LOCK_NB 4 #define LOCK_UN 8 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define LOCK_MAND 32 #define LOCK_READ 64 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define LOCK_WRITE 128 #define LOCK_RW 192 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define F_LINUX_SPECIFIC_BASE 1024 #ifndef HAVE_ARCH_STRUCT_FLOCK -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifndef __ARCH_FLOCK_PAD #define __ARCH_FLOCK_PAD +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif struct flock { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ short l_type; short l_whence; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_off_t l_start; __kernel_off_t l_len; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_pid_t l_pid; __ARCH_FLOCK_PAD +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; #endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#ifndef __LP64__ #ifndef HAVE_ARCH_STRUCT_FLOCK64 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifndef __ARCH_FLOCK64_PAD #define __ARCH_FLOCK64_PAD #endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct flock64 { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ short l_type; short l_whence; __kernel_loff_t l_start; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_loff_t l_len; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_pid_t l_pid; __ARCH_FLOCK64_PAD }; +#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif #endif diff --git a/9/platforms/android-19/arch-x86_64/usr/include/asm/page.h b/9/platforms/android-19/arch-x86_64/usr/include/asm/page.h deleted file mode 100644 index d401a3f..0000000 --- a/9/platforms/android-19/arch-x86_64/usr/include/asm/page.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2013 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 __ASM_PAGE_H -#define __ASM_PAGE_H - -/* New code should use sysconf(_SC_PAGESIZE) instead. */ -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1ULL << PAGE_SHIFT) -#define PAGE_MASK (~(PAGE_SIZE - 1)) - -#endif diff --git a/9/platforms/android-19/arch-x86_64/usr/include/fcntl.h b/9/platforms/android-19/arch-x86_64/usr/include/fcntl.h index 779a089..cd68154 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/fcntl.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/fcntl.h @@ -37,6 +37,20 @@ __BEGIN_DECLS +#ifdef __LP64__ +/* LP64 kernels don't have flock64 because their flock is 64-bit. */ +struct flock64 { + short l_type; + short l_whence; + off64_t l_start; + off64_t l_len; + pid_t l_pid; +}; +#define F_GETLK64 F_GETLK +#define F_SETLK64 F_SETLK +#define F_SETLKW64 F_SETLKW +#endif + #ifndef O_ASYNC #define O_ASYNC FASYNC #endif diff --git a/9/platforms/android-19/arch-x86_64/usr/include/i386/elf_machdep.h b/9/platforms/android-19/arch-x86_64/usr/include/i386/elf_machdep.h new file mode 100644 index 0000000..442c561 --- /dev/null +++ b/9/platforms/android-19/arch-x86_64/usr/include/i386/elf_machdep.h @@ -0,0 +1,63 @@ +/* $NetBSD: elf_machdep.h,v 1.10 2009/05/30 05:56:52 skrll Exp $ */ + +#define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB +#define ELF32_MACHDEP_ID_CASES \ + case EM_386: \ + case EM_486: \ + break; + +#define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */ +#define ELF64_MACHDEP_ID_CASES \ + /* no 64-bit ELF machine types supported */ + +#define ELF32_MACHDEP_ID EM_386 + +#define ARCH_ELFSIZE 32 /* MD native binary size */ + +/* i386 relocations */ +#define R_386_NONE 0 +#define R_386_32 1 +#define R_386_PC32 2 +#define R_386_GOT32 3 +#define R_386_PLT32 4 +#define R_386_COPY 5 +#define R_386_GLOB_DAT 6 +#define R_386_JMP_SLOT 7 +#define R_386_RELATIVE 8 +#define R_386_GOTOFF 9 +#define R_386_GOTPC 10 + +/* TLS relocations */ +#define R_386_TLS_TPOFF 14 +#define R_386_TLS_IE 15 +#define R_386_TLS_GOTIE 16 +#define R_386_TLS_LE 17 +#define R_386_TLS_GD 18 +#define R_386_TLS_LDM 19 + +/* The following relocations are GNU extensions. */ +#define R_386_16 20 +#define R_386_PC16 21 +#define R_386_8 22 +#define R_386_PC8 23 + +/* More TLS relocations */ +#define R_386_TLS_GD_32 24 +#define R_386_TLS_GD_PUSH 25 +#define R_386_TLS_GD_CALL 26 +#define R_386_TLS_GD_POP 27 +#define R_386_TLS_LDM_32 28 +#define R_386_TLS_LDM_PUSH 29 +#define R_386_TLS_LDM_CALL 30 +#define R_386_TLS_LDM_POP 31 +#define R_386_TLS_LDO_32 32 +#define R_386_TLS_IE_32 33 +#define R_386_TLS_LE_32 34 +#define R_386_TLS_DTPMOD32 35 +#define R_386_TLS_DTPOFF32 36 +#define R_386_TLS_TPOFF32 37 +#define R_386_TLS_GOTDESC 39 +#define R_386_TLS_DESC_CALL 40 +#define R_386_TLS_DESC 41 + +#define R_TYPE(name) __CONCAT(R_386_,name) diff --git a/9/platforms/android-19/arch-x86_64/usr/include/limits.h b/9/platforms/android-19/arch-x86_64/usr/include/limits.h index 471d380..a70021a 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/limits.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/limits.h @@ -105,6 +105,15 @@ #define ULONG_LONG_MAX ULLONG_MAX #endif +/* BSD compatibility definitions. */ +#if __BSD_VISIBLE +#define SIZE_T_MAX ULONG_MAX +#endif /* __BSD_VISIBLE */ + +#define SSIZE_MAX LONG_MAX + +#define MB_LEN_MAX 1 /* No multibyte characters. */ + /* New code should use sysconf(_SC_PAGE_SIZE) instead. */ #ifndef PAGE_SIZE #define PAGE_SIZE 4096 diff --git a/9/platforms/android-19/arch-x86_64/usr/include/locale.h b/9/platforms/android-19/arch-x86_64/usr/include/locale.h index 4f99613..6989851 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/locale.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/locale.h @@ -29,6 +29,7 @@ #define _LOCALE_H_ #include <sys/cdefs.h> +#include <xlocale.h> __BEGIN_DECLS @@ -43,17 +44,66 @@ enum { LC_PAPER = 7, LC_NAME = 8, LC_ADDRESS = 9, - LC_TELEPHONE = 10, LC_MEASUREMENT = 11, LC_IDENTIFICATION = 12 }; -extern char* setlocale(int, const char*); +#define LC_CTYPE_MASK (1 << LC_CTYPE) +#define LC_NUMERIC_MASK (1 << LC_NUMERIC) +#define LC_TIME_MASK (1 << LC_TIME) +#define LC_COLLATE_MASK (1 << LC_COLLATE) +#define LC_MONETARY_MASK (1 << LC_MONETARY) +#define LC_MESSAGES_MASK (1 << LC_MESSAGES) +#define LC_PAPER_MASK (1 << LC_PAPER) +#define LC_NAME_MASK (1 << LC_NAME) +#define LC_ADDRESS_MASK (1 << LC_ADDRESS) +#define LC_TELEPHONE_MASK (1 << LC_TELEPHONE) +#define LC_MEASUREMENT_MASK (1 << LC_MEASUREMENT) +#define LC_IDENTIFICATION_MASK (1 << LC_IDENTIFICATION) + +#define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | \ + LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | \ + LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | \ + LC_IDENTIFICATION_MASK) + +struct lconv { + char* decimal_point; + char* thousands_sep; + char* grouping; + char* int_curr_symbol; + char* currency_symbol; + char* mon_decimal_point; + char* mon_thousands_sep; + char* mon_grouping; + char* positive_sign; + char* negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; + char int_p_cs_precedes; + char int_p_sep_by_space; + char int_n_cs_precedes; + char int_n_sep_by_space; + char int_p_sign_posn; + char int_n_sign_posn; +}; -struct lconv { }; struct lconv* localeconv(void); +locale_t duplocale(locale_t); +void freelocale(locale_t); +locale_t newlocale(int, const char*, locale_t); +char* setlocale(int, const char*); +locale_t uselocale(locale_t); + +#define LC_GLOBAL_LOCALE ((locale_t) -1L) + __END_DECLS #endif /* _LOCALE_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/machine/fenv.h b/9/platforms/android-19/arch-x86_64/usr/include/machine/fenv.h index f3fabb6..79a4120 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/machine/fenv.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/machine/fenv.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG> + * Copyright (c) 2004-2005 David Schultz <das (at) FreeBSD.ORG> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,50 +22,83 @@ * 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. - * - * $FreeBSD: src/lib/msun/i387/fenv.h,v 1.4 2005/03/17 22:21:46 das Exp $ */ -#ifndef _I387_FENV_H_ -#define _I387_FENV_H_ +#ifndef _AMD64_FENV_H_ +#define _AMD64_FENV_H_ #include <sys/types.h> __BEGIN_DECLS /* - * To preserve binary compatibility with FreeBSD 5.3, we pack the - * mxcsr into some reserved fields, rather than changing sizeof(fenv_t). + * Each symbol representing a floating point exception expands to an integer + * constant expression with values, such that bitwise-inclusive ORs of _all + * combinations_ of the constants result in distinct values. + * + * We use such values that allow direct bitwise operations on FPU/SSE registers. */ -typedef struct { - __uint16_t __control; - __uint16_t __mxcsr_hi; - __uint16_t __status; - __uint16_t __mxcsr_lo; - __uint32_t __tag; - char __other[16]; -} fenv_t; - -typedef __uint16_t fexcept_t; - -/* Exception flags */ #define FE_INVALID 0x01 #define FE_DENORMAL 0x02 #define FE_DIVBYZERO 0x04 #define FE_OVERFLOW 0x08 #define FE_UNDERFLOW 0x10 #define FE_INEXACT 0x20 -#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_DENORMAL | FE_INEXACT | \ - FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW) -/* Rounding modes */ -#define FE_TONEAREST 0x0000 -#define FE_DOWNWARD 0x0400 -#define FE_UPWARD 0x0800 -#define FE_TOWARDZERO 0x0c00 -#define _ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | \ - FE_UPWARD | FE_TOWARDZERO) +/* + * The following symbol is simply the bitwise-inclusive OR of all floating-point + * exception constants defined above. + */ +#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO | \ + FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) +#define _SSE_MASK_SHIFT 7 + +/* + * Each symbol representing the rounding direction, expands to an integer + * constant expression whose value is distinct non-negative value. + * + * We use such values that allow direct bitwise operations on FPU/SSE registers. + */ +#define FE_TONEAREST 0x000 +#define FE_DOWNWARD 0x400 +#define FE_UPWARD 0x800 +#define FE_TOWARDZERO 0xc00 + +/* + * The following symbol is simply the bitwise-inclusive OR of all floating-point + * rounding direction constants defined above. + */ +#define _X87_ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | \ + FE_TOWARDZERO) +#define _SSE_ROUND_SHIFT 3 + +/* + * fenv_t represents the entire floating-point environment. + */ +typedef struct { + struct { + __uint32_t __control; /* Control word register */ + __uint32_t __status; /* Status word register */ + __uint32_t __tag; /* Tag word register */ + __uint32_t __others[4]; /* EIP, Pointer Selector, etc */ + } __x87; + __uint32_t __mxcsr; /* Control, status register */ +} fenv_t; + +/* + * fexcept_t represents the floating-point status flags collectively, including + * any status the implementation associates with the flags. + * + * A floating-point status flag is a system variable whose value is set (but + * never cleared) when a floating-point exception is raised, which occurs as a + * side effect of exceptional floating-point arithmetic to provide auxiliary + * information. + * + * A floating-point control mode is a system variable whose value may be set by + * the user to affect the subsequent behavior of floating-point arithmetic. + */ +typedef __uint32_t fexcept_t; __END_DECLS -#endif /* !I387_FENV_H_ */ +#endif /* !_AMD64_FENV_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/netdb.h b/9/platforms/android-19/arch-x86_64/usr/include/netdb.h index 62a7a3c..ead5954 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/netdb.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/netdb.h @@ -207,13 +207,11 @@ void endprotoent(void); void endservent(void); void freehostent(struct hostent *); struct hostent *gethostbyaddr(const void *, socklen_t, int); -struct hostent *android_gethostbyaddrforiface(const void *, socklen_t, int, const char*, int); int gethostbyaddr_r(const void *, int, int, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname(const char *); int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *gethostbyname2(const char *, int); int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); -struct hostent *android_gethostbynameforiface(const char *, int, const char *, int); struct hostent *gethostent(void); int gethostent_r(struct hostent *, char *, size_t, struct hostent **, int *); struct hostent *getipnodebyaddr(const void *, size_t, int, int *); @@ -241,9 +239,7 @@ void sethostent(int); void setnetent(int); void setprotoent(int); int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); -int android_getaddrinfoforiface(const char *, const char *, const struct addrinfo *, const char *, int, struct addrinfo **); int getnameinfo(const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int); -int android_getnameinfoforiface(const struct sockaddr *, socklen_t, char *, size_t, char *, size_t, int, const char *, int); void freeaddrinfo(struct addrinfo *); const char *gai_strerror(int); void setnetgrent(const char *); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/search.h b/9/platforms/android-19/arch-x86_64/usr/include/search.h index 1301a08..b2c0e6b 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/search.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/search.h @@ -10,29 +10,34 @@ #define _SEARCH_H_ #include <sys/cdefs.h> +#include <sys/types.h> -typedef enum { - preorder, - postorder, - endorder, - leaf +typedef enum { + preorder, + postorder, + endorder, + leaf } VISIT; #ifdef _SEARCH_PRIVATE -typedef struct node { - char *key; - struct node *llink, *rlink; +typedef struct node { + char* key; + struct node* llink; + struct node* rlink; } node_t; #endif __BEGIN_DECLS -void *tdelete(const void * __restrict, void ** __restrict, - int (*)(const void *, const void *)); -void *tfind(const void *, void * const *, - int (*)(const void *, const void *)); -void *tsearch(const void *, void **, int (*)(const void *, const void *)); -void twalk(const void *, void (*)(const void *, VISIT, int)); -void tdestroy(void *, void (*)(void *)); + +void* lfind(const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)); +void* lsearch(const void*, void*, size_t*, size_t, int (*)(const void*, const void*)); + +void* tdelete(const void* __restrict, void** __restrict, int (*)(const void*, const void*)); +void tdestroy(void*, void (*)(void*)); +void* tfind(const void*, void* const*, int (*)(const void*, const void*)); +void* tsearch(const void*, void**, int (*)(const void*, const void*)); +void twalk(const void*, void (*)(const void*, VISIT, int)); + __END_DECLS #endif /* !_SEARCH_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/stdio.h b/9/platforms/android-19/arch-x86_64/usr/include/stdio.h index 7d30b38..1d89b9b 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/stdio.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/stdio.h @@ -253,10 +253,10 @@ int vprintf(const char * __restrict, __va_list) #ifndef __AUDIT__ char* gets(char*) __warnattr("gets is very unsafe; consider using fgets"); int sprintf(char* __restrict, const char* __restrict, ...) - __printflike(2, 3) __warnattr("sprintf is often misused; please use snprintf"); + __printflike(2, 3); //__warnattr("sprintf is often misused; please use snprintf"); char* tmpnam(char*) __warnattr("tmpnam possibly used unsafely; consider using mkstemp"); int vsprintf(char* __restrict, const char* __restrict, __va_list) - __printflike(2, 0) __warnattr("vsprintf is often misused; please use vsnprintf"); + __printflike(2, 0); //__warnattr("vsprintf is often misused; please use vsnprintf"); #if __XPG_VISIBLE char* tempnam(const char*, const char*) __warnattr("tempnam possibly used unsafely; consider using mkstemp"); @@ -393,10 +393,10 @@ int vsprintf(char *dest, const char *format, __va_list ap) } #if defined(__clang__) -#if !defined(WITH_SYNTAX_CHECK) -#define __wrap_snprintf(dest, size, ...) __builtin___snprintf_chk(dest, size, 0, __bos(dest), __VA_ARGS__) -#define snprintf(...) __wrap_snprintf(__VA_ARGS__) -#endif + #if !defined(snprintf) + #define __wrap_snprintf(dest, size, ...) __builtin___snprintf_chk(dest, size, 0, __bos(dest), __VA_ARGS__) + #define snprintf(...) __wrap_snprintf(__VA_ARGS__) + #endif #else __BIONIC_FORTIFY_INLINE __printflike(3, 4) @@ -408,10 +408,10 @@ int snprintf(char *dest, size_t size, const char *format, ...) #endif #if defined(__clang__) -#if !defined(WITH_SYNTAX_CHECK) -#define __wrap_sprintf(dest, ...) __builtin___sprintf_chk(dest, 0, __bos(dest), __VA_ARGS__) -#define sprintf(...) __wrap_sprintf(__VA_ARGS__) -#endif + #if !defined(sprintf) + #define __wrap_sprintf(dest, ...) __builtin___sprintf_chk(dest, 0, __bos(dest), __VA_ARGS__) + #define sprintf(...) __wrap_sprintf(__VA_ARGS__) + #endif #else __BIONIC_FORTIFY_INLINE __printflike(2, 3) diff --git a/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h b/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h index 9b7e6d1..2c797c5 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h @@ -41,8 +41,9 @@ __BEGIN_DECLS #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 -extern __noreturn void exit(int); extern __noreturn void abort(void); +extern __noreturn void exit(int); +extern __noreturn void _Exit(int); extern int atexit(void (*)(void)); extern char *getenv(const char *); @@ -151,7 +152,6 @@ extern lldiv_t lldiv(long long, long long); extern const char* getprogname(void); extern void setprogname(const char*); -#if 1 /* MISSING FROM BIONIC - ENABLED FOR STLPort and libstdc++-v3 */ /* make STLPort happy */ extern int mblen(const char *, size_t); extern size_t mbstowcs(wchar_t *, const char *, size_t); @@ -160,7 +160,6 @@ extern int mbtowc(wchar_t *, const char *, size_t); /* Likewise, make libstdc++-v3 happy. */ extern int wctomb(char *, wchar_t); extern size_t wcstombs(char *, const wchar_t *, size_t); -#endif /* MISSING */ #define MB_CUR_MAX 1 diff --git a/9/platforms/android-19/arch-x86_64/usr/include/string.h b/9/platforms/android-19/arch-x86_64/usr/include/string.h index f00e291..c9ae03b 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/string.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/string.h @@ -53,6 +53,7 @@ extern char* __strrchr_chk(const char *, int, size_t); extern size_t strlen(const char *) __purefunc; extern size_t __strlen_chk(const char *, size_t); extern int strcmp(const char *, const char *) __purefunc; +extern char* stpcpy(char* __restrict, const char* __restrict); extern char* strcpy(char* __restrict, const char* __restrict); extern char* strcat(char* __restrict, const char* __restrict); @@ -72,6 +73,7 @@ extern size_t strnlen(const char *, size_t) __purefunc; extern char* strncat(char* __restrict, const char* __restrict, size_t); extern char* strndup(const char *, size_t); extern int strncmp(const char *, const char *, size_t) __purefunc; +extern char* stpncpy(char* __restrict, const char* __restrict, size_t); extern char* strncpy(char* __restrict, const char* __restrict, size_t); extern size_t strlcat(char* __restrict, const char* __restrict, size_t); @@ -89,8 +91,8 @@ extern size_t strxfrm(char* __restrict, const char* __restrict, size_t); #if defined(__BIONIC_FORTIFY) -__errordecl(__memcpy_dest_size_error, "memcpy called with size bigger than destination"); -__errordecl(__memcpy_src_size_error, "memcpy called with size bigger than source"); +__errordecl(__memcpy_dest_size_error, "memcpy: prevented write past end of buffer"); +__errordecl(__memcpy_src_size_error, "memcpy: prevented read past end of buffer"); __BIONIC_FORTIFY_INLINE void* memcpy(void* __restrict dest, const void* __restrict src, size_t copy_amount) { @@ -116,11 +118,43 @@ void* memmove(void *dest, const void *src, size_t len) { } __BIONIC_FORTIFY_INLINE +char* stpcpy(char* __restrict dest, const char* __restrict src) { + return __builtin___stpcpy_chk(dest, src, __bos(dest)); +} + +__BIONIC_FORTIFY_INLINE char* strcpy(char* __restrict dest, const char* __restrict src) { return __builtin___strcpy_chk(dest, src, __bos(dest)); } -__errordecl(__strncpy_error, "strncpy called with size bigger than buffer"); +__errordecl(__stpncpy_error, "stpncpy: prevented write past end of buffer"); +extern char* __stpncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t); + +__BIONIC_FORTIFY_INLINE +char* stpncpy(char* __restrict dest, const char* __restrict src, size_t n) { + size_t bos_dest = __bos(dest); + size_t bos_src = __bos(src); + if (__builtin_constant_p(n) && (n > bos_dest)) { + __stpncpy_error(); + } + + if (bos_src == __BIONIC_FORTIFY_UNKNOWN_SIZE) { + return __builtin___stpncpy_chk(dest, src, n, bos_dest); + } + + if (__builtin_constant_p(n) && (n <= bos_src)) { + return __builtin___stpncpy_chk(dest, src, n, bos_dest); + } + + size_t slen = __builtin_strlen(src); + if (__builtin_constant_p(slen)) { + return __builtin___stpncpy_chk(dest, src, n, bos_dest); + } + + return __stpncpy_chk2(dest, src, n, bos_dest, bos_src); +} + +__errordecl(__strncpy_error, "strncpy: prevented write past end of buffer"); extern char* __strncpy_chk2(char* __restrict, const char* __restrict, size_t, size_t, size_t); __BIONIC_FORTIFY_INLINE @@ -164,7 +198,7 @@ void* memset(void *s, int c, size_t n) { extern size_t __strlcpy_real(char* __restrict, const char* __restrict, size_t) __asm__(__USER_LABEL_PREFIX__ "strlcpy"); -__errordecl(__strlcpy_error, "strlcpy called with size bigger than buffer"); +__errordecl(__strlcpy_error, "strlcpy: prevented write past end of buffer"); extern size_t __strlcpy_chk(char *, const char *, size_t, size_t); __BIONIC_FORTIFY_INLINE @@ -195,7 +229,7 @@ size_t strlcpy(char* __restrict dest, const char* __restrict src, size_t size) { extern size_t __strlcat_real(char* __restrict, const char* __restrict, size_t) __asm__(__USER_LABEL_PREFIX__ "strlcat"); -__errordecl(__strlcat_error, "strlcat called with size bigger than buffer"); +__errordecl(__strlcat_error, "strlcat: prevented write past end of buffer"); extern size_t __strlcat_chk(char* __restrict, const char* __restrict, size_t, size_t); @@ -244,7 +278,6 @@ size_t strlen(const char *s) { return __strlen_chk(s, bos); } -#if !defined(HAS_STRCHR) __BIONIC_FORTIFY_INLINE char* strchr(const char *s, int c) { size_t bos = __bos(s); @@ -263,7 +296,6 @@ char* strchr(const char *s, int c) { return __strchr_chk(s, c, bos); } -#endif __BIONIC_FORTIFY_INLINE char* strrchr(const char *s, int c) { diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/_types.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/_types.h deleted file mode 100644 index 7b99e06..0000000 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/_types.h +++ /dev/null @@ -1,77 +0,0 @@ -/* $OpenBSD: _types.h,v 1.1 2006/01/06 18:53:05 millert Exp $ */ - -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - * - * @(#)types.h 8.3 (Berkeley) 1/5/94 - */ - -#ifndef _SYS__TYPES_H_ -#define _SYS__TYPES_H_ - -#undef __KERNEL_STRICT_NAMES -#define __KERNEL_STRICT_NAMES 1 - -#include <machine/_types.h> - -typedef unsigned long __cpuid_t; /* CPU id */ -typedef __int32_t __dev_t; /* device number */ -typedef __uint32_t __fixpt_t; /* fixed point number */ -typedef __uint32_t __gid_t; /* group id */ -typedef __uint32_t __id_t; /* may contain pid, uid or gid */ -typedef __uint32_t __in_addr_t; /* base type for internet address */ -typedef __uint16_t __in_port_t; /* IP port type */ -typedef __uint32_t __ino_t; /* inode number */ -typedef long __key_t; /* IPC key (for Sys V IPC) */ -typedef __uint32_t __mode_t; /* permissions */ -typedef __uint32_t __nlink_t; /* link count */ -typedef __int32_t __pid_t; /* process id */ -typedef __uint64_t __rlim_t; /* resource limit */ -typedef __uint16_t __sa_family_t; /* sockaddr address family type */ -typedef __int32_t __segsz_t; /* segment size */ -typedef __uint32_t __socklen_t; /* length type for network syscalls */ -typedef __int32_t __swblk_t; /* swap offset */ -typedef __uint32_t __uid_t; /* user id */ -typedef __uint32_t __useconds_t; /* microseconds */ -typedef __int32_t __suseconds_t; /* microseconds (signed) */ - -/* - * mbstate_t is an opaque object to keep conversion state, during multibyte - * stream conversions. The content must not be referenced by user programs. - */ -typedef union { - char __mbstate8[128]; - __int64_t __mbstateL; /* for alignment */ -} __mbstate_t; - -/* BIONIC: if we're using non-cleaned up user-level kernel headers, - * this will prevent many type declaration conflicts - */ -#define __KERNEL_STRICT_NAMES 1 - -#endif /* !_SYS__TYPES_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs.h index 1f7cfc8..8ab5b47 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs.h @@ -528,6 +528,13 @@ #define __BIONIC__ 1 #include <android/api-level.h> +/* glibc compatibility. */ +#if __LP64__ +#define __WORDSIZE 64 +#else +#define __WORDSIZE 32 +#endif + /* * When _FORTIFY_SOURCE is defined, automatic bounds checking is * added to commonly used libc functions. If a buffer overrun is diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/limits.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/limits.h index 36f73b2..c50eb10 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/limits.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/limits.h @@ -31,9 +31,6 @@ /* Common definitions for limits.h. */ -/* Legacy */ -#include <machine/limits.h> - #define CHAR_BIT 8 /* number of bits in a char */ #define SCHAR_MAX 0x7f /* max value for a signed char */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/param.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/param.h index 37c6427..e64d6ce 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/param.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/param.h @@ -34,16 +34,6 @@ #define MAXPATHLEN PATH_MAX #define MAXSYMLINKS 8 -#if __LP64__ -#define ALIGNBYTES 7 -#else -#define ALIGNBYTES 3 -#endif - -#ifndef ALIGN -#define ALIGN(p) (((uintptr_t)(p) + ALIGNBYTES) &~ ALIGNBYTES) -#endif - /* Macros for counting and rounding. */ #ifndef howmany #define howmany(x, y) (((x)+((y)-1))/(y)) diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/socket.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/socket.h index 62a5300..7edaac9 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/socket.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/socket.h @@ -107,36 +107,17 @@ struct cmsghdr { int cmsg_type; }; -#define __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg)) #define CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) #define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) #define CMSG_DATA(cmsg) ((void*)((char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) #define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) #define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) -#define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? (struct cmsghdr*)(ctl) : (struct cmsghdr*)NULL) -#define CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) +#define CMSG_FIRSTHDR(msg) \ + ((msg)->msg_controllen >= sizeof(struct cmsghdr) \ + ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL) #define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char*)(cmsg) - (char*)(mhdr)->msg_control))) -#ifdef __GNUC__ -#define __KINLINE static __inline__ -#elif defined(__cplusplus) -#define __KINLINE static inline -#else -#define __KINLINE static -#endif - -__KINLINE struct cmsghdr* __cmsg_nxthdr(void* __ctl, size_t __size, struct cmsghdr* __cmsg) { - struct cmsghdr* __ptr; - __ptr = (struct cmsghdr*)(((unsigned char*) __cmsg) + CMSG_ALIGN(__cmsg->cmsg_len)); - if ((unsigned long)((char*)(__ptr+1) - (char*) __ctl) > __size) { - return NULL; - } - return __ptr; -} - -__KINLINE struct cmsghdr* cmsg_nxthdr (struct msghdr* __msg, struct cmsghdr* __cmsg) { - return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg); -} +struct cmsghdr* cmsg_nxthdr(struct msghdr*, struct cmsghdr*); #define SCM_RIGHTS 0x01 #define SCM_CREDENTIALS 0x02 @@ -288,6 +269,7 @@ struct ucred { #endif __socketcall int accept(int, struct sockaddr*, socklen_t*); +__socketcall int accept4(int, struct sockaddr*, socklen_t*, int); __socketcall int bind(int, const struct sockaddr*, int); __socketcall int connect(int, const struct sockaddr*, socklen_t); __socketcall int getpeername(int, struct sockaddr*, socklen_t*); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/socketcalls.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/socketcalls.h index c74f463..131e0bb 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/socketcalls.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/socketcalls.h @@ -47,5 +47,8 @@ #define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */ #define SYS_SENDMSG 16 /* sys_sendmsg(2) */ #define SYS_RECVMSG 17 /* sys_recvmsg(2) */ +#define SYS_ACCEPT4 18 /* sys_accept4(2) */ +#define SYS_RECVMMSG 19 /* sys_recvmmsg(2) */ +#define SYS_SENDMMSG 20 /* sys_sendmmsg(2) */ #endif /* _SYS_SOCKETCALLS_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/ucontext.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/ucontext.h index 94b7a68..3737cbe 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/ucontext.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/ucontext.h @@ -86,6 +86,7 @@ typedef struct ucontext { struct ucontext *uc_link; stack_t uc_stack; sigset_t uc_sigmask; + char __padding[128 - sizeof(sigset_t)]; mcontext_t uc_mcontext; } ucontext_t; @@ -242,7 +243,7 @@ typedef struct user_i387_struct* fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; - /* TODO: reserved space? */ + unsigned long __reserved1[8]; } mcontext_t; typedef struct ucontext { diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h index e16b1a5..5348dd8 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h @@ -165,6 +165,10 @@ struct user { }; #elif defined(__mips__) +struct user_regs_struct +{ + unsigned long a[180]; +}; struct user { unsigned long regs[180 / sizeof(unsigned long) + 64]; diff --git a/9/platforms/android-19/arch-x86_64/usr/include/time.h b/9/platforms/android-19/arch-x86_64/usr/include/time.h index 3f2047c..0f86fd3 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/time.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/time.h @@ -61,8 +61,6 @@ struct tm { extern time_t time(time_t*); extern int nanosleep(const struct timespec*, struct timespec*); -extern char* strtotimeval(const char*, struct timeval*); - extern char* asctime(const struct tm*); extern char* asctime_r(const struct tm*, char*); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/wchar.h b/9/platforms/android-19/arch-x86_64/usr/include/wchar.h index 32cf127..89c6fb6 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/wchar.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/wchar.h @@ -36,13 +36,6 @@ #include <time.h> #include <malloc.h> -/* IMPORTANT: Any code that relies on wide character support is essentially - * non-portable and/or broken. the only reason this header exist - * is because I'm really a nice guy. However, I'm not nice enough - * to provide you with a real implementation. instead wchar_t == char - * and all wc functions are stubs to their "normal" equivalent... - */ - __BEGIN_DECLS typedef __WINT_TYPE__ wint_t; @@ -150,12 +143,11 @@ extern int wscanf(const wchar_t *, ...); extern size_t wcslcat(wchar_t*, const wchar_t*, size_t); extern size_t wcslcpy(wchar_t*, const wchar_t*, size_t); -/* No really supported. These are just for making libstdc++-v3 happy. */ typedef void *wctrans_t; -extern wint_t towctrans(wint_t, wctrans_t); -extern wctrans_t wctrans (const char *); +extern wint_t towctrans(wint_t, wctrans_t); +extern wctrans_t wctrans(const char*); -#if _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L +#if __POSIX_VISIBLE >= 200809 wchar_t* wcsdup(const wchar_t*); size_t wcsnlen(const wchar_t*, size_t); #endif diff --git a/9/platforms/android-19/arch-x86_64/usr/include/xlocale.h b/9/platforms/android-19/arch-x86_64/usr/include/xlocale.h new file mode 100644 index 0000000..f7eb8f4 --- /dev/null +++ b/9/platforms/android-19/arch-x86_64/usr/include/xlocale.h @@ -0,0 +1,36 @@ +/* + * 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 _XLOCALE_H_ +#define _XLOCALE_H_ + +/* If we just use void* here, GCC exposes that in error messages. */ +struct __locale_t; +typedef struct __locale_t* locale_t; + +#endif /* _XLOCALE_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libEGL.so b/9/platforms/android-19/arch-x86_64/usr/lib/libEGL.so Binary files differindex f9227e1..da6d74e 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libEGL.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libEGL.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv1_CM.so b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv1_CM.so Binary files differindex 0b6fec4..16a7659 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv1_CM.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv1_CM.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv2.so b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv2.so Binary files differindex 0946577..57104ab 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv2.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv2.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv3.so b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv3.so Binary files differindex 7d62748..70c97cb 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv3.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libGLESv3.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libOpenMAXAL.so b/9/platforms/android-19/arch-x86_64/usr/lib/libOpenMAXAL.so Binary files differindex 02f282f..ac27304 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libOpenMAXAL.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libOpenMAXAL.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libOpenSLES.so b/9/platforms/android-19/arch-x86_64/usr/lib/libOpenSLES.so Binary files differindex 0d1cb60..95ecb48 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libOpenSLES.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libOpenSLES.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libandroid.so b/9/platforms/android-19/arch-x86_64/usr/lib/libandroid.so Binary files differindex e2d58b7..a7a40ef 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libandroid.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libandroid.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libc.a b/9/platforms/android-19/arch-x86_64/usr/lib/libc.a Binary files differindex 5e0267f..58c1a03 100644 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libc.a +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libc.a diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libc.so b/9/platforms/android-19/arch-x86_64/usr/lib/libc.so Binary files differindex 0af414c..24fac15 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libc.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libc.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libdl.so b/9/platforms/android-19/arch-x86_64/usr/lib/libdl.so Binary files differindex d405054..afeda71 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libdl.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libdl.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libjnigraphics.so b/9/platforms/android-19/arch-x86_64/usr/lib/libjnigraphics.so Binary files differindex 40b263d..0ba220e 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libjnigraphics.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libjnigraphics.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/liblog.so b/9/platforms/android-19/arch-x86_64/usr/lib/liblog.so Binary files differindex c2289ff..007044d 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/liblog.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/liblog.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libm.a b/9/platforms/android-19/arch-x86_64/usr/lib/libm.a Binary files differindex d00c083..0fd1900 100644 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libm.a +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libm.a diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libm.so b/9/platforms/android-19/arch-x86_64/usr/lib/libm.so Binary files differindex d7575ac..d07c215 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libm.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libm.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libstdc++.so b/9/platforms/android-19/arch-x86_64/usr/lib/libstdc++.so Binary files differindex 3198fa6..9fa5287 100755 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libstdc++.so +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libstdc++.so diff --git a/9/platforms/android-19/arch-x86_64/usr/lib/libz.a b/9/platforms/android-19/arch-x86_64/usr/lib/libz.a Binary files differindex 7cb4528..a715308 100644 --- a/9/platforms/android-19/arch-x86_64/usr/lib/libz.a +++ b/9/platforms/android-19/arch-x86_64/usr/lib/libz.a |