diff --git a/ndk/platforms/android-20/arch-arm64/include/machine/limits.h b/ndk/platforms/android-20/arch-arm64/include/machine/limits.h deleted file mode 100644 index ecddb01f4..000000000 --- a/ndk/platforms/android-20/arch-arm64/include/machine/limits.h +++ /dev/null @@ -1,62 +0,0 @@ -/* $OpenBSD: limits.h,v 1.3 2006/01/06 22:48:46 millert Exp $ */ -/* $NetBSD: limits.h,v 1.4 2003/04/28 23:16:18 bjh21 Exp $ */ - -/* - * Copyright (c) 1988 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. - * - * from: @(#)limits.h 7.2 (Berkeley) 6/28/90 - */ - -#ifndef _AARCH64_LIMITS_H_ -#define _AARCH64_LIMITS_H_ - -#include - -#define MB_LEN_MAX 1 /* no multibyte characters */ - -#define LONGLONG_BIT 64 -#define LONGLONG_MIN (-9223372036854775807LL-1) -#define LONGLONG_MAX 9223372036854775807LL -#define ULONGLONG_MAX 18446744073709551615ULL - -#ifndef SIZE_MAX -#define SIZE_MAX ULONGLONG_MAX /* max value for a size_t */ -#endif -#ifndef SSIZE_MAX -#define SSIZE_MAX LONGLONG_MAX /* max value for a ssize_t */ -#endif - -#if __BSD_VISIBLE -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t (historic) */ - -#define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */ -#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */ -#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */ - -#endif /* __BSD_VISIBLE */ -#endif /* _AARCH64_LIMITS_H_ */ diff --git a/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtbegin_dynamic.o b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtbegin_dynamic.o new file mode 100644 index 000000000..03629d286 Binary files /dev/null and b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtbegin_dynamic.o differ diff --git a/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtend_android.o b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtend_android.o new file mode 100644 index 000000000..a8bbf0d1f Binary files /dev/null and b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/crtend_android.o differ diff --git a/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libc.so b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libc.so new file mode 100755 index 000000000..70415459a Binary files /dev/null and b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libc.so differ diff --git a/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libdl.so b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libdl.so new file mode 100755 index 000000000..6aed7c1f9 Binary files /dev/null and b/ndk/platforms/android-20/arch-arm64/lib-bootstrap/libdl.so differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libc.a b/ndk/platforms/android-20/arch-arm64/lib64/libc.a similarity index 78% rename from ndk/platforms/android-20/arch-arm64/lib/libc.a rename to ndk/platforms/android-20/arch-arm64/lib64/libc.a index 78a1e527c..244f17861 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libc.a and b/ndk/platforms/android-20/arch-arm64/lib64/libc.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libm.a b/ndk/platforms/android-20/arch-arm64/lib64/libm.a similarity index 75% rename from ndk/platforms/android-20/arch-arm64/lib/libm.a rename to ndk/platforms/android-20/arch-arm64/lib64/libm.a index 5d4bf2705..1ef1f1462 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libm.a and b/ndk/platforms/android-20/arch-arm64/lib64/libm.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a b/ndk/platforms/android-20/arch-arm64/lib64/libstdc++.a similarity index 99% rename from ndk/platforms/android-20/arch-arm64/lib/libstdc++.a rename to ndk/platforms/android-20/arch-arm64/lib64/libstdc++.a index 9024b392f..c60c482c6 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a and b/ndk/platforms/android-20/arch-arm64/lib64/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libz.a b/ndk/platforms/android-20/arch-arm64/lib64/libz.a similarity index 91% rename from ndk/platforms/android-20/arch-arm64/lib/libz.a rename to ndk/platforms/android-20/arch-arm64/lib64/libz.a index 2a5f51059..616d6fdcc 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libz.a and b/ndk/platforms/android-20/arch-arm64/lib64/libz.a differ diff --git a/ndk/platforms/android-20/arch-arm64/src/atexit.h b/ndk/platforms/android-20/arch-arm64/src/atexit.h new file mode 100644 index 000000000..4b3160043 --- /dev/null +++ b/ndk/platforms/android-20/arch-arm64/src/atexit.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2012 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. + */ + +extern void *__dso_handle; + +extern int __cxa_atexit(void (*)(void*), void*, void*); + +__attribute__ ((visibility ("hidden"))) +int atexit(void (*func)(void)) { + return (__cxa_atexit((void (*)(void*)) func, (void*) 0, &__dso_handle)); +} diff --git a/ndk/platforms/android-20/arch-arm64/src/crtbegin.c b/ndk/platforms/android-20/arch-arm64/src/crtbegin.c new file mode 100644 index 000000000..fec0b11af --- /dev/null +++ b/ndk/platforms/android-20/arch-arm64/src/crtbegin.c @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2013 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. + */ + +#include "../../bionic/libc_init_common.h" +#include +#include + +__attribute__ ((section (".preinit_array"))) +void (*__PREINIT_ARRAY__)(void) = (void (*)(void)) -1; + +__attribute__ ((section (".init_array"))) +void (*__INIT_ARRAY__)(void) = (void (*)(void)) -1; + +__attribute__ ((section (".fini_array"))) +void (*__FINI_ARRAY__)(void) = (void (*)(void)) -1; + + +__LIBC_HIDDEN__ void do_arm64_start(void* raw_args) { + structors_array_t array; + array.preinit_array = &__PREINIT_ARRAY__; + array.init_array = &__INIT_ARRAY__; + array.fini_array = &__FINI_ARRAY__; + __libc_init(raw_args, NULL, &main, &array); +} + +/* + * Put the value of sp in x0 and call do_arm64_init(). The latter will then + * then be able to access the stack as prepared by the kernel's execve system + * call (via the first argument). + */ +__asm__ ( +" .text \n" +" .align 2 \n" +" .global _start \n" +" .hidden _start \n" +" .type _start, %function \n" +"_start: \n" +" add x0, sp, xzr \n" +" b do_arm64_start \n" +" .size _start, .-_start \n" +); + +#include "../../arch-common/bionic/__dso_handle.h" +#include "../../arch-common/bionic/atexit.h" diff --git a/ndk/platforms/android-20/arch-arm64/src/crtbegin_so.c b/ndk/platforms/android-20/arch-arm64/src/crtbegin_so.c new file mode 100644 index 000000000..cd0257a8d --- /dev/null +++ b/ndk/platforms/android-20/arch-arm64/src/crtbegin_so.c @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2012 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. + */ + +extern void __cxa_finalize(void *); +extern void *__dso_handle; + +__attribute__((visibility("hidden"),destructor)) +void __on_dlclose() { + __cxa_finalize(&__dso_handle); +} + +/* CRT_LEGACY_WORKAROUND should only be defined when building + * this file as part of the platform's C library. + * + * The C library already defines a function named 'atexit()' + * for backwards compatibility with older NDK-generated binaries. + * + * For newer ones, 'atexit' is actually embedded in the C + * runtime objects that are linked into the final ELF + * binary (shared library or executable), and will call + * __cxa_atexit() in order to un-register any atexit() + * handler when a library is unloaded. + * + * This function must be global *and* hidden. Only the + * code inside the same ELF binary should be able to access it. + */ + +#ifdef CRT_LEGACY_WORKAROUND +#include "__dso_handle.h" +#else +#include "__dso_handle_so.h" +#include "atexit.h" +#endif diff --git a/ndk/platforms/android-20/arch-arm64/src/crtend.S b/ndk/platforms/android-20/arch-arm64/src/crtend.S new file mode 100644 index 000000000..a4cf8ded2 --- /dev/null +++ b/ndk/platforms/android-20/arch-arm64/src/crtend.S @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2008 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. + */ + +#include "asm_multiarch.h" + + .section .preinit_array, "aw" + ASM_PTR_SIZE(0) + + .section .init_array, "aw" + ASM_PTR_SIZE(0) + + .section .fini_array, "aw" + ASM_PTR_SIZE(0) + +#if defined(__linux__) && defined(__ELF__) + .section .note.GNU-stack,"",%progbits +#endif +#if defined(__i386__) || defined(__x86_64__) + .section .eh_frame,"a",@progbits + ASM_ALIGN(4) + .type __FRAME_END__, @object + .size __FRAME_END__, 4 +__FRAME_END__: + .zero 4 +#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/machine/kernel.h b/ndk/platforms/android-20/arch-arm64/src/crtend_so.S similarity index 72% rename from ndk/platforms/android-9/arch-arm64/include/machine/kernel.h rename to ndk/platforms/android-20/arch-arm64/src/crtend_so.S index c6f0c8c43..f74510995 100644 --- a/ndk/platforms/android-9/arch-arm64/include/machine/kernel.h +++ b/ndk/platforms/android-20/arch-arm64/src/crtend_so.S @@ -26,18 +26,24 @@ * SUCH DAMAGE. */ -#ifndef _ARCH_AARCH64_KERNEL_H -#define _ARCH_AARCH64_KERNEL_H +#include "asm_multiarch.h" -/* this file contains kernel-specific definitions that were optimized out of - our processed kernel headers, but still useful nonetheless... */ +#ifndef __arm__ + .section .init_array, "aw" + ASM_PTR_SIZE(0) -typedef __kernel_ulong_t __kernel_blkcnt_t; -typedef __kernel_ulong_t __kernel_blksize_t; + .section .fini_array, "aw" + ASM_PTR_SIZE(0) +#endif -/* these aren't really defined by the kernel headers though... */ -typedef __kernel_ulong_t __kernel_fsblkcnt_t; -typedef __kernel_ulong_t __kernel_fsfilcnt_t; -typedef unsigned int __kernel_id_t; - -#endif /* _ARCH_AARCH64_KERNEL_H */ +#if defined(__linux__) && defined(__ELF__) + .section .note.GNU-stack,"",%progbits +#endif +#if defined(__i386__) || defined(__x86_64__) + .section .eh_frame,"a",@progbits + ASM_ALIGN(4) + .type __FRAME_END__, @object + .size __FRAME_END__, 4 +__FRAME_END__: + .zero 4 +#endif diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt index 27f74148f..112cae0a0 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.functions.txt @@ -5,6 +5,7 @@ SHA1Final SHA1Init SHA1Transform SHA1Update +_Exit _Unwind_Backtrace _Unwind_DeleteException _Unwind_FindEnclosingFunction @@ -190,6 +191,9 @@ __srefill __srget __sseek __stack_chk_fail +__stpcpy_chk +__stpncpy_chk +__stpncpy_chk2 __strcat_chk __strchr_chk __strcpy_chk @@ -229,7 +233,6 @@ __umask_chk __vfprintf __vsnprintf_chk __vsprintf_chk -_cache_get_nameserver_addr _cleanup _exit _exit_with_stack_teardown @@ -237,35 +240,25 @@ _fwalk _getlong _getshort _longjmp -_resolv_clear_iface_for_pid -_resolv_clear_iface_for_uid_range -_resolv_clear_iface_pid_mapping -_resolv_clear_iface_uid_range_mapping -_resolv_flush_cache_for_default_iface -_resolv_flush_cache_for_iface -_resolv_get_pids_associated_interface -_resolv_get_uids_associated_interface -_resolv_set_addr_of_iface -_resolv_set_default_iface -_resolv_set_iface_for_pid -_resolv_set_iface_for_uid_range -_resolv_set_nameservers_for_iface +_resolv_flush_cache_for_net +_resolv_set_nameservers_for_net _setjmp _thread_created_hook abort abs accept +accept4 access acct alarm alphasort alphasort64 -android_getaddrinfoforiface -android_gethostbyaddrforiface -android_gethostbyaddrforiface_proxy -android_gethostbyaddrforiface_real -android_gethostbynameforiface -android_getnameinfoforiface +android_getaddrinfofornet +android_gethostbyaddrfornet +android_gethostbyaddrfornet_proxy +android_gethostbyaddrfornet_real +android_gethostbynamefornet +android_getnameinfofornet arc4random arc4random_addrandom arc4random_buf @@ -315,6 +308,7 @@ close closedir closelog closelog_r +cmsg_nxthdr connect creat creat64 @@ -356,6 +350,7 @@ drand48 dup dup2 dup3 +duplocale endmntent endpwent endservent @@ -427,6 +422,7 @@ fread free freeaddrinfo freedtoa +freelocale fremovexattr freopen fscanf @@ -599,6 +595,7 @@ labs lchown ldexp ldiv +lfind lgetxattr link linkat @@ -607,6 +604,7 @@ listxattr llabs lldiv llistxattr +localeconv localtime localtime64 localtime64_r @@ -616,6 +614,7 @@ longjmp longjmperror lrand48 lremovexattr +lsearch lseek lseek64 lsetxattr @@ -666,6 +665,7 @@ munlock munlockall munmap nanosleep +newlocale nftw nftw64 nice @@ -820,8 +820,8 @@ res_init res_mkquery res_query res_search -res_setiface res_setmark +res_setnetid rewind rewinddir rmdir @@ -925,6 +925,8 @@ statfs statfs64 statvfs statvfs64 +stpcpy +stpncpy strcasecmp strcasestr strcat @@ -965,7 +967,6 @@ strtol strtold strtoll strtoq -strtotimeval strtoul strtoull strtoumax @@ -1040,6 +1041,7 @@ unlinkat unlockpt unsetenv unshare +uselocale usleep utime utimensat @@ -1106,6 +1108,7 @@ wcswcs wcswidth wcsxfrm wctob +wctomb wctype wcwidth wmemchr diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-arm64/symbols/libm.so.functions.txt index bd5cbe4dd..501f019f3 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libm.so.functions.txt @@ -1,14 +1,11 @@ __addtf3 -__broken__fpclassify -__broken__isfinitel -__broken__isinfl -__broken__isnanl -__broken__isnormall -__broken_signbitl __divtf3 __eqtf2 __exp__D __extendsftf2 +__fixtfdi +__fixtfsi +__floatsitf __fpclassifyd __fpclassifyf __fpclassifyl @@ -29,16 +26,21 @@ __isnormalf __isnormall __kernel_cos __kernel_cosdf +__kernel_cosl __kernel_rem_pio2 __kernel_sin __kernel_sindf +__kernel_sinl __kernel_tan __kernel_tandf +__kernel_tanl __ldexp_cexp __ldexp_cexpf __ldexp_exp __ldexp_expf +__letf2 __log__D +__lttf2 __multf3 __netf2 __signbit @@ -233,7 +235,9 @@ nearbyintl nextafter nextafterf nextafterl +nexttoward nexttowardf +nexttowardl pow powf powl diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-arm64/symbols/libm.so.variables.txt index a1b63fcbc..9d7f213f3 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libm.so.variables.txt @@ -1,2 +1,25 @@ +_ItL_aT +_ItL_atanhi +_ItL_atanlo +_ItL_pS0 +_ItL_pS1 +_ItL_pS2 +_ItL_pS3 +_ItL_pS4 +_ItL_pS5 +_ItL_pS6 +_ItL_pS7 +_ItL_pS8 +_ItL_pS9 +_ItL_pi_lo +_ItL_qS1 +_ItL_qS2 +_ItL_qS3 +_ItL_qS4 +_ItL_qS5 +_ItL_qS6 +_ItL_qS7 +_ItL_qS8 +_ItL_qS9 __fe_dfl_env signgam diff --git a/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h b/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h index 4a085f80e..45b418a3c 100644 --- a/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h +++ b/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h @@ -26,74 +26,78 @@ struct siginfo; #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#ifdef __LP64__ +#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) +#endif #include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ typedef struct siginfo { int si_signo; int si_code; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int si_errno; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3]; union { int _pad[SI_PAD_SIZE]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ pid_t _pid; __ARCH_SI_UID_T _uid; } _kill; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ timer_t _tid; int _overrun; char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ sigval_t _sigval; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int _sys_private; } _timer; struct { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ pid_t _pid; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __ARCH_SI_UID_T _uid; sigval_t _sigval; } _rt; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ pid_t _pid; __ARCH_SI_UID_T _uid; int _status; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ clock_t _utime; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ clock_t _stime; } _sigchld; struct { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ pid_t _pid; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ clock_t _utime; int _status; clock_t _stime; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ } _irix_sigchld; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct { void __user *_addr; #ifdef __ARCH_SI_TRAPNO -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int _trapno; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif short _addr_lsb; } _sigfault; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __ARCH_SI_BAND_T _band; int _fd; } _sigpoll; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ } _sifields; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ } siginfo_t; #undef SI_ASYNCIO #undef SI_TIMER -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #undef SI_MESGQ +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SI_ASYNCIO -2 #define SI_TIMER __SI_CODE(__SI_TIMER, -3) #define SI_MESGQ __SI_CODE(__SI_MESGQ, -4) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/ndk/platforms/android-20/arch-mips64/include/machine/limits.h b/ndk/platforms/android-20/arch-mips64/include/machine/limits.h deleted file mode 100644 index 339444dec..000000000 --- a/ndk/platforms/android-20/arch-mips64/include/machine/limits.h +++ /dev/null @@ -1,62 +0,0 @@ -/* $OpenBSD: limits.h,v 1.5 2007/05/07 20:51:07 kettenis Exp $ */ - -/* - * Copyright (c) 1988, 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. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - */ - -#ifndef _MIPS_LIMITS_H_ -#define _MIPS_LIMITS_H_ - -#include - -#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */ - -#ifndef SIZE_MAX -#define SIZE_MAX ULONG_MAX /* max value for a size_t */ -#endif -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ - -#if __BSD_VISIBLE -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t (historic) */ - -/* Quads and longs are the same on mips64 */ -#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */ -#define QUAD_MAX (LONG_MAX) /* max value for a quad_t */ -#define QUAD_MIN (LONG_MIN) /* min value for a quad_t */ - -#endif /* __BSD_VISIBLE */ - - -#define LONGLONG_BIT 64 -#define LONGLONG_MIN (-9223372036854775807LL-1) -#define LONGLONG_MAX 9223372036854775807LL -#define ULONGLONG_MAX 18446744073709551615ULL - -#endif /* !_MIPS_LIMITS_H_ */ diff --git a/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtbegin_dynamic.o b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtbegin_dynamic.o new file mode 100644 index 000000000..9beaa1ed3 Binary files /dev/null and b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtbegin_dynamic.o differ diff --git a/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtend_android.o b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtend_android.o new file mode 100644 index 000000000..e0df8d046 Binary files /dev/null and b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/crtend_android.o differ diff --git a/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libc.so b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libc.so new file mode 100755 index 000000000..11d6438d3 Binary files /dev/null and b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libc.so differ diff --git a/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libdl.so b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libdl.so new file mode 100755 index 000000000..d6240b30f Binary files /dev/null and b/ndk/platforms/android-20/arch-mips64/lib-bootstrap/libdl.so differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libc.a b/ndk/platforms/android-20/arch-mips64/lib64/libc.a similarity index 82% rename from ndk/platforms/android-20/arch-mips64/lib/libc.a rename to ndk/platforms/android-20/arch-mips64/lib64/libc.a index d42fbc347..09b2558c8 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libc.a and b/ndk/platforms/android-20/arch-mips64/lib64/libc.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libm.a b/ndk/platforms/android-20/arch-mips64/lib64/libm.a similarity index 74% rename from ndk/platforms/android-20/arch-mips64/lib/libm.a rename to ndk/platforms/android-20/arch-mips64/lib64/libm.a index 8aef92ab1..ae9dc4ee5 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libm.a and b/ndk/platforms/android-20/arch-mips64/lib64/libm.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips64/lib64/libstdc++.a similarity index 99% rename from ndk/platforms/android-20/arch-mips64/lib/libstdc++.a rename to ndk/platforms/android-20/arch-mips64/lib64/libstdc++.a index 1816bf574..63df4a88b 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a and b/ndk/platforms/android-20/arch-mips64/lib64/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libz.a b/ndk/platforms/android-20/arch-mips64/lib64/libz.a similarity index 91% rename from ndk/platforms/android-20/arch-mips64/lib/libz.a rename to ndk/platforms/android-20/arch-mips64/lib64/libz.a index bc977d672..712b818cb 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libz.a and b/ndk/platforms/android-20/arch-mips64/lib64/libz.a differ diff --git a/ndk/platforms/android-9/arch-arm64/include/machine/exec.h b/ndk/platforms/android-20/arch-mips64/src/atexit.h similarity index 78% rename from ndk/platforms/android-9/arch-arm64/include/machine/exec.h rename to ndk/platforms/android-20/arch-mips64/src/atexit.h index a8e16411c..759008c84 100644 --- a/ndk/platforms/android-9/arch-arm64/include/machine/exec.h +++ b/ndk/platforms/android-20/arch-mips64/src/atexit.h @@ -1,8 +1,3 @@ -/* $OpenBSD: exec.h,v 1.4 2012/09/11 15:44:17 deraadt Exp $ */ -/* - * Written by Artur Grabowski Public Domain - */ - /* * Copyright (C) 2013 The Android Open Source Project * All rights reserved. @@ -31,18 +26,11 @@ * SUCH DAMAGE. */ -#ifndef _MACHINE_EXEC_H_ -#define _MACHINE_EXEC_H_ +extern void *__dso_handle; +extern int __cxa_atexit(void (*func)(void *), void *arg, void *dso); -#define __LDPGSZ 4096 - -#define ARCH_ELFSIZE 64 - -#define ELF_TARG_CLASS ELFCLASS64 -#define ELF_TARG_DATA ELFDATA2LSB -#define ELF_TARG_MACH EM_AARCH64 - -#define _NLIST_DO_ELF -#define _KERN_DO_ELF64 - -#endif +__attribute__ ((visibility ("hidden"))) +int atexit(void (*func)(void)) +{ + return (__cxa_atexit((void (*)(void *))func, (void *)0, &__dso_handle)); +} diff --git a/ndk/platforms/android-20/arch-mips64/src/crtbegin.c b/ndk/platforms/android-20/arch-mips64/src/crtbegin.c new file mode 100644 index 000000000..2ea31ad64 --- /dev/null +++ b/ndk/platforms/android-20/arch-mips64/src/crtbegin.c @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2013 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. + */ + +#include "../../bionic/libc_init_common.h" +#include +#include + +__attribute__ ((section (".preinit_array"))) +void (*__PREINIT_ARRAY__)(void) = (void (*)(void)) -1; + +__attribute__ ((section (".init_array"))) +void (*__INIT_ARRAY__)(void) = (void (*)(void)) -1; + +__attribute__ ((section (".fini_array"))) +void (*__FINI_ARRAY__)(void) = (void (*)(void)) -1; + + +__LIBC_HIDDEN__ void do_mips_start(void *raw_args) { + structors_array_t array; + array.preinit_array = &__PREINIT_ARRAY__; + array.init_array = &__INIT_ARRAY__; + array.fini_array = &__FINI_ARRAY__; + + __libc_init(raw_args, NULL, &main, &array); +} + +/* + * This function prepares the return address with a branch-and-link + * instruction (bal) and then uses a .cpsetup to compute the Global + * Offset Table (GOT) pointer ($gp). The $gp is then used to load + * the address of _do_mips_start() into $t9 just before calling it. + * Terminating the stack with a NULL return address. + */ +__asm__ ( +" .set push \n" +" \n" +" .text \n" +" .align 4 \n" +" .type __start,@function \n" +" .globl __start \n" +" .globl _start \n" +" \n" +" .ent __start \n" +"__start: \n" +" _start: \n" +" .frame $sp,32,$0 \n" +" .mask 0x80000000,-8 \n" +" \n" +" move $a0, $sp \n" +" daddiu $sp, $sp, -32 \n" +" \n" +" .set noreorder \n" +" bal 1f \n" +" nop \n" +"1: \n" +" .cpsetup $ra,16,1b \n" +" .set reorder \n" +" \n" +" sd $0, 24($sp) \n" +" jal do_mips_start \n" +" \n" +"2: b 2b \n" +" .end __start \n" +" \n" +" .set pop \n" +); + +#include "../../arch-common/bionic/__dso_handle.h" +#include "atexit.h" diff --git a/ndk/platforms/android-9/arch-arm64/include/machine/endian.h b/ndk/platforms/android-20/arch-mips64/src/crtbegin_so.c similarity index 83% rename from ndk/platforms/android-9/arch-arm64/include/machine/endian.h rename to ndk/platforms/android-20/arch-mips64/src/crtbegin_so.c index 3a62e9c94..925dc8c1a 100644 --- a/ndk/platforms/android-9/arch-arm64/include/machine/endian.h +++ b/ndk/platforms/android-20/arch-mips64/src/crtbegin_so.c @@ -1,5 +1,3 @@ -/* $OpenBSD: endian.h,v 1.6 2011/11/08 17:06:51 deraadt Exp $ */ - /* * Copyright (C) 2013 The Android Open Source Project * All rights reserved. @@ -28,12 +26,13 @@ * SUCH DAMAGE. */ -#ifndef __AARCH64_ENDIAN_H_ -#define __AARCH64_ENDIAN_H_ +extern void __cxa_finalize(void *); +extern void *__dso_handle; -/* FIXME - work in progress */ -#define _BYTE_ORDER _LITTLE_ENDIAN -#define __STRICT_ALIGNMENT -#include +__attribute__((visibility("hidden"),destructor)) +void __on_dlclose() { + __cxa_finalize(&__dso_handle); +} -#endif /* __AARCH64_ENDIAN_H_ */ +#include "__dso_handle_so.h" +#include "atexit.h" diff --git a/ndk/platforms/android-20/arch-mips64/src/crtend_android.S b/ndk/platforms/android-20/arch-mips64/src/crtend_android.S new file mode 100644 index 000000000..8a3cc6c85 --- /dev/null +++ b/ndk/platforms/android-20/arch-mips64/src/crtend_android.S @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2008 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. + */ + + .section .preinit_array, "aw" + .long 0 + + .section .init_array, "aw" + .long 0 + + .section .fini_array, "aw" + .long 0 + + .section .ctors, "aw" + .type __CTOR_END__, @object +__CTOR_END__: + .long 0 + + .section .dtors, "aw" + .type __DTOR_END__, @object +__DTOR_END__: + .long 0 + + .section .eh_frame,"a",@progbits + .align 4 + .type __FRAME_END__, @object + .size __FRAME_END__, 4 +__FRAME_END__: + .zero 4 diff --git a/ndk/platforms/android-20/arch-mips64/src/crtend_so.S b/ndk/platforms/android-20/arch-mips64/src/crtend_so.S new file mode 100644 index 000000000..f09c42708 --- /dev/null +++ b/ndk/platforms/android-20/arch-mips64/src/crtend_so.S @@ -0,0 +1,5 @@ + .section .init_array, "aw" + .long 0 + + .section .fini_array, "aw" + .long 0 diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt index f269f8ffb..8c142a9fb 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.functions.txt @@ -5,6 +5,7 @@ SHA1Final SHA1Init SHA1Transform SHA1Update +_Exit _Unwind_Backtrace _Unwind_DeleteException _Unwind_FindEnclosingFunction @@ -195,6 +196,9 @@ __srefill __srget __sseek __stack_chk_fail +__stpcpy_chk +__stpncpy_chk +__stpncpy_chk2 __strcat_chk __strchr_chk __strcpy_chk @@ -236,7 +240,6 @@ __unpack_t __vfprintf __vsnprintf_chk __vsprintf_chk -_cache_get_nameserver_addr _cleanup _exit _exit_with_stack_teardown @@ -245,35 +248,25 @@ _fwalk _getlong _getshort _longjmp -_resolv_clear_iface_for_pid -_resolv_clear_iface_for_uid_range -_resolv_clear_iface_pid_mapping -_resolv_clear_iface_uid_range_mapping -_resolv_flush_cache_for_default_iface -_resolv_flush_cache_for_iface -_resolv_get_pids_associated_interface -_resolv_get_uids_associated_interface -_resolv_set_addr_of_iface -_resolv_set_default_iface -_resolv_set_iface_for_pid -_resolv_set_iface_for_uid_range -_resolv_set_nameservers_for_iface +_resolv_flush_cache_for_net +_resolv_set_nameservers_for_net _setjmp _thread_created_hook abort abs accept +accept4 access acct alarm alphasort alphasort64 -android_getaddrinfoforiface -android_gethostbyaddrforiface -android_gethostbyaddrforiface_proxy -android_gethostbyaddrforiface_real -android_gethostbynameforiface -android_getnameinfoforiface +android_getaddrinfofornet +android_gethostbyaddrfornet +android_gethostbyaddrfornet_proxy +android_gethostbyaddrfornet_real +android_gethostbynamefornet +android_getnameinfofornet arc4random arc4random_addrandom arc4random_buf @@ -323,6 +316,7 @@ close closedir closelog closelog_r +cmsg_nxthdr connect creat creat64 @@ -364,6 +358,7 @@ drand48 dup dup2 dup3 +duplocale endmntent endpwent endservent @@ -435,6 +430,7 @@ fread free freeaddrinfo freedtoa +freelocale fremovexattr freopen fscanf @@ -607,6 +603,7 @@ labs lchown ldexp ldiv +lfind lgetxattr link linkat @@ -615,6 +612,7 @@ listxattr llabs lldiv llistxattr +localeconv localtime localtime64 localtime64_r @@ -624,6 +622,7 @@ longjmp longjmperror lrand48 lremovexattr +lsearch lseek lseek64 lsetxattr @@ -674,6 +673,7 @@ munlock munlockall munmap nanosleep +newlocale nftw nftw64 nice @@ -828,8 +828,8 @@ res_init res_mkquery res_query res_search -res_setiface res_setmark +res_setnetid rewind rewinddir rmdir @@ -933,6 +933,8 @@ statfs statfs64 statvfs statvfs64 +stpcpy +stpncpy strcasecmp strcasestr strcat @@ -973,7 +975,6 @@ strtol strtold strtoll strtoq -strtotimeval strtoul strtoull strtoumax @@ -1048,6 +1049,7 @@ unlinkat unlockpt unsetenv unshare +uselocale usleep utime utimensat @@ -1114,6 +1116,7 @@ wcswcs wcswidth wcsxfrm wctob +wctomb wctype wcwidth wmemchr diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-mips64/symbols/libm.so.functions.txt index 25a67d576..0db659de6 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libm.so.functions.txt @@ -1,20 +1,22 @@ __addtf3 __ashlti3 -__broken__fpclassify -__broken__isfinitel -__broken__isinfl -__broken__isnanl -__broken__isnormall -__broken_signbitl __divtf3 __eqtf2 __exp__D __extenddftf2 __extendsftf2 +__fixtfdi +__fixtfsi +__fixunstfdi +__fixunstfsi +__floatsitf +__floatunditf +__floatunsitf __fpclassifyd __fpclassifyf __fpclassifyl __fpcmp_parts_t +__getf2 __gttf2 __ieee754_rem_pio2 __ieee754_rem_pio2f @@ -31,17 +33,22 @@ __isnormalf __isnormall __kernel_cos __kernel_cosdf +__kernel_cosl __kernel_rem_pio2 __kernel_sin __kernel_sindf +__kernel_sinl __kernel_tan __kernel_tandf +__kernel_tanl __ldexp_cexp __ldexp_cexpf __ldexp_exp __ldexp_expf +__letf2 __log__D __lshrti3 +__lttf2 __make_dp __make_fp __make_tp @@ -246,7 +253,9 @@ nearbyintl nextafter nextafterf nextafterl +nexttoward nexttowardf +nexttowardl pow powf powl diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-mips64/symbols/libm.so.variables.txt index 5b06aa7dc..870d16eac 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libm.so.variables.txt @@ -1,3 +1,26 @@ +_ItL_aT +_ItL_atanhi +_ItL_atanlo +_ItL_pS0 +_ItL_pS1 +_ItL_pS2 +_ItL_pS3 +_ItL_pS4 +_ItL_pS5 +_ItL_pS6 +_ItL_pS7 +_ItL_pS8 +_ItL_pS9 +_ItL_pi_lo +_ItL_qS1 +_ItL_qS2 +_ItL_qS3 +_ItL_qS4 +_ItL_qS5 +_ItL_qS6 +_ItL_qS7 +_ItL_qS8 +_ItL_qS9 __fe_dfl_env __thenan_tf signgam diff --git a/ndk/platforms/android-20/arch-x86_64/include/machine/fenv.h b/ndk/platforms/android-20/arch-x86_64/include/machine/fenv.h index f3fabb641..79a4120d9 100644 --- a/ndk/platforms/android-20/arch-x86_64/include/machine/fenv.h +++ b/ndk/platforms/android-20/arch-x86_64/include/machine/fenv.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004-2005 David Schultz + * Copyright (c) 2004-2005 David Schultz * 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 __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/ndk/platforms/android-20/arch-x86_64/include/machine/limits.h b/ndk/platforms/android-20/arch-x86_64/include/machine/limits.h deleted file mode 100644 index a8c4a88db..000000000 --- a/ndk/platforms/android-20/arch-x86_64/include/machine/limits.h +++ /dev/null @@ -1,55 +0,0 @@ -/* $OpenBSD: limits.h,v 1.5 2009/11/27 19:54:35 guenther Exp $ */ - -/* - * Copyright (c) 1988 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. - * - * @(#)limits.h 7.2 (Berkeley) 6/28/90 - */ - -#ifndef _MACHINE_LIMITS_H_ -#define _MACHINE_LIMITS_H_ - -#include - -#if __POSIX_VISIBLE || __XPG_VISIBLE -#ifndef SIZE_MAX -#define SIZE_MAX ULONG_MAX /* max value for a size_t */ -#endif -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#endif - -#if __BSD_VISIBLE -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t (historic) */ - -#define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */ -#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */ -#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */ - -#endif /* __BSD_VISIBLE */ - -#endif /* _MACHINE_LIMITS_H_ */ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a index 5e0267f64..58c1a038a 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libc.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libc.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a index d00c083a0..0fd1900b0 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libm.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libm.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a b/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a index 91b8ae239..f38ee5378 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a index 7cb4528b1..a715308af 100644 Binary files a/ndk/platforms/android-20/arch-x86_64/lib64/libz.a and b/ndk/platforms/android-20/arch-x86_64/lib64/libz.a differ diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt index 3e0449b47..6b3a4fe9d 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.functions.txt @@ -5,6 +5,7 @@ SHA1Final SHA1Init SHA1Transform SHA1Update +_Exit _Unwind_Backtrace _Unwind_DeleteException _Unwind_FindEnclosingFunction @@ -190,6 +191,9 @@ __srefill __srget __sseek __stack_chk_fail +__stpcpy_chk +__stpncpy_chk +__stpncpy_chk2 __strcat_chk __strchr_chk __strcpy_chk @@ -229,7 +233,6 @@ __umask_chk __vfprintf __vsnprintf_chk __vsprintf_chk -_cache_get_nameserver_addr _cleanup _exit _exit_with_stack_teardown @@ -237,35 +240,25 @@ _fwalk _getlong _getshort _longjmp -_resolv_clear_iface_for_pid -_resolv_clear_iface_for_uid_range -_resolv_clear_iface_pid_mapping -_resolv_clear_iface_uid_range_mapping -_resolv_flush_cache_for_default_iface -_resolv_flush_cache_for_iface -_resolv_get_pids_associated_interface -_resolv_get_uids_associated_interface -_resolv_set_addr_of_iface -_resolv_set_default_iface -_resolv_set_iface_for_pid -_resolv_set_iface_for_uid_range -_resolv_set_nameservers_for_iface +_resolv_flush_cache_for_net +_resolv_set_nameservers_for_net _setjmp _thread_created_hook abort abs accept +accept4 access acct alarm alphasort alphasort64 -android_getaddrinfoforiface -android_gethostbyaddrforiface -android_gethostbyaddrforiface_proxy -android_gethostbyaddrforiface_real -android_gethostbynameforiface -android_getnameinfoforiface +android_getaddrinfofornet +android_gethostbyaddrfornet +android_gethostbyaddrfornet_proxy +android_gethostbyaddrfornet_real +android_gethostbynamefornet +android_getnameinfofornet arc4random arc4random_addrandom arc4random_buf @@ -314,6 +307,7 @@ close closedir closelog closelog_r +cmsg_nxthdr connect creat creat64 @@ -355,6 +349,7 @@ drand48 dup dup2 dup3 +duplocale endmntent endpwent endservent @@ -426,6 +421,7 @@ fread free freeaddrinfo freedtoa +freelocale fremovexattr freopen fscanf @@ -598,6 +594,7 @@ labs lchown ldexp ldiv +lfind lgetxattr link linkat @@ -606,6 +603,7 @@ listxattr llabs lldiv llistxattr +localeconv localtime localtime64 localtime64_r @@ -615,6 +613,7 @@ longjmp longjmperror lrand48 lremovexattr +lsearch lseek lseek64 lsetxattr @@ -665,6 +664,7 @@ munlock munlockall munmap nanosleep +newlocale nftw nftw64 nice @@ -819,8 +819,8 @@ res_init res_mkquery res_query res_search -res_setiface res_setmark +res_setnetid rewind rewinddir rmdir @@ -924,6 +924,8 @@ statfs statfs64 statvfs statvfs64 +stpcpy +stpncpy strcasecmp strcasestr strcat @@ -964,7 +966,6 @@ strtol strtold strtoll strtoq -strtotimeval strtoul strtoull strtoumax @@ -1039,6 +1040,7 @@ unlinkat unlockpt unsetenv unshare +uselocale usleep utime utimensat @@ -1105,6 +1107,7 @@ wcswcs wcswidth wcsxfrm wctob +wctomb wctype wcwidth wmemchr diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.functions.txt index c7459cd8d..18dc1ae45 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.functions.txt @@ -1,15 +1,12 @@ __addtf3 -__broken__fpclassify -__broken__isfinitel -__broken__isinfl -__broken__isnanl -__broken__isnormall -__broken_signbitl __divtf3 __eqtf2 __exp__D __extenddftf2 __extendsftf2 +__fixtfdi +__fixtfsi +__floatsitf __fpclassifyd __fpclassifyf __fpclassifyl @@ -30,16 +27,21 @@ __isnormalf __isnormall __kernel_cos __kernel_cosdf +__kernel_cosl __kernel_rem_pio2 __kernel_sin __kernel_sindf +__kernel_sinl __kernel_tan __kernel_tandf +__kernel_tanl __ldexp_cexp __ldexp_cexpf __ldexp_exp __ldexp_expf +__letf2 __log__D +__lttf2 __multf3 __netf2 __sfp_handle_exceptions @@ -236,7 +238,9 @@ nearbyintl nextafter nextafterf nextafterl +nexttoward nexttowardf +nexttowardl pow powf powl diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.variables.txt index a1b63fcbc..9d7f213f3 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libm.so.variables.txt @@ -1,2 +1,25 @@ +_ItL_aT +_ItL_atanhi +_ItL_atanlo +_ItL_pS0 +_ItL_pS1 +_ItL_pS2 +_ItL_pS3 +_ItL_pS4 +_ItL_pS5 +_ItL_pS6 +_ItL_pS7 +_ItL_pS8 +_ItL_pS9 +_ItL_pi_lo +_ItL_qS1 +_ItL_qS2 +_ItL_qS3 +_ItL_qS4 +_ItL_qS5 +_ItL_qS6 +_ItL_qS7 +_ItL_qS8 +_ItL_qS9 __fe_dfl_env signgam diff --git a/ndk/platforms/android-20/include/asm-generic/fcntl.h b/ndk/platforms/android-20/include/asm-generic/fcntl.h index f7b24a53c..207734f55 100644 --- a/ndk/platforms/android-20/include/asm-generic/fcntl.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/fcntl.h b/ndk/platforms/android-20/include/fcntl.h index 779a089f0..cd68154f7 100644 --- a/ndk/platforms/android-20/include/fcntl.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/limits.h b/ndk/platforms/android-20/include/limits.h index 471d38009..a70021a07 100644 --- a/ndk/platforms/android-20/include/limits.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/locale.h b/ndk/platforms/android-20/include/locale.h index 4efc5643b..69898510d 100644 --- a/ndk/platforms/android-20/include/locale.h +++ b/ndk/platforms/android-20/include/locale.h @@ -29,6 +29,7 @@ #define _LOCALE_H_ #include +#include __BEGIN_DECLS @@ -43,15 +44,29 @@ 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) -#if defined(__LP64__) struct lconv { char* decimal_point; char* thousands_sep; @@ -71,7 +86,6 @@ struct lconv { char n_sep_by_space; char p_sign_posn; char n_sign_posn; - /* ISO-C99 */ char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; @@ -79,13 +93,17 @@ struct lconv { char int_p_sign_posn; char int_n_sign_posn; }; -#else -// Keep old declaration for ILP32 for compatibility -struct lconv { }; -#endif 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/ndk/platforms/android-20/include/netdb.h b/ndk/platforms/android-20/include/netdb.h index 62a7a3cc8..ead595435 100644 --- a/ndk/platforms/android-20/include/netdb.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/search.h b/ndk/platforms/android-20/include/search.h index 1301a08d8..b2c0e6b50 100644 --- a/ndk/platforms/android-20/include/search.h +++ b/ndk/platforms/android-20/include/search.h @@ -10,29 +10,34 @@ #define _SEARCH_H_ #include +#include -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/ndk/platforms/android-20/include/stdio.h b/ndk/platforms/android-20/include/stdio.h index 10e8f3e7c..1d89b9bb9 100644 --- a/ndk/platforms/android-20/include/stdio.h +++ b/ndk/platforms/android-20/include/stdio.h @@ -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/ndk/platforms/android-20/include/stdlib.h b/ndk/platforms/android-20/include/stdlib.h index 9b7e6d16a..2c797c593 100644 --- a/ndk/platforms/android-20/include/stdlib.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/string.h b/ndk/platforms/android-20/include/string.h index f00e29151..c9ae03bce 100644 --- a/ndk/platforms/android-20/include/string.h +++ b/ndk/platforms/android-20/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) { @@ -115,12 +117,44 @@ void* memmove(void *dest, const void *src, size_t len) { return __builtin___memmove_chk(dest, src, len, __bos0(dest)); } +__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/ndk/platforms/android-20/include/sys/cdefs.h b/ndk/platforms/android-20/include/sys/cdefs.h index 1f7cfc8e4..8ab5b4725 100644 --- a/ndk/platforms/android-20/include/sys/cdefs.h +++ b/ndk/platforms/android-20/include/sys/cdefs.h @@ -528,6 +528,13 @@ #define __BIONIC__ 1 #include +/* 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/ndk/platforms/android-20/include/sys/limits.h b/ndk/platforms/android-20/include/sys/limits.h index 36f73b2b3..c50eb109b 100644 --- a/ndk/platforms/android-20/include/sys/limits.h +++ b/ndk/platforms/android-20/include/sys/limits.h @@ -31,9 +31,6 @@ /* Common definitions for limits.h. */ -/* Legacy */ -#include - #define CHAR_BIT 8 /* number of bits in a char */ #define SCHAR_MAX 0x7f /* max value for a signed char */ diff --git a/ndk/platforms/android-20/include/sys/param.h b/ndk/platforms/android-20/include/sys/param.h index 37c64271b..e64d6ce3c 100644 --- a/ndk/platforms/android-20/include/sys/param.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/sys/socket.h b/ndk/platforms/android-20/include/sys/socket.h index 62a5300ce..7edaac9c8 100644 --- a/ndk/platforms/android-20/include/sys/socket.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/sys/socketcalls.h b/ndk/platforms/android-20/include/sys/socketcalls.h index c74f463e8..131e0bba0 100644 --- a/ndk/platforms/android-20/include/sys/socketcalls.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/sys/ucontext.h b/ndk/platforms/android-20/include/sys/ucontext.h index 94b7a6806..3737cbec5 100644 --- a/ndk/platforms/android-20/include/sys/ucontext.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/sys/user.h b/ndk/platforms/android-20/include/sys/user.h index e16b1a55c..5348dd8f7 100644 --- a/ndk/platforms/android-20/include/sys/user.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/time.h b/ndk/platforms/android-20/include/time.h index 3f2047c75..0f86fd38e 100644 --- a/ndk/platforms/android-20/include/time.h +++ b/ndk/platforms/android-20/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/ndk/platforms/android-20/include/wchar.h b/ndk/platforms/android-20/include/wchar.h index 32cf12763..89c6fb603 100644 --- a/ndk/platforms/android-20/include/wchar.h +++ b/ndk/platforms/android-20/include/wchar.h @@ -36,13 +36,6 @@ #include #include -/* 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/ndk/platforms/android-20/include/xlocale.h b/ndk/platforms/android-20/include/xlocale.h new file mode 100644 index 000000000..f7eb8f4c6 --- /dev/null +++ b/ndk/platforms/android-20/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/ndk/platforms/android-9/arch-arm64/include/asm-generic/bitsperlong.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/bitsperlong.h deleted file mode 100644 index 7f0a0fcf7..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/bitsperlong.h +++ /dev/null @@ -1,25 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG -#define _UAPI__ASM_GENERIC_BITS_PER_LONG -#ifndef __BITS_PER_LONG -#define __BITS_PER_LONG 32 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm-generic/int-ll64.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/int-ll64.h deleted file mode 100644 index 7622c49bc..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/int-ll64.h +++ /dev/null @@ -1,41 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _UAPI_ASM_GENERIC_INT_LL64_H -#define _UAPI_ASM_GENERIC_INT_LL64_H -#include -#ifndef __ASSEMBLY__ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __signed__ char __s8; -typedef unsigned char __u8; -typedef __signed__ short __s16; -typedef unsigned short __u16; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __signed__ int __s32; -typedef unsigned int __u32; -#ifdef __GNUC__ -__extension__ typedef __signed__ long long __s64; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -__extension__ typedef unsigned long long __u64; -#else -typedef __signed__ long long __s64; -typedef unsigned long long __u64; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#endif -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm-generic/posix_types.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/posix_types.h deleted file mode 100644 index 1519affd8..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/posix_types.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_GENERIC_POSIX_TYPES_H -#define __ASM_GENERIC_POSIX_TYPES_H -#include -#ifndef __kernel_long_t -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef long __kernel_long_t; -typedef unsigned long __kernel_ulong_t; -#endif -#ifndef __kernel_ino_t -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __kernel_ulong_t __kernel_ino_t; -#endif -#ifndef __kernel_mode_t -typedef unsigned int __kernel_mode_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#ifndef __kernel_pid_t -typedef int __kernel_pid_t; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#ifndef __kernel_ipc_pid_t -typedef int __kernel_ipc_pid_t; -#endif -#ifndef __kernel_uid_t -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef unsigned int __kernel_uid_t; -typedef unsigned int __kernel_gid_t; -#endif -#ifndef __kernel_suseconds_t -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __kernel_long_t __kernel_suseconds_t; -#endif -#ifndef __kernel_daddr_t -typedef int __kernel_daddr_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#ifndef __kernel_uid32_t -typedef unsigned int __kernel_uid32_t; -typedef unsigned int __kernel_gid32_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#ifndef __kernel_old_uid_t -typedef __kernel_uid_t __kernel_old_uid_t; -typedef __kernel_gid_t __kernel_old_gid_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#ifndef __kernel_old_dev_t -typedef unsigned int __kernel_old_dev_t; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#ifndef __kernel_size_t -#if __BITS_PER_LONG != 64 -typedef unsigned int __kernel_size_t; -typedef int __kernel_ssize_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef int __kernel_ptrdiff_t; -#else -typedef __kernel_ulong_t __kernel_size_t; -typedef __kernel_long_t __kernel_ssize_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __kernel_long_t __kernel_ptrdiff_t; -#endif -#endif -#ifndef __kernel_fsid_t -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef struct { - int val[2]; -} __kernel_fsid_t; -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __kernel_long_t __kernel_off_t; -typedef long long __kernel_loff_t; -typedef __kernel_long_t __kernel_time_t; -typedef __kernel_long_t __kernel_clock_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef int __kernel_timer_t; -typedef int __kernel_clockid_t; -typedef char * __kernel_caddr_t; -typedef unsigned short __kernel_uid16_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef unsigned short __kernel_gid16_t; -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal-defs.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal-defs.h deleted file mode 100644 index f47cbe7b9..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal-defs.h +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_GENERIC_SIGNAL_DEFS_H -#define __ASM_GENERIC_SIGNAL_DEFS_H -#include -#ifndef SIG_BLOCK -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIG_BLOCK 0 -#endif -#ifndef SIG_UNBLOCK -#define SIG_UNBLOCK 1 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#ifndef SIG_SETMASK -#define SIG_SETMASK 2 -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#ifndef __ASSEMBLY__ -typedef void __signalfn_t(int); -typedef __signalfn_t __user *__sighandler_t; -typedef void __restorefn_t(void); -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef __restorefn_t __user *__sigrestore_t; -#define SIG_DFL ((__force __sighandler_t)0) -#define SIG_IGN ((__force __sighandler_t)1) -#define SIG_ERR ((__force __sighandler_t)-1) -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal.h deleted file mode 100644 index c4c7e00e4..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/signal.h +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _UAPI__ASM_GENERIC_SIGNAL_H -#define _UAPI__ASM_GENERIC_SIGNAL_H -#include -#define _NSIG 64 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define _NSIG_BPW __BITS_PER_LONG -#define _NSIG_WORDS (_NSIG / _NSIG_BPW) -#define SIGHUP 1 -#define SIGINT 2 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGQUIT 3 -#define SIGILL 4 -#define SIGTRAP 5 -#define SIGABRT 6 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGIOT 6 -#define SIGBUS 7 -#define SIGFPE 8 -#define SIGKILL 9 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGUSR1 10 -#define SIGSEGV 11 -#define SIGUSR2 12 -#define SIGPIPE 13 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGALRM 14 -#define SIGTERM 15 -#define SIGSTKFLT 16 -#define SIGCHLD 17 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGCONT 18 -#define SIGSTOP 19 -#define SIGTSTP 20 -#define SIGTTIN 21 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGTTOU 22 -#define SIGURG 23 -#define SIGXCPU 24 -#define SIGXFSZ 25 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGVTALRM 26 -#define SIGPROF 27 -#define SIGWINCH 28 -#define SIGIO 29 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGPOLL SIGIO -#define SIGPWR 30 -#define SIGSYS 31 -#define SIGUNUSED 31 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#ifndef SIGRTMAX -#define SIGRTMAX _NSIG -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SA_NOCLDSTOP 0x00000001 -#define SA_NOCLDWAIT 0x00000002 -#define SA_SIGINFO 0x00000004 -#define SA_ONSTACK 0x08000000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SA_RESTART 0x10000000 -#define SA_NODEFER 0x40000000 -#define SA_RESETHAND 0x80000000 -#define SA_NOMASK SA_NODEFER -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SA_ONESHOT SA_RESETHAND -#define MINSIGSTKSZ 2048 -#define SIGSTKSZ 8192 -#ifndef __ASSEMBLY__ -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef struct { - unsigned long sig[_NSIG_WORDS]; -} sigset_t; -typedef unsigned long old_sigset_t; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#include -#ifdef SA_RESTORER -#define __ARCH_HAS_SA_RESTORER -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct sigaction { - __sighandler_t sa_handler; - unsigned long sa_flags; -#ifdef SA_RESTORER -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - __sigrestore_t sa_restorer; -#endif - sigset_t sa_mask; -}; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -typedef struct sigaltstack { - void __user *ss_sp; - int ss_flags; - size_t ss_size; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -} stack_t; -#endif -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm-generic/types.h b/ndk/platforms/android-9/arch-arm64/include/asm-generic/types.h deleted file mode 100644 index c0d4bea9e..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm-generic/types.h +++ /dev/null @@ -1,23 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _ASM_GENERIC_TYPES_H -#define _ASM_GENERIC_TYPES_H -#include -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/bitsperlong.h b/ndk/platforms/android-9/arch-arm64/include/asm/bitsperlong.h deleted file mode 100644 index e53ff6505..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/bitsperlong.h +++ /dev/null @@ -1,24 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_BITSPERLONG_H -#define __ASM_BITSPERLONG_H -#define __BITS_PER_LONG 64 -#include -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/errno.h b/ndk/platforms/android-9/arch-arm64/include/asm/errno.h deleted file mode 100644 index 392cd94bf..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/errno.h +++ /dev/null @@ -1,19 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#include diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/fcntl.h b/ndk/platforms/android-9/arch-arm64/include/asm/fcntl.h deleted file mode 100644 index c62f26086..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/fcntl.h +++ /dev/null @@ -1,28 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_FCNTL_H -#define __ASM_FCNTL_H -#define O_DIRECTORY 040000 -#define O_NOFOLLOW 0100000 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define O_DIRECT 0200000 -#define O_LARGEFILE 0400000 -#include -#endif -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/page.h b/ndk/platforms/android-9/arch-arm64/include/asm/page.h deleted file mode 100644 index f9803437e..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/page.h +++ /dev/null @@ -1,19 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _ASMARM_PAGE_H -#define _ASMARM_PAGE_H - -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) -#define PAGE_MASK (~(PAGE_SIZE-1)) - -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/posix_types.h b/ndk/platforms/android-9/arch-arm64/include/asm/posix_types.h deleted file mode 100644 index 1b8925316..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/posix_types.h +++ /dev/null @@ -1,19 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#include diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/sigcontext.h b/ndk/platforms/android-9/arch-arm64/include/asm/sigcontext.h deleted file mode 100644 index c59f9c00e..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/sigcontext.h +++ /dev/null @@ -1,46 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef _UAPI__ASM_SIGCONTEXT_H -#define _UAPI__ASM_SIGCONTEXT_H -#include -struct sigcontext { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - __u64 fault_address; - __u64 regs[31]; - __u64 sp; - __u64 pc; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - __u64 pstate; - __u8 __reserved[4096] __attribute__((__aligned__(16))); -}; -struct _aarch64_ctx { -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - __u32 magic; - __u32 size; -}; -#define FPSIMD_MAGIC 0x46508001 -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -struct fpsimd_context { - struct _aarch64_ctx head; - __u32 fpsr; - __u32 fpcr; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ - __uint128_t vregs[32]; -}; -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/siginfo.h b/ndk/platforms/android-9/arch-arm64/include/asm/siginfo.h deleted file mode 100644 index 82fe0a2e7..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/siginfo.h +++ /dev/null @@ -1,24 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_SIGINFO_H -#define __ASM_SIGINFO_H -#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) -#include -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/signal.h b/ndk/platforms/android-9/arch-arm64/include/asm/signal.h deleted file mode 100644 index 39f8c48cd..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/signal.h +++ /dev/null @@ -1,24 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#ifndef __ASM_SIGNAL_H -#define __ASM_SIGNAL_H -#define SA_RESTORER 0x04000000 -#include -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/asm/types.h b/ndk/platforms/android-9/arch-arm64/include/asm/types.h deleted file mode 100644 index 8250f4345..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/asm/types.h +++ /dev/null @@ -1,19 +0,0 @@ -/**************************************************************************** - **************************************************************************** - *** - *** This header was automatically generated from a Linux kernel header - *** of the same name, to make information necessary for userspace to - *** call into the kernel available to libc. It contains only constants, - *** structures, and macros generated from the original header, and thus, - *** contains no copyrightable information. - *** - *** To edit the content of this header, modify the corresponding - *** source file (e.g. under external/kernel-headers/original/) then - *** run bionic/libc/kernel/tools/update_all.py - *** - *** Any manual change here will be lost the next time this script will - *** be run. You've been warned! - *** - **************************************************************************** - ****************************************************************************/ -#include diff --git a/ndk/platforms/android-9/arch-arm64/include/machine/_types.h b/ndk/platforms/android-9/arch-arm64/include/machine/_types.h deleted file mode 100644 index dbab9d503..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/machine/_types.h +++ /dev/null @@ -1,139 +0,0 @@ -/* $OpenBSD: _types.h,v 1.13 2013/07/05 19:46:27 guenther 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 - * @(#)ansi.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _MACHINE__TYPES_H_ -#define _MACHINE__TYPES_H_ - -/* - * _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned - * value for all data types (int, long, ...). The result is an - * unsigned long and must be cast to any desired pointer type. - * - * _ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - */ -#define _ALIGNBYTES (sizeof(long) - 1) -#define _ALIGN(p) (((unsigned long)(p) + _ALIGNBYTES) &~_ALIGNBYTES) -#define _ALIGNED_POINTER(p,t) 1 - -#if defined(_KERNEL) -typedef struct label_t { - long val[8]; -} label_t; -#endif - -/* 7.18.1.1 Exact-width integer types */ -typedef __signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -/* LONGLONG */ -typedef long long __int64_t; -/* LONGLONG */ -typedef unsigned long long __uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef __int8_t __int_least8_t; -typedef __uint8_t __uint_least8_t; -typedef __int16_t __int_least16_t; -typedef __uint16_t __uint_least16_t; -typedef __int32_t __int_least32_t; -typedef __uint32_t __uint_least32_t; -typedef __int64_t __int_least64_t; -typedef __uint64_t __uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ -typedef __int32_t __int_fast8_t; -typedef __uint32_t __uint_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __uint32_t __uint_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __uint32_t __uint_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __uint64_t __uint_fast64_t; -#define __INT_FAST8_MIN INT32_MIN -#define __INT_FAST16_MIN INT32_MIN -#define __INT_FAST32_MIN INT32_MIN -#define __INT_FAST64_MIN INT64_MIN -#define __INT_FAST8_MAX INT32_MAX -#define __INT_FAST16_MAX INT32_MAX -#define __INT_FAST32_MAX INT32_MAX -#define __INT_FAST64_MAX INT64_MAX -#define __UINT_FAST8_MAX UINT32_MAX -#define __UINT_FAST16_MAX UINT32_MAX -#define __UINT_FAST32_MAX UINT32_MAX -#define __UINT_FAST64_MAX UINT64_MAX - -/* 7.18.1.4 Integer types capable of holding object pointers */ -typedef long __intptr_t; -typedef unsigned long __uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ -typedef __int64_t __intmax_t; -typedef __uint64_t __uintmax_t; - -/* Register size */ -typedef long __register_t; - -/* VM system types */ -typedef unsigned long __vaddr_t; -typedef unsigned long __paddr_t; -typedef unsigned long __vsize_t; -typedef unsigned long __psize_t; - -/* Standard system types */ -typedef double __double_t; -typedef float __float_t; -typedef long __ptrdiff_t; -typedef long __ssize_t; -#if defined(__GNUC__) && __GNUC__ >= 3 -typedef __builtin_va_list __va_list; -#else -typedef char * __va_list; -#endif - -/* Wide character support types */ -#ifndef __cplusplus -typedef int __wchar_t; -#endif -typedef int __wint_t; -typedef int __rune_t; -typedef void * __wctrans_t; -typedef void * __wctype_t; - -#endif /* _MACHINE__TYPES_H_ */ diff --git a/ndk/platforms/android-9/arch-arm64/include/machine/limits.h b/ndk/platforms/android-9/arch-arm64/include/machine/limits.h deleted file mode 100644 index a8c4a88db..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/machine/limits.h +++ /dev/null @@ -1,55 +0,0 @@ -/* $OpenBSD: limits.h,v 1.5 2009/11/27 19:54:35 guenther Exp $ */ - -/* - * Copyright (c) 1988 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. - * - * @(#)limits.h 7.2 (Berkeley) 6/28/90 - */ - -#ifndef _MACHINE_LIMITS_H_ -#define _MACHINE_LIMITS_H_ - -#include - -#if __POSIX_VISIBLE || __XPG_VISIBLE -#ifndef SIZE_MAX -#define SIZE_MAX ULONG_MAX /* max value for a size_t */ -#endif -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ -#endif - -#if __BSD_VISIBLE -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t (historic) */ - -#define UQUAD_MAX 0xffffffffffffffffULL /* max unsigned quad */ -#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */ -#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */ - -#endif /* __BSD_VISIBLE */ - -#endif /* _MACHINE_LIMITS_H_ */ diff --git a/ndk/platforms/android-9/arch-arm64/include/sys/limits.h b/ndk/platforms/android-9/arch-arm64/include/sys/limits.h deleted file mode 100644 index 36f73b2b3..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/sys/limits.h +++ /dev/null @@ -1,174 +0,0 @@ -/* $OpenBSD: limits.h,v 1.6 2005/12/13 00:35:23 millert Exp $ */ -/* - * Copyright (c) 2002 Marc Espie. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE OPENBSD PROJECT 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 OPENBSD - * PROJECT 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 _SYS_LIMITS_H_ -#define _SYS_LIMITS_H_ - -#include -#include - -/* Common definitions for limits.h. */ - -/* Legacy */ -#include - -#define CHAR_BIT 8 /* number of bits in a char */ - -#define SCHAR_MAX 0x7f /* max value for a signed char */ -#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */ - -#define UCHAR_MAX 0xffU /* max value for an unsigned char */ -#ifdef __CHAR_UNSIGNED__ -# define CHAR_MIN 0 /* min value for a char */ -# define CHAR_MAX 0xff /* max value for a char */ -#else -# define CHAR_MAX 0x7f -# define CHAR_MIN (-0x7f-1) -#endif - -#define USHRT_MAX 0xffffU /* max value for an unsigned short */ -#define SHRT_MAX 0x7fff /* max value for a short */ -#define SHRT_MIN (-0x7fff-1) /* min value for a short */ - -#define UINT_MAX 0xffffffffU /* max value for an unsigned int */ -#define INT_MAX 0x7fffffff /* max value for an int */ -#define INT_MIN (-0x7fffffff-1) /* min value for an int */ - -#ifdef __LP64__ -# define ULONG_MAX 0xffffffffffffffffUL - /* max value for unsigned long */ -# define LONG_MAX 0x7fffffffffffffffL - /* max value for a signed long */ -# define LONG_MIN (-0x7fffffffffffffffL-1) - /* min value for a signed long */ -#else -# define ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ -# define LONG_MAX 0x7fffffffL /* max value for a long */ -# define LONG_MIN (-0x7fffffffL-1)/* min value for a long */ -#endif - -#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 -# define ULLONG_MAX 0xffffffffffffffffULL - /* max value for unsigned long long */ -# define LLONG_MAX 0x7fffffffffffffffLL - /* max value for a signed long long */ -# define LLONG_MIN (-0x7fffffffffffffffLL-1) - /* min value for a signed long long */ -#endif - -#if __BSD_VISIBLE -# define UID_MAX UINT_MAX /* max value for a uid_t */ -# define GID_MAX UINT_MAX /* max value for a gid_t */ -#endif - - -#ifdef __LP64__ -# define LONG_BIT 64 -#else -# define LONG_BIT 32 -#endif - -/* float.h defines these as well */ -# if !defined(DBL_DIG) -# if defined(__DBL_DIG) -# define DBL_DIG __DBL_DIG -# define DBL_MAX __DBL_MAX -# define DBL_MIN __DBL_MIN - -# define FLT_DIG __FLT_DIG -# define FLT_MAX __FLT_MAX -# define FLT_MIN __FLT_MIN -# else -# define DBL_DIG 15 -# define DBL_MAX 1.7976931348623157E+308 -# define DBL_MIN 2.2250738585072014E-308 - -# define FLT_DIG 6 -# define FLT_MAX 3.40282347E+38F -# define FLT_MIN 1.17549435E-38F -# endif -# endif - -/* Bionic: the following has been optimized out from our processed kernel headers */ - -#define CHILD_MAX 999 -#define OPEN_MAX 256 - -/* Bionic-specific definitions */ - -#define _POSIX_VERSION 200112L /* Posix C language bindings version */ -#define _POSIX2_VERSION -1 /* we don't support Posix command-line tools */ -#define _POSIX2_C_VERSION _POSIX_VERSION -#define _XOPEN_VERSION 500 /* by Posix definition */ -#define _XOPEN_XCU_VERSION -1 /* we don't support command-line utilities */ - -/* tell what we implement legacy stuff when appropriate */ -#if _POSIX_VERSION > 0 -#define _XOPEN_XPG2 1 -#define _XOPEN_XPG3 1 -#define _XOPEN_XPG4 1 -#define _XOPEN_UNIX 1 -#endif - -#define _XOPEN_ENH_I18N -1 /* we don't support internationalization in the C library */ -#define _XOPEN_CRYPT -1 /* don't support X/Open Encryption */ -#define _XOPEN_LEGACY -1 /* don't claim we support these, we have some of them but not all */ -#define _XOPEN_REALTIME -1 /* we don't support all these functions */ -#define _XOPEN_REALTIME_THREADS -1 /* same here */ - -#define _POSIX_REALTIME_SIGNALS -1 /* for now, this is not supported */ -#define _POSIX_PRIORITY_SCHEDULING 1 /* priority scheduling is a Linux feature */ -#define _POSIX_TIMERS 1 /* Posix timers are supported */ -#undef _POSIX_ASYNCHRONOUS_IO /* aio_ functions are not supported */ -#define _POSIX_SYNCHRONIZED_IO 1 /* synchronized i/o supported */ -#define _POSIX_FSYNC 1 /* fdatasync() supported */ -#define _POSIX_MAPPED_FILES 1 /* mmap-ed files supported */ - -/* XXX: TODO: complete and check list here */ - - -#define _POSIX_THREADS 1 /* we support threads */ -#define _POSIX_THREAD_STACKADDR 1 /* we support thread stack address */ -#define _POSIX_THREAD_STACKSIZE 1 /* we support thread stack size */ -#define _POSIX_THREAD_PRIO_INHERIT 200112L /* linux feature */ -#define _POSIX_THREAD_PRIO_PROTECT 200112L /* linux feature */ - -#undef _POSIX_PROCESS_SHARED /* we don't support process-shared synchronization */ -#undef _POSIX_THREAD_SAFE_FUNCTIONS /* most functions are, but not everything yet */ -#define _POSIX_CHOWN_RESTRICTED 1 /* yes, chown requires appropriate privileges */ -#define _POSIX_MONOTONIC_CLOCK 0 /* the monotonic clock may be available; ask sysconf */ -#define _POSIX_NO_TRUNC 1 /* very long pathnames generate an error */ -#define _POSIX_SAVED_IDS 1 /* saved user ids is a Linux feature */ -#define _POSIX_JOB_CONTROL 1 /* job control is a Linux feature */ - -#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 /* the minimum mandated by POSIX */ -#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS -#define _POSIX_THREAD_KEYS_MAX 128 /* the minimum mandated by POSIX */ -#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX -#define _POSIX_THREAD_THREADS_MAX 64 /* the minimum mandated by POSIX */ -#define PTHREAD_THREADS_MAX /* bionic has no specific limit */ - - -#endif diff --git a/ndk/platforms/android-9/arch-arm64/include/sys/types.h b/ndk/platforms/android-9/arch-arm64/include/sys/types.h deleted file mode 100644 index 875692dc2..000000000 --- a/ndk/platforms/android-9/arch-arm64/include/sys/types.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2008 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 _SYS_TYPES_H_ -#define _SYS_TYPES_H_ - -#define __need_size_t -#define __need_ptrdiff_t -#include -#include -#include - -#include -#include -#include -#include - -typedef __u32 __kernel_dev_t; - -/* be careful with __kernel_gid_t and __kernel_uid_t - * these are defined as 16-bit for legacy reason, but - * the kernel uses 32-bits instead. - * - * 32-bit valuea are required for Android, so use - * __kernel_uid32_t and __kernel_gid32_t - */ - -typedef __kernel_blkcnt_t blkcnt_t; -typedef __kernel_blksize_t blksize_t; -typedef __kernel_clock_t clock_t; -typedef __kernel_clockid_t clockid_t; -typedef __kernel_dev_t dev_t; -typedef __kernel_fsblkcnt_t fsblkcnt_t; -typedef __kernel_fsfilcnt_t fsfilcnt_t; -typedef __kernel_gid32_t gid_t; -typedef __kernel_id_t id_t; -typedef __kernel_ino_t ino_t; -typedef __kernel_key_t key_t; -typedef __kernel_mode_t mode_t; -#ifndef _OFF_T_DEFINED_ -#define _OFF_T_DEFINED_ -typedef __kernel_off_t off_t; -#endif -typedef __kernel_loff_t loff_t; -typedef loff_t off64_t; /* GLibc-specific */ - -typedef __kernel_pid_t pid_t; - -/* while POSIX wants these in , we - * declare then in instead */ -#if 0 -typedef .... pthread_attr_t; -typedef .... pthread_cond_t; -typedef .... pthread_condattr_t; -typedef .... pthread_key_t; -typedef .... pthread_mutex_t; -typedef .... pthread_once_t; -typedef .... pthread_rwlock_t; -typedef .... pthread_rwlock_attr_t; -typedef .... pthread_t; -#endif - -#ifndef _SSIZE_T_DEFINED_ -#define _SSIZE_T_DEFINED_ -typedef long int ssize_t; -#endif - -typedef __kernel_suseconds_t suseconds_t; -typedef __kernel_time_t time_t; -typedef __kernel_uid32_t uid_t; -typedef signed long useconds_t; - -typedef __kernel_daddr_t daddr_t; -typedef __kernel_timer_t timer_t; -typedef __kernel_mqd_t mqd_t; - -typedef __kernel_caddr_t caddr_t; -typedef unsigned int uint_t; -typedef unsigned int uint; - -/* for some applications */ -#include - -#ifdef __BSD_VISIBLE -typedef unsigned char u_char; -typedef unsigned short u_short; -typedef unsigned int u_int; -typedef unsigned long u_long; - -typedef uint32_t u_int32_t; -typedef uint16_t u_int16_t; -typedef uint8_t u_int8_t; -typedef uint64_t u_int64_t; -#endif - -#endif diff --git a/ndk/platforms/android-9/arch-mips64 b/ndk/platforms/android-9/arch-mips64 deleted file mode 120000 index 8f3e95f32..000000000 --- a/ndk/platforms/android-9/arch-mips64 +++ /dev/null @@ -1 +0,0 @@ -arch-mips \ No newline at end of file