summaryrefslogtreecommitdiffstats
path: root/9/platforms/android-19/arch-x86_64
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-04-09 06:48:46 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2014-04-09 18:01:25 -0700
commite003ef06f962ca294f8dc9e66ad607d15c2d7b9e (patch)
tree0fa0b083b96e0c12ed6c0201beead2a301bf46c1 /9/platforms/android-19/arch-x86_64
parentf16ac96a5a72d5ac734c05d22d7a0c0d925638f7 (diff)
downloadprebuilts_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')
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/asm-generic/fcntl.h35
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/asm/page.h25
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/fcntl.h14
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/i386/elf_machdep.h63
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/limits.h9
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/locale.h56
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/machine/fenv.h91
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/netdb.h4
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/search.h35
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/stdio.h20
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/stdlib.h5
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/string.h46
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/_types.h77
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs.h7
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/limits.h3
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/param.h10
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/socket.h28
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/socketcalls.h3
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/ucontext.h3
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/sys/user.h4
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/time.h2
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/wchar.h14
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/include/xlocale.h36
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libEGL.sobin11216 -> 11208 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libGLESv1_CM.sobin41376 -> 41368 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libGLESv2.sobin30456 -> 30456 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libGLESv3.sobin41056 -> 41056 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libOpenMAXAL.sobin7512 -> 7512 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libOpenSLES.sobin7872 -> 7872 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libandroid.sobin30408 -> 30408 bytes
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/lib/libc.abin10214676 -> 10175146 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libc.sobin149424 -> 149240 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libdl.sobin5808 -> 5800 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libjnigraphics.sobin5648 -> 5648 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/liblog.sobin5920 -> 5920 bytes
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/lib/libm.abin2300958 -> 2833196 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libm.sobin39544 -> 40400 bytes
-rwxr-xr-x9/platforms/android-19/arch-x86_64/usr/lib/libstdc++.sobin22200 -> 22200 bytes
-rw-r--r--9/platforms/android-19/arch-x86_64/usr/lib/libz.abin1155886 -> 1155910 bytes
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ