diff --git a/ndk/platforms/android-20/arch-arm/include/machine/ieee.h b/ndk/platforms/android-20/arch-arm/include/machine/ieee.h deleted file mode 100644 index cf2c1fc5e..000000000 --- a/ndk/platforms/android-20/arch-arm/include/machine/ieee.h +++ /dev/null @@ -1,191 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.1 2004/02/01 05:09:49 drahn Exp $ */ -/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ - -/* - * The ARM has two sets of FP data formats. The FPA supports 32-bit, 64-bit - * and 96-bit IEEE formats, with the words in big-endian order. VFP supports - * 32-bin and 64-bit IEEE formats with the words in the CPU's native byte - * order. - * - * The FPA also has two packed decimal formats, but we ignore them here. - */ - -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACBITS 52 - -#ifndef __VFP_FP__ -#define E80_EXPBITS 15 -#define E80_FRACBITS 64 - -#define EXT_EXPBITS 15 -#define EXT_FRACBITS 112 -#endif - -struct ieee_single { - u_int sng_frac:23; - u_int sng_exponent:8; - u_int sng_sign:1; -}; - -#ifdef __VFP_FP__ -struct ieee_double { -#ifdef __AARCH64EB__ - u_int dbl_sign:1; - u_int dbl_exp:11; - u_int dbl_frach:20; - u_int dbl_fracl; -#else /* !__AARCH64EB__ */ - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -#endif /* !__AARCH64EB__ */ -}; -#else /* !__VFP_FP__ */ -struct ieee_double { - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; - u_int dbl_fracl; -}; - -union ieee_double_u { - double dblu_d; - struct ieee_double dblu_dbl; -}; - - -struct ieee_e80 { - u_int e80_exp:15; - u_int e80_zero:16; - u_int e80_sign:1; - u_int e80_frach:31; - u_int e80_j:1; - u_int e80_fracl; -}; - -struct ieee_ext { - u_int ext_frach:16; - u_int ext_exp:15; - u_int ext_sign:1; - u_int ext_frachm; - u_int ext_fraclm; - u_int ext_fracl; -}; -#endif /* !__VFP_FP__ */ - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#ifndef __VFP_FP__ -#define E80_EXP_INFNAN 32767 -#define EXT_EXP_INFNAN 32767 -#endif /* !__VFP_FP__ */ - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#ifndef __VFP_FP__ -#define E80_QUIETNAN (1 << 15) -#define EXT_QUIETNAN (1 << 15) -#endif /* !__VFP_FP__ */ -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#ifndef __VFP_FP__ -#define E80_EXP_BIAS 16383 -#define EXT_EXP_BIAS 16383 -#endif /* !__VFP_FP__ */ diff --git a/ndk/platforms/android-20/arch-arm/lib/libc.a b/ndk/platforms/android-20/arch-arm/lib/libc.a new file mode 100644 index 000000000..6951548de Binary files /dev/null and b/ndk/platforms/android-20/arch-arm/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-arm/lib/libm.a b/ndk/platforms/android-20/arch-arm/lib/libm.a new file mode 100644 index 000000000..b9aa024e4 Binary files /dev/null and b/ndk/platforms/android-20/arch-arm/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-arm/lib/libstdc++.a b/ndk/platforms/android-20/arch-arm/lib/libstdc++.a new file mode 100644 index 000000000..463cc80c4 Binary files /dev/null and b/ndk/platforms/android-20/arch-arm/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-arm/lib/libz.a b/ndk/platforms/android-20/arch-arm/lib/libz.a new file mode 100644 index 000000000..42e397d31 Binary files /dev/null and b/ndk/platforms/android-20/arch-arm/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt index 112cae0a0..a8b292e23 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libc.so.functions.txt @@ -7,43 +7,120 @@ SHA1Transform SHA1Update _Exit _Unwind_Backtrace +_Unwind_Complete _Unwind_DeleteException -_Unwind_FindEnclosingFunction -_Unwind_Find_FDE _Unwind_ForcedUnwind _Unwind_GetCFA _Unwind_GetDataRelBase -_Unwind_GetGR -_Unwind_GetIP -_Unwind_GetIPInfo _Unwind_GetLanguageSpecificData _Unwind_GetRegionStart _Unwind_GetTextRelBase _Unwind_RaiseException _Unwind_Resume _Unwind_Resume_or_Rethrow -_Unwind_SetGR -_Unwind_SetIP +_Unwind_VRS_Get +_Unwind_VRS_Pop +_Unwind_VRS_Set __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +___Unwind_Backtrace +___Unwind_ForcedUnwind +___Unwind_RaiseException +___Unwind_Resume +___Unwind_Resume_or_Rethrow +__adddf3 +__addsf3 +__aeabi_atexit +__aeabi_cdcmpeq +__aeabi_cdcmple +__aeabi_cdrcmple +__aeabi_d2f +__aeabi_d2iz +__aeabi_dadd +__aeabi_dcmpeq +__aeabi_dcmpge +__aeabi_dcmpgt +__aeabi_dcmple +__aeabi_dcmplt +__aeabi_dcmpun +__aeabi_ddiv +__aeabi_dmul +__aeabi_drsub +__aeabi_dsub +__aeabi_f2d +__aeabi_f2iz +__aeabi_f2uiz +__aeabi_fadd +__aeabi_fcmpun +__aeabi_fdiv +__aeabi_fmul +__aeabi_frsub +__aeabi_fsub +__aeabi_i2d +__aeabi_i2f +__aeabi_idiv +__aeabi_idiv0 +__aeabi_idivmod +__aeabi_l2d +__aeabi_l2f +__aeabi_lasr +__aeabi_ldiv0 +__aeabi_ldivmod +__aeabi_llsl +__aeabi_llsr +__aeabi_lmul +__aeabi_memclr +__aeabi_memclr4 +__aeabi_memclr8 +__aeabi_memcpy +__aeabi_memcpy4 +__aeabi_memcpy8 +__aeabi_memmove +__aeabi_memmove4 +__aeabi_memmove8 +__aeabi_memset +__aeabi_memset4 +__aeabi_memset8 +__aeabi_ui2d +__aeabi_ui2f +__aeabi_uidiv +__aeabi_uidivmod +__aeabi_ul2d +__aeabi_ul2f +__aeabi_uldivmod +__aeabi_unwind_cpp_pr0 +__aeabi_unwind_cpp_pr1 +__aeabi_unwind_cpp_pr2 +__android_set_abort_message __arc4_getbyte +__ashldi3 +__ashrdi3 __assert __assert2 +__atomic_cmpxchg +__atomic_dec +__atomic_inc +__atomic_swap __b64_ntop __b64_pton __bionic_clone __bionic_clone_entry __bionic_name_mem +__brk +__cmpdf2 __cxa_atexit __cxa_finalize -__deregister_frame -__deregister_frame_info -__deregister_frame_info_bases +__divdf3 +__divdi3 +__divsf3 +__divsi3 __dn_comp __dn_count_labels __dn_skipname __dorand48 +__epoll_pwait +__eqdf2 __errno __evAddTime __evCmpTime @@ -54,29 +131,98 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 +__exit +__extendsfdf2 +__fcntl64 __fgets_chk +__fgetwc_unlock __findenv +__fixdfsi +__fixsfsi +__fixunssfsi +__floatdidf +__floatdisf +__floatsidf +__floatsisf +__floatundidf +__floatundisf +__floatunsidf +__floatunsisf __fp_nquery __fp_query -__frame_state_for +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock +__fstatfs64 __futex_syscall3 __futex_syscall4 __futex_wait __futex_wait_ex __futex_wake __futex_wake_ex +__gedf2 __get_h_errno __get_sp +__get_tls +__getcpu +__getcwd +__getpriority +__gnu_Unwind_Backtrace +__gnu_Unwind_Find_exidx +__gnu_Unwind_ForcedUnwind +__gnu_Unwind_RaiseException +__gnu_Unwind_Restore_VFP +__gnu_Unwind_Restore_VFP_D +__gnu_Unwind_Restore_VFP_D_16_to_31 +__gnu_Unwind_Restore_WMMXC +__gnu_Unwind_Restore_WMMXD +__gnu_Unwind_Resume +__gnu_Unwind_Resume_or_Rethrow +__gnu_Unwind_Save_VFP +__gnu_Unwind_Save_VFP_D +__gnu_Unwind_Save_VFP_D_16_to_31 +__gnu_Unwind_Save_WMMXC +__gnu_Unwind_Save_WMMXD +__gnu_ldivmod_helper +__gnu_uldivmod_helper +__gnu_unwind_execute +__gnu_unwind_frame +__gtdf2 __hostalias +__ioctl +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__ledf2 +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init +__llseek __loc_aton __loc_ntoa +__lshrdi3 +__ltdf2 __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__mmap2 +__muldf3 +__muldi3 +__mulsf3 +__nedf2 __ns_format_ttl __ns_get16 __ns_get32 @@ -107,7 +253,9 @@ __ns_samename __ns_skiprr __ns_sprintrr __ns_sprintrrf +__open __open_2 +__openat __openat_2 __p_cdname __p_cdnname @@ -122,20 +270,18 @@ __p_section __p_sockun __p_time __p_type -__popcountdi2 +__popcountsi2 +__ppoll +__pselect6 __pthread_cleanup_pop __pthread_cleanup_push __pthread_gettid +__ptrace __putlong __putshort __read_chk +__reboot __recvfrom_chk -__register_frame -__register_frame_info -__register_frame_info_bases -__register_frame_info_table -__register_frame_info_table_bases -__register_frame_table __res_close __res_dnok __res_get_nibblesuffix @@ -171,18 +317,27 @@ __res_send_setqhook __res_send_setrhook __res_setservers __res_vinit +__restore_core_regs +__rt_sigaction +__rt_sigpending +__rt_sigprocmask +__rt_sigsuspend +__rt_sigtimedwait __sched_cpualloc __sched_cpucount __sched_cpufree +__sched_getaffinity __sclose +__set_errno +__set_tid_address __set_tls __sflags __sflush __sflush_locked __sfp -__sfp_handle_exceptions +__sfvwrite +__sigaction __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -191,6 +346,7 @@ __srefill __srget __sseek __stack_chk_fail +__statfs64 __stpcpy_chk __stpncpy_chk __stpncpy_chk2 @@ -204,6 +360,8 @@ __strncat_chk __strncpy_chk __strncpy_chk2 __strrchr_chk +__subdf3 +__subsf3 __svfscanf __swbuf __swhatbuf @@ -212,6 +370,7 @@ __swsetup __sym_ntop __sym_ntos __sym_ston +__syslog __system_properties_init __system_property_add __system_property_area_init @@ -228,11 +387,25 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__truncdfsf2 +__udivdi3 +__udivsi3 __umask_chk +__ungetwc +__unorddf2 +__unordsf2 __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk +__wait4 +__waitid _cleanup _exit _exit_with_stack_teardown @@ -244,6 +417,8 @@ _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -269,6 +444,8 @@ asctime64 asctime64_r asctime_r asprintf +at_quick_exit +atexit atof atoi atol @@ -283,6 +460,7 @@ bsd_signal bsearch btowc bzero +cacheflush calloc capget capset @@ -421,7 +599,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -567,8 +744,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -576,6 +765,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -627,8 +817,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -638,6 +830,7 @@ memmem memmove memrchr memset +memswap mincore mkdir mkdirat @@ -697,7 +890,6 @@ prctl pread pread64 printf -prlimit prlimit64 pselect psiginfo @@ -710,6 +902,7 @@ pthread_attr_getschedparam pthread_attr_getschedpolicy pthread_attr_getscope pthread_attr_getstack +pthread_attr_getstackaddr pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate @@ -718,12 +911,17 @@ pthread_attr_setschedparam pthread_attr_setschedpolicy pthread_attr_setscope pthread_attr_setstack +pthread_attr_setstackaddr pthread_attr_setstacksize pthread_cond_broadcast pthread_cond_destroy pthread_cond_init pthread_cond_signal pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timedwait_monotonic_np +pthread_cond_timedwait_relative_np +pthread_cond_timeout_np pthread_cond_wait pthread_condattr_destroy pthread_condattr_getclock @@ -746,6 +944,7 @@ pthread_kill pthread_mutex_destroy pthread_mutex_init pthread_mutex_lock +pthread_mutex_lock_timeout_np pthread_mutex_timedlock pthread_mutex_trylock pthread_mutex_unlock @@ -791,6 +990,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -822,6 +1022,7 @@ res_query res_search res_setmark res_setnetid +restore_core_regs rewind rewinddir rmdir @@ -967,6 +1168,7 @@ strtol strtold strtoll strtoq +strtotimeval strtoul strtoull strtoumax @@ -1056,17 +1258,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1094,16 +1299,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt index 9eaecee47..121f8f418 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libc.so.variables.txt @@ -4,6 +4,8 @@ _C_toupper_ __atexit __atexit_invalid __bionic_brk +__bionic_libgcc_compat_symbols +__dso_handle __isthreaded __libc_malloc_default_dispatch __libc_malloc_dispatch @@ -12,6 +14,8 @@ __p_class_syms __p_key_syms __p_rcode_syms __p_type_syms +__page_shift +__page_size __popcount_tab __progname __rand48_add diff --git a/ndk/platforms/android-20/arch-arm/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-arm/symbols/libdl.so.functions.txt index 01374b056..df45e166c 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libdl.so.functions.txt @@ -1,6 +1,8 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr +dl_unwind_find_exidx dladdr dlclose dlerror diff --git a/ndk/platforms/android-20/arch-arm/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-arm/symbols/libm.so.functions.txt index 501f019f3..41c1f4146 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libm.so.functions.txt @@ -1,53 +1,46 @@ -__addtf3 -__divtf3 -__eqtf2 +__aeabi_cfcmpeq +__aeabi_cfcmple +__aeabi_cfrcmple +__aeabi_d2lz +__aeabi_d2uiz +__aeabi_d2ulz +__aeabi_f2lz +__aeabi_f2ulz +__aeabi_fcmpeq +__aeabi_fcmpge +__aeabi_fcmpgt +__aeabi_fcmple +__aeabi_fcmplt +__cmpsf2 +__eqsf2 __exp__D -__extendsftf2 -__fixtfdi -__fixtfsi -__floatsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl -__getf2 -__gttf2 +__fixdfdi +__fixsfdi +__fixunsdfdi +__fixunsdfsi +__fixunssfdi +__gesf2 +__gtsf2 __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__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 +__lesf2 __log__D -__lttf2 -__multf3 -__netf2 +__ltsf2 +__nesf2 __signbit __signbitf __signbitl -__subtf3 -__trunctfsf2 _scan_nan acos acosf @@ -72,6 +65,7 @@ atanhl atanl cabs cabsf +cabsl carg cargf cbrt @@ -101,6 +95,7 @@ coshl cosl cproj cprojf +cprojl creal crealf csin @@ -109,6 +104,7 @@ csinh csinhf csqrt csqrtf +csqrtl ctan ctanf ctanh @@ -180,9 +176,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/arch-arm/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-arm/symbols/libm.so.variables.txt index 9d7f213f3..a1b63fcbc 100644 --- a/ndk/platforms/android-20/arch-arm/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-arm/symbols/libm.so.variables.txt @@ -1,25 +1,2 @@ -_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-arm64/include/machine/ieee.h b/ndk/platforms/android-20/arch-arm64/include/machine/ieee.h deleted file mode 100644 index cf2c1fc5e..000000000 --- a/ndk/platforms/android-20/arch-arm64/include/machine/ieee.h +++ /dev/null @@ -1,191 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.1 2004/02/01 05:09:49 drahn Exp $ */ -/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ - -/* - * The ARM has two sets of FP data formats. The FPA supports 32-bit, 64-bit - * and 96-bit IEEE formats, with the words in big-endian order. VFP supports - * 32-bin and 64-bit IEEE formats with the words in the CPU's native byte - * order. - * - * The FPA also has two packed decimal formats, but we ignore them here. - */ - -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACBITS 52 - -#ifndef __VFP_FP__ -#define E80_EXPBITS 15 -#define E80_FRACBITS 64 - -#define EXT_EXPBITS 15 -#define EXT_FRACBITS 112 -#endif - -struct ieee_single { - u_int sng_frac:23; - u_int sng_exponent:8; - u_int sng_sign:1; -}; - -#ifdef __VFP_FP__ -struct ieee_double { -#ifdef __AARCH64EB__ - u_int dbl_sign:1; - u_int dbl_exp:11; - u_int dbl_frach:20; - u_int dbl_fracl; -#else /* !__AARCH64EB__ */ - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -#endif /* !__AARCH64EB__ */ -}; -#else /* !__VFP_FP__ */ -struct ieee_double { - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; - u_int dbl_fracl; -}; - -union ieee_double_u { - double dblu_d; - struct ieee_double dblu_dbl; -}; - - -struct ieee_e80 { - u_int e80_exp:15; - u_int e80_zero:16; - u_int e80_sign:1; - u_int e80_frach:31; - u_int e80_j:1; - u_int e80_fracl; -}; - -struct ieee_ext { - u_int ext_frach:16; - u_int ext_exp:15; - u_int ext_sign:1; - u_int ext_frachm; - u_int ext_fraclm; - u_int ext_fracl; -}; -#endif /* !__VFP_FP__ */ - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#ifndef __VFP_FP__ -#define E80_EXP_INFNAN 32767 -#define EXT_EXP_INFNAN 32767 -#endif /* !__VFP_FP__ */ - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#ifndef __VFP_FP__ -#define E80_QUIETNAN (1 << 15) -#define EXT_QUIETNAN (1 << 15) -#endif /* !__VFP_FP__ */ -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#ifndef __VFP_FP__ -#define E80_EXP_BIAS 16383 -#define EXT_EXP_BIAS 16383 -#endif /* !__VFP_FP__ */ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libc.a b/ndk/platforms/android-20/arch-arm64/lib/libc.a index 244f17861..737b48d9c 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libc.a and b/ndk/platforms/android-20/arch-arm64/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libm.a b/ndk/platforms/android-20/arch-arm64/lib/libm.a index 1ef1f1462..2c5d4f830 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libm.a and b/ndk/platforms/android-20/arch-arm64/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a b/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a index c60c482c6..35b02d5f0 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a and b/ndk/platforms/android-20/arch-arm64/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-arm64/lib/libz.a b/ndk/platforms/android-20/arch-arm64/lib/libz.a index 616d6fdcc..c6b60b0f9 100644 Binary files a/ndk/platforms/android-20/arch-arm64/lib/libz.a and b/ndk/platforms/android-20/arch-arm64/lib/libz.a differ 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 112cae0a0..046333ddd 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 @@ -27,6 +27,7 @@ _Unwind_SetIP __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +__android_fatal __arc4_getbyte __assert __assert2 @@ -54,11 +55,16 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 __fgets_chk +__fgetwc_unlock __findenv __fp_nquery __fp_query +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock __frame_state_for __futex_syscall3 __futex_syscall4 @@ -69,6 +75,20 @@ __futex_wake_ex __get_h_errno __get_sp __hostalias +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init __loc_aton @@ -77,6 +97,7 @@ __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__multf3 __ns_format_ttl __ns_get16 __ns_get32 @@ -181,8 +202,8 @@ __sflush __sflush_locked __sfp __sfp_handle_exceptions +__sfvwrite __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -228,9 +249,11 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 __umask_chk +__ungetwc __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk _cleanup @@ -244,6 +267,8 @@ _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -265,10 +290,9 @@ arc4random_buf arc4random_stir arc4random_uniform asctime -asctime64 -asctime64_r asctime_r asprintf +at_quick_exit atof atoi atol @@ -313,8 +337,6 @@ connect creat creat64 ctime -ctime64 -ctime64_r ctime_r daemon delete_module @@ -421,7 +443,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -534,8 +555,6 @@ getwc getwchar getxattr gmtime -gmtime64 -gmtime64_r gmtime_r herror hstrerror @@ -567,8 +586,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -576,6 +607,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -606,8 +638,6 @@ lldiv llistxattr localeconv localtime -localtime64 -localtime64_r localtime_r localtime_tz longjmp @@ -627,8 +657,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -650,7 +682,6 @@ mkstemp64 mkstemps mktemp mktime -mktime64 mktime_tz mlock mlockall @@ -791,6 +822,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -949,8 +981,6 @@ strncmp strncpy strndup strnlen -strntoimax -strntoumax strpbrk strptime strrchr @@ -1003,9 +1033,7 @@ tgkill time time2posix timegm -timegm64 timelocal -timelocal64 timer_create timer_delete timer_getoverrun @@ -1056,17 +1084,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1094,16 +1125,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt index 9eaecee47..4f1f739d5 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libc.so.variables.txt @@ -3,7 +3,6 @@ _C_tolower_ _C_toupper_ __atexit __atexit_invalid -__bionic_brk __isthreaded __libc_malloc_default_dispatch __libc_malloc_dispatch diff --git a/ndk/platforms/android-20/arch-arm64/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-arm64/symbols/libdl.so.functions.txt index 01374b056..7632c1eb1 100644 --- a/ndk/platforms/android-20/arch-arm64/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-arm64/symbols/libdl.so.functions.txt @@ -1,3 +1,4 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr 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 501f019f3..5e61a3d19 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 @@ -2,28 +2,15 @@ __addtf3 __divtf3 __eqtf2 __exp__D +__extenddftf2 __extendsftf2 __fixtfdi __fixtfsi __floatsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl __getf2 __gttf2 __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__isnormalf -__isnormall __kernel_cos __kernel_cosdf __kernel_cosl @@ -41,12 +28,12 @@ __ldexp_expf __letf2 __log__D __lttf2 -__multf3 __netf2 __signbit __signbitf __signbitl __subtf3 +__trunctfdf2 __trunctfsf2 _scan_nan acos @@ -180,9 +167,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/arch-mips/include/asm/siginfo.h b/ndk/platforms/android-20/arch-mips/include/asm/siginfo.h index 45b418a3c..5397c6235 100644 --- a/ndk/platforms/android-20/arch-mips/include/asm/siginfo.h +++ b/ndk/platforms/android-20/arch-mips/include/asm/siginfo.h @@ -27,6 +27,7 @@ struct siginfo; #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifdef __LP64__ +#undef __ARCH_SI_PREAMBLE_SIZE #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) #endif #include diff --git a/ndk/platforms/android-20/arch-mips/include/machine/ieee.h b/ndk/platforms/android-20/arch-mips/include/machine/ieee.h deleted file mode 100644 index 520a77b7c..000000000 --- a/ndk/platforms/android-20/arch-mips/include/machine/ieee.h +++ /dev/null @@ -1,169 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.4 2010/01/23 19:11:21 miod Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. It does *not* define (yet?) any of the rounding - * mode bits, exceptions, and so forth. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACHBITS 20 -#define DBL_FRACLBITS 32 -#define DBL_FRACBITS 52 - -#define EXT_EXPBITS 15 -#define EXT_FRACHBITS 16 -#define EXT_FRACHMBITS 32 -#define EXT_FRACLMBITS 32 -#define EXT_FRACLBITS 32 -#define EXT_FRACBITS 112 - -#define EXT_IMPLICIT_NBIT - -#define EXT_TO_ARRAY32(p, a) do { \ - (a)[0] = (uint32_t)(p)->ext_fracl; \ - (a)[1] = (uint32_t)(p)->ext_fraclm; \ - (a)[2] = (uint32_t)(p)->ext_frachm; \ - (a)[3] = (uint32_t)(p)->ext_frach; \ -} while(0) - -struct ieee_single { -#ifdef __MIPSEB__ - u_int sng_sign:1; - u_int sng_exp:8; - u_int sng_frac:23; -#else - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; -#endif -}; - -struct ieee_double { -#ifdef __MIPSEB__ - u_int dbl_sign:1; - u_int dbl_exp:11; - u_int dbl_frach:20; - u_int dbl_fracl; -#else - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -#endif -}; - -struct ieee_ext { -#ifdef __MIPSEB__ - u_int ext_sign:1; - u_int ext_exp:15; - u_int ext_frach:16; - u_int ext_frachm; - u_int ext_fraclm; - u_int ext_fracl; -#else - u_int ext_fracl; - u_int ext_fraclm; - u_int ext_frachm; - u_int ext_frach:16; - u_int ext_exp:15; - u_int ext_sign:1; -#endif -}; - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#define EXT_EXP_INFNAN 32767 - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#define EXT_QUIETNAN (1 << 15) -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#define EXT_EXP_BIAS 16383 diff --git a/ndk/platforms/android-20/arch-mips/lib/libc.a b/ndk/platforms/android-20/arch-mips/lib/libc.a new file mode 100644 index 000000000..e23dea868 Binary files /dev/null and b/ndk/platforms/android-20/arch-mips/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-mips/lib/libm.a b/ndk/platforms/android-20/arch-mips/lib/libm.a new file mode 100644 index 000000000..4a6295fa3 Binary files /dev/null and b/ndk/platforms/android-20/arch-mips/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-mips/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips/lib/libstdc++.a new file mode 100644 index 000000000..ac81c8f9f Binary files /dev/null and b/ndk/platforms/android-20/arch-mips/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-mips/lib/libz.a b/ndk/platforms/android-20/arch-mips/lib/libz.a new file mode 100644 index 000000000..fdc10aebc Binary files /dev/null and b/ndk/platforms/android-20/arch-mips/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt index 8c142a9fb..6573be2ec 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libc.so.functions.txt @@ -27,8 +27,8 @@ _Unwind_SetIP __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +__android_fatal __arc4_getbyte -__ashlti3 __assert __assert2 __b64_ntop @@ -36,15 +36,18 @@ __b64_pton __bionic_clone __bionic_clone_entry __bionic_name_mem +__brk __cxa_atexit __cxa_finalize __deregister_frame __deregister_frame_info __deregister_frame_info_bases +__divdi3 __dn_comp __dn_count_labels __dn_skipname __dorand48 +__epoll_pwait __errno __evAddTime __evCmpTime @@ -55,12 +58,20 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 +__exit +__fcntl64 __fgets_chk +__fgetwc_unlock __findenv __fp_nquery __fp_query +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock __frame_state_for +__fstatfs64 __futex_syscall3 __futex_syscall4 __futex_wait @@ -69,18 +80,37 @@ __futex_wake __futex_wake_ex __get_h_errno __get_sp +__get_tls +__getcpu +__getcwd +__getpriority __hostalias +__ioctl +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init +__llseek __loc_aton __loc_ntoa -__lshrti3 -__make_dp -__make_tp __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__mmap2 +__moddi3 __ns_format_ttl __ns_get16 __ns_get32 @@ -111,7 +141,9 @@ __ns_samename __ns_skiprr __ns_sprintrr __ns_sprintrrf +__open __open_2 +__openat __openat_2 __p_cdname __p_cdnname @@ -126,15 +158,17 @@ __p_section __p_sockun __p_time __p_type -__pack_d -__pack_t -__popcountdi2 +__popcountsi2 +__ppoll +__pselect6 __pthread_cleanup_pop __pthread_cleanup_push __pthread_gettid +__ptrace __putlong __putshort __read_chk +__reboot __recvfrom_chk __register_frame __register_frame_info @@ -177,17 +211,27 @@ __res_send_setqhook __res_send_setrhook __res_setservers __res_vinit +__rt_sigaction +__rt_sigpending +__rt_sigprocmask +__rt_sigsuspend +__rt_sigtimedwait __sched_cpualloc __sched_cpucount __sched_cpufree +__sched_getaffinity __sclose +__set_errno +__set_thread_area +__set_tid_address __set_tls __sflags __sflush __sflush_locked __sfp +__sfvwrite +__sigaction __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -196,6 +240,7 @@ __srefill __srget __sseek __stack_chk_fail +__statfs64 __stpcpy_chk __stpncpy_chk __stpncpy_chk2 @@ -217,6 +262,7 @@ __swsetup __sym_ntop __sym_ntos __sym_ston +__syslog __system_properties_init __system_property_add __system_property_area_init @@ -233,13 +279,22 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__udivdi3 __umask_chk -__unpack_d -__unpack_t +__umoddi3 +__ungetwc __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk +__wait4 +__waitid _cleanup _exit _exit_with_stack_teardown @@ -248,10 +303,14 @@ _fwalk _getlong _getshort _longjmp +_memset16 +_memset32 _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -277,6 +336,7 @@ asctime64 asctime64_r asctime_r asprintf +at_quick_exit atof atoi atol @@ -291,6 +351,7 @@ bsd_signal bsearch btowc bzero +cacheflush calloc capget capset @@ -429,7 +490,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -575,8 +635,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -584,6 +656,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -635,8 +708,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -646,6 +721,7 @@ memmem memmove memrchr memset +memswap mincore mkdir mkdirat @@ -705,7 +781,6 @@ prctl pread pread64 printf -prlimit prlimit64 pselect psiginfo @@ -718,6 +793,7 @@ pthread_attr_getschedparam pthread_attr_getschedpolicy pthread_attr_getscope pthread_attr_getstack +pthread_attr_getstackaddr pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate @@ -726,12 +802,17 @@ pthread_attr_setschedparam pthread_attr_setschedpolicy pthread_attr_setscope pthread_attr_setstack +pthread_attr_setstackaddr pthread_attr_setstacksize pthread_cond_broadcast pthread_cond_destroy pthread_cond_init pthread_cond_signal pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timedwait_monotonic_np +pthread_cond_timedwait_relative_np +pthread_cond_timeout_np pthread_cond_wait pthread_condattr_destroy pthread_condattr_getclock @@ -754,6 +835,7 @@ pthread_kill pthread_mutex_destroy pthread_mutex_init pthread_mutex_lock +pthread_mutex_lock_timeout_np pthread_mutex_timedlock pthread_mutex_trylock pthread_mutex_unlock @@ -799,6 +881,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -975,6 +1058,7 @@ strtol strtold strtoll strtoq +strtotimeval strtoul strtoull strtoumax @@ -1064,17 +1148,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1102,16 +1189,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt index 9eaecee47..ca98c872b 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libc.so.variables.txt @@ -12,6 +12,8 @@ __p_class_syms __p_key_syms __p_rcode_syms __p_type_syms +__page_shift +__page_size __popcount_tab __progname __rand48_add diff --git a/ndk/platforms/android-20/arch-mips/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-mips/symbols/libdl.so.functions.txt index 01374b056..7632c1eb1 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libdl.so.functions.txt @@ -1,3 +1,4 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr diff --git a/ndk/platforms/android-20/arch-mips/symbols/libdl.so.variables.txt b/ndk/platforms/android-20/arch-mips/symbols/libdl.so.variables.txt index e69de29bb..8b1378917 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libdl.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libdl.so.variables.txt @@ -0,0 +1 @@ + diff --git a/ndk/platforms/android-20/arch-mips/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-mips/symbols/libm.so.functions.txt index 0db659de6..e3559e52f 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libm.so.functions.txt @@ -1,71 +1,25 @@ -__addtf3 -__ashlti3 -__divtf3 -__eqtf2 __exp__D -__extenddftf2 -__extendsftf2 -__fixtfdi -__fixtfsi -__fixunstfdi -__fixunstfsi -__floatsitf -__floatunditf -__floatunsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl -__fpcmp_parts_t -__getf2 -__gttf2 +__fixdfdi +__fixsfdi +__fixunsdfdi +__fixunssfdi __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__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 -__multf3 -__netf2 -__pack_d -__pack_f -__pack_t __signbit __signbitf __signbitl -__subtf3 -__trunctfdf2 -__trunctfsf2 -__unpack_d -__unpack_f -__unpack_t _scan_nan acos acosf @@ -90,6 +44,7 @@ atanhl atanl cabs cabsf +cabsl carg cargf cbrt @@ -119,6 +74,7 @@ coshl cosl cproj cprojf +cprojl creal crealf csin @@ -127,6 +83,7 @@ csinh csinhf csqrt csqrtf +csqrtl ctan ctanf ctanh @@ -198,9 +155,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/arch-mips/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-mips/symbols/libm.so.variables.txt index 870d16eac..a1b63fcbc 100644 --- a/ndk/platforms/android-20/arch-mips/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips/symbols/libm.so.variables.txt @@ -1,26 +1,2 @@ -_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-mips64/include/asm/siginfo.h b/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h index 45b418a3c..5397c6235 100644 --- a/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h +++ b/ndk/platforms/android-20/arch-mips64/include/asm/siginfo.h @@ -27,6 +27,7 @@ struct siginfo; #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #ifdef __LP64__ +#undef __ARCH_SI_PREAMBLE_SIZE #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) #endif #include diff --git a/ndk/platforms/android-20/arch-mips64/include/asm/signal.h b/ndk/platforms/android-20/arch-mips64/include/asm/signal.h index 53f501513..b774a66f3 100644 --- a/ndk/platforms/android-20/arch-mips64/include/asm/signal.h +++ b/ndk/platforms/android-20/arch-mips64/include/asm/signal.h @@ -71,8 +71,8 @@ typedef unsigned long old_sigset_t; #define SIGXCPU 30 #define SIGXFSZ 31 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#define SIGRTMAX _KERNEL__NSIG +#define __SIGRTMIN 32 +#define __SIGRTMAX _KERNEL__NSIG #define SA_ONSTACK 0x08000000 #define SA_RESETHAND 0x80000000 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/ndk/platforms/android-20/arch-mips64/include/machine/ieee.h b/ndk/platforms/android-20/arch-mips64/include/machine/ieee.h deleted file mode 100644 index 520a77b7c..000000000 --- a/ndk/platforms/android-20/arch-mips64/include/machine/ieee.h +++ /dev/null @@ -1,169 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.4 2010/01/23 19:11:21 miod Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. It does *not* define (yet?) any of the rounding - * mode bits, exceptions, and so forth. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACHBITS 20 -#define DBL_FRACLBITS 32 -#define DBL_FRACBITS 52 - -#define EXT_EXPBITS 15 -#define EXT_FRACHBITS 16 -#define EXT_FRACHMBITS 32 -#define EXT_FRACLMBITS 32 -#define EXT_FRACLBITS 32 -#define EXT_FRACBITS 112 - -#define EXT_IMPLICIT_NBIT - -#define EXT_TO_ARRAY32(p, a) do { \ - (a)[0] = (uint32_t)(p)->ext_fracl; \ - (a)[1] = (uint32_t)(p)->ext_fraclm; \ - (a)[2] = (uint32_t)(p)->ext_frachm; \ - (a)[3] = (uint32_t)(p)->ext_frach; \ -} while(0) - -struct ieee_single { -#ifdef __MIPSEB__ - u_int sng_sign:1; - u_int sng_exp:8; - u_int sng_frac:23; -#else - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; -#endif -}; - -struct ieee_double { -#ifdef __MIPSEB__ - u_int dbl_sign:1; - u_int dbl_exp:11; - u_int dbl_frach:20; - u_int dbl_fracl; -#else - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -#endif -}; - -struct ieee_ext { -#ifdef __MIPSEB__ - u_int ext_sign:1; - u_int ext_exp:15; - u_int ext_frach:16; - u_int ext_frachm; - u_int ext_fraclm; - u_int ext_fracl; -#else - u_int ext_fracl; - u_int ext_fraclm; - u_int ext_frachm; - u_int ext_frach:16; - u_int ext_exp:15; - u_int ext_sign:1; -#endif -}; - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#define EXT_EXP_INFNAN 32767 - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#define EXT_QUIETNAN (1 << 15) -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#define EXT_EXP_BIAS 16383 diff --git a/ndk/platforms/android-20/arch-mips64/lib/libc.a b/ndk/platforms/android-20/arch-mips64/lib/libc.a index 09b2558c8..277ae8d10 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libc.a and b/ndk/platforms/android-20/arch-mips64/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libm.a b/ndk/platforms/android-20/arch-mips64/lib/libm.a index ae9dc4ee5..e2bd16d0a 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libm.a and b/ndk/platforms/android-20/arch-mips64/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a index 63df4a88b..e1df123f6 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a and b/ndk/platforms/android-20/arch-mips64/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-mips64/lib/libz.a b/ndk/platforms/android-20/arch-mips64/lib/libz.a index 712b818cb..7363542df 100644 Binary files a/ndk/platforms/android-20/arch-mips64/lib/libz.a and b/ndk/platforms/android-20/arch-mips64/lib/libz.a differ 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 8c142a9fb..15fa5b750 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 @@ -27,6 +27,7 @@ _Unwind_SetIP __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +__android_set_abort_message __arc4_getbyte __ashlti3 __assert @@ -55,11 +56,16 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 __fgets_chk +__fgetwc_unlock __findenv __fp_nquery __fp_query +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock __frame_state_for __futex_syscall3 __futex_syscall4 @@ -70,17 +76,30 @@ __futex_wake_ex __get_h_errno __get_sp __hostalias +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init __loc_aton __loc_ntoa __lshrti3 -__make_dp -__make_tp __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__multf3 __ns_format_ttl __ns_get16 __ns_get32 @@ -126,7 +145,6 @@ __p_section __p_sockun __p_time __p_type -__pack_d __pack_t __popcountdi2 __pthread_cleanup_pop @@ -186,8 +204,8 @@ __sflags __sflush __sflush_locked __sfp +__sfvwrite __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -233,11 +251,12 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 __umask_chk -__unpack_d +__ungetwc __unpack_t __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk _cleanup @@ -252,6 +271,8 @@ _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -273,10 +294,9 @@ arc4random_buf arc4random_stir arc4random_uniform asctime -asctime64 -asctime64_r asctime_r asprintf +at_quick_exit atof atoi atol @@ -321,8 +341,6 @@ connect creat creat64 ctime -ctime64 -ctime64_r ctime_r daemon delete_module @@ -429,7 +447,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -542,8 +559,6 @@ getwc getwchar getxattr gmtime -gmtime64 -gmtime64_r gmtime_r herror hstrerror @@ -575,8 +590,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -584,6 +611,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -614,8 +642,6 @@ lldiv llistxattr localeconv localtime -localtime64 -localtime64_r localtime_r localtime_tz longjmp @@ -635,8 +661,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -658,7 +686,6 @@ mkstemp64 mkstemps mktemp mktime -mktime64 mktime_tz mlock mlockall @@ -799,6 +826,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -957,8 +985,6 @@ strncmp strncpy strndup strnlen -strntoimax -strntoumax strpbrk strptime strrchr @@ -1011,9 +1037,7 @@ tgkill time time2posix timegm -timegm64 timelocal -timelocal64 timer_create timer_delete timer_getoverrun @@ -1064,17 +1088,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1102,16 +1129,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt index 9eaecee47..8ebbeddbf 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libc.so.variables.txt @@ -3,7 +3,6 @@ _C_tolower_ _C_toupper_ __atexit __atexit_invalid -__bionic_brk __isthreaded __libc_malloc_default_dispatch __libc_malloc_dispatch @@ -22,6 +21,7 @@ __sdidinit __sglue __stack_chk_guard __system_property_area__ +__thenan_tf _ctype_ _ns_flagdata _tolower_tab_ diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.functions.txt index 01374b056..7632c1eb1 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.functions.txt @@ -1,3 +1,4 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr diff --git a/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.variables.txt b/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.variables.txt index e69de29bb..8b1378917 100644 --- a/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.variables.txt +++ b/ndk/platforms/android-20/arch-mips64/symbols/libdl.so.variables.txt @@ -0,0 +1 @@ + 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 0db659de6..89ff8a60c 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 @@ -12,25 +12,11 @@ __fixunstfsi __floatsitf __floatunditf __floatunsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl __fpcmp_parts_t __getf2 __gttf2 __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__isnormalf -__isnormall __kernel_cos __kernel_cosdf __kernel_cosl @@ -198,9 +184,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/arch-x86/include/machine/ieee.h b/ndk/platforms/android-20/arch-x86/include/machine/ieee.h deleted file mode 100644 index 74856b20e..000000000 --- a/ndk/platforms/android-20/arch-x86/include/machine/ieee.h +++ /dev/null @@ -1,142 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.2 2008/09/07 20:36:06 martynas Exp $ */ -/* $NetBSD: ieee.h,v 1.1 1996/09/30 16:34:25 ws Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. It does *not* define (yet?) any of the rounding - * mode bits, exceptions, and so forth. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACHBITS 20 -#define DBL_FRACLBITS 32 -#define DBL_FRACBITS 52 - -#define EXT_EXPBITS 15 -#define EXT_FRACHBITS 32 -#define EXT_FRACLBITS 32 -#define EXT_FRACBITS 64 - -#define EXT_TO_ARRAY32(p, a) do { \ - (a)[0] = (uint32_t)(p)->ext_fracl; \ - (a)[1] = (uint32_t)(p)->ext_frach; \ -} while(0) - -struct ieee_single { - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; -}; - -struct ieee_double { - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -}; - -struct ieee_ext { - u_int ext_fracl; - u_int ext_frach; - u_int ext_exp:15; - u_int ext_sign:1; - u_int ext_padl:16; - u_int ext_padh; -}; - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#define EXT_EXP_INFNAN 32767 - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#define EXT_QUIETNAN (1 << 15) -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#define EXT_EXP_BIAS 16383 diff --git a/ndk/platforms/android-20/arch-x86/lib/libc.a b/ndk/platforms/android-20/arch-x86/lib/libc.a new file mode 100644 index 000000000..d95fcdf28 Binary files /dev/null and b/ndk/platforms/android-20/arch-x86/lib/libc.a differ diff --git a/ndk/platforms/android-20/arch-x86/lib/libm.a b/ndk/platforms/android-20/arch-x86/lib/libm.a new file mode 100644 index 000000000..7ed4ff484 Binary files /dev/null and b/ndk/platforms/android-20/arch-x86/lib/libm.a differ diff --git a/ndk/platforms/android-20/arch-x86/lib/libstdc++.a b/ndk/platforms/android-20/arch-x86/lib/libstdc++.a new file mode 100644 index 000000000..dd3139ac9 Binary files /dev/null and b/ndk/platforms/android-20/arch-x86/lib/libstdc++.a differ diff --git a/ndk/platforms/android-20/arch-x86/lib/libz.a b/ndk/platforms/android-20/arch-x86/lib/libz.a new file mode 100644 index 000000000..4241f3412 Binary files /dev/null and b/ndk/platforms/android-20/arch-x86/lib/libz.a differ diff --git a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt index 6b3a4fe9d..e7265bdcc 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libc.so.functions.txt @@ -27,6 +27,7 @@ _Unwind_SetIP __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +__android_set_abort_message __arc4_getbyte __assert __assert2 @@ -35,15 +36,18 @@ __b64_pton __bionic_clone __bionic_clone_entry __bionic_name_mem +__brk __cxa_atexit __cxa_finalize __deregister_frame __deregister_frame_info __deregister_frame_info_bases +__divdi3 __dn_comp __dn_count_labels __dn_skipname __dorand48 +__epoll_pwait __errno __evAddTime __evCmpTime @@ -54,12 +58,20 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 +__exit +__fcntl64 __fgets_chk +__fgetwc_unlock __findenv __fp_nquery __fp_query +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock __frame_state_for +__fstatfs64 __futex_syscall3 __futex_syscall4 __futex_wait @@ -68,15 +80,37 @@ __futex_wake __futex_wake_ex __get_h_errno __get_sp +__get_tls +__getcpu +__getcwd +__getpriority __hostalias +__ioctl +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init +__llseek __loc_aton __loc_ntoa __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__mmap2 +__moddi3 __ns_format_ttl __ns_get16 __ns_get32 @@ -107,7 +141,9 @@ __ns_samename __ns_skiprr __ns_sprintrr __ns_sprintrrf +__open __open_2 +__openat __openat_2 __p_cdname __p_cdnname @@ -122,13 +158,17 @@ __p_section __p_sockun __p_time __p_type -__popcountdi2 +__popcountsi2 +__ppoll +__pselect6 __pthread_cleanup_pop __pthread_cleanup_push __pthread_gettid +__ptrace __putlong __putshort __read_chk +__reboot __recvfrom_chk __register_frame __register_frame_info @@ -171,18 +211,27 @@ __res_send_setqhook __res_send_setrhook __res_setservers __res_vinit +__rt_sigaction +__rt_sigpending +__rt_sigprocmask +__rt_sigsuspend +__rt_sigtimedwait __sched_cpualloc __sched_cpucount __sched_cpufree +__sched_getaffinity __sclose +__set_errno +__set_thread_area +__set_tid_address __set_tls __sflags __sflush __sflush_locked __sfp -__sfp_handle_exceptions +__sfvwrite +__sigaction __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -191,6 +240,7 @@ __srefill __srget __sseek __stack_chk_fail +__statfs64 __stpcpy_chk __stpncpy_chk __stpncpy_chk2 @@ -212,6 +262,7 @@ __swsetup __sym_ntop __sym_ntos __sym_ston +__syslog __system_properties_init __system_property_add __system_property_area_init @@ -228,11 +279,22 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 +__timer_create +__timer_delete +__timer_getoverrun +__timer_gettime +__timer_settime +__udivdi3 __umask_chk +__umoddi3 +__ungetwc __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk +__wait4 +__waitid _cleanup _exit _exit_with_stack_teardown @@ -244,6 +306,8 @@ _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -269,6 +333,7 @@ asctime64 asctime64_r asctime_r asprintf +at_quick_exit atof atoi atol @@ -282,6 +347,7 @@ brk bsd_signal bsearch btowc +bzero calloc capget capset @@ -420,7 +486,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -566,8 +631,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -575,6 +652,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -626,8 +704,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -637,6 +717,7 @@ memmem memmove memrchr memset +memswap mincore mkdir mkdirat @@ -696,7 +777,6 @@ prctl pread pread64 printf -prlimit prlimit64 pselect psiginfo @@ -709,6 +789,7 @@ pthread_attr_getschedparam pthread_attr_getschedpolicy pthread_attr_getscope pthread_attr_getstack +pthread_attr_getstackaddr pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate @@ -717,12 +798,17 @@ pthread_attr_setschedparam pthread_attr_setschedpolicy pthread_attr_setscope pthread_attr_setstack +pthread_attr_setstackaddr pthread_attr_setstacksize pthread_cond_broadcast pthread_cond_destroy pthread_cond_init pthread_cond_signal pthread_cond_timedwait +pthread_cond_timedwait_monotonic +pthread_cond_timedwait_monotonic_np +pthread_cond_timedwait_relative_np +pthread_cond_timeout_np pthread_cond_wait pthread_condattr_destroy pthread_condattr_getclock @@ -745,6 +831,7 @@ pthread_kill pthread_mutex_destroy pthread_mutex_init pthread_mutex_lock +pthread_mutex_lock_timeout_np pthread_mutex_timedlock pthread_mutex_trylock pthread_mutex_unlock @@ -790,6 +877,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -966,6 +1054,7 @@ strtol strtold strtoll strtoq +strtotimeval strtoul strtoull strtoumax @@ -1055,17 +1144,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1093,16 +1185,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt index 9eaecee47..ca98c872b 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libc.so.variables.txt @@ -12,6 +12,8 @@ __p_class_syms __p_key_syms __p_rcode_syms __p_type_syms +__page_shift +__page_size __popcount_tab __progname __rand48_add diff --git a/ndk/platforms/android-20/arch-x86/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-x86/symbols/libdl.so.functions.txt index 01374b056..7632c1eb1 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libdl.so.functions.txt @@ -1,3 +1,4 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr diff --git a/ndk/platforms/android-20/arch-x86/symbols/libm.so.functions.txt b/ndk/platforms/android-20/arch-x86/symbols/libm.so.functions.txt index 18dc1ae45..b84a25959 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libm.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libm.so.functions.txt @@ -1,56 +1,21 @@ -__addtf3 -__divtf3 -__eqtf2 __exp__D -__extenddftf2 -__extendsftf2 -__fixtfdi -__fixtfsi -__floatsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl -__getf2 -__gttf2 __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__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 __signbit __signbitf __signbitl -__subtf3 -__trunctfdf2 -__trunctfsf2 _scan_nan acos acosf @@ -75,6 +40,7 @@ atanhl atanl cabs cabsf +cabsl carg cargf cbrt @@ -104,6 +70,7 @@ coshl cosl cproj cprojf +cprojl creal crealf csin @@ -112,6 +79,7 @@ csinh csinhf csqrt csqrtf +csqrtl ctan ctanf ctanh @@ -183,9 +151,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/arch-x86/symbols/libm.so.variables.txt b/ndk/platforms/android-20/arch-x86/symbols/libm.so.variables.txt index 9d7f213f3..6e5cdee03 100644 --- a/ndk/platforms/android-20/arch-x86/symbols/libm.so.variables.txt +++ b/ndk/platforms/android-20/arch-x86/symbols/libm.so.variables.txt @@ -1,25 +1,3 @@ -_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 +__has_sse signgam diff --git a/ndk/platforms/android-20/arch-x86_64/include/asm/signal.h b/ndk/platforms/android-20/arch-x86_64/include/asm/signal.h index 6f5b4354d..308c7a934 100644 --- a/ndk/platforms/android-20/arch-x86_64/include/asm/signal.h +++ b/ndk/platforms/android-20/arch-x86_64/include/asm/signal.h @@ -71,8 +71,8 @@ typedef unsigned long sigset_t; #define SIGSYS 31 #define SIGUNUSED 31 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#define SIGRTMAX _KERNEL__NSIG +#define __SIGRTMIN 32 +#define __SIGRTMAX _KERNEL__NSIG #define SA_NOCLDSTOP 0x00000001u #define SA_NOCLDWAIT 0x00000002u /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/ndk/platforms/android-20/arch-x86_64/include/machine/ieee.h b/ndk/platforms/android-20/arch-x86_64/include/machine/ieee.h deleted file mode 100644 index 74856b20e..000000000 --- a/ndk/platforms/android-20/arch-x86_64/include/machine/ieee.h +++ /dev/null @@ -1,142 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.2 2008/09/07 20:36:06 martynas Exp $ */ -/* $NetBSD: ieee.h,v 1.1 1996/09/30 16:34:25 ws Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. - * - * 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. It does *not* define (yet?) any of the rounding - * mode bits, exceptions, and so forth. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACHBITS 20 -#define DBL_FRACLBITS 32 -#define DBL_FRACBITS 52 - -#define EXT_EXPBITS 15 -#define EXT_FRACHBITS 32 -#define EXT_FRACLBITS 32 -#define EXT_FRACBITS 64 - -#define EXT_TO_ARRAY32(p, a) do { \ - (a)[0] = (uint32_t)(p)->ext_fracl; \ - (a)[1] = (uint32_t)(p)->ext_frach; \ -} while(0) - -struct ieee_single { - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; -}; - -struct ieee_double { - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -}; - -struct ieee_ext { - u_int ext_fracl; - u_int ext_frach; - u_int ext_exp:15; - u_int ext_sign:1; - u_int ext_padl:16; - u_int ext_padh; -}; - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#define EXT_EXP_INFNAN 32767 - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#define EXT_QUIETNAN (1 << 15) -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#define EXT_EXP_BIAS 16383 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 58c1a038a..f26b0ef93 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 0fd1900b0..a3f8af6ad 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 f38ee5378..b54d0f94a 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 a715308af..55f47cb5b 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 6b3a4fe9d..07af058ad 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 @@ -27,6 +27,7 @@ _Unwind_SetIP __FD_CLR_chk __FD_ISSET_chk __FD_SET_chk +__android_fatal __arc4_getbyte __assert __assert2 @@ -54,11 +55,16 @@ __evSubTime __evTimeSpec __evTimeVal __evUTCTime -__extenddftf2 __fgets_chk +__fgetwc_unlock __findenv __fp_nquery __fp_query +__fpclassify +__fpclassifyd +__fpclassifyf +__fpclassifyl +__fputwc_unlock __frame_state_for __futex_syscall3 __futex_syscall4 @@ -69,6 +75,20 @@ __futex_wake_ex __get_h_errno __get_sp __hostalias +__isfinite +__isfinitef +__isfinitel +__isinf +__isinff +__isinfl +__isnan +__isnanf +__isnanl +__isnormal +__isnormalf +__isnormall +__libc_current_sigrtmax +__libc_current_sigrtmin __libc_fini __libc_init __loc_aton @@ -77,6 +97,7 @@ __memcmp16 __memcpy_chk __memmove_chk __memset_chk +__multf3 __ns_format_ttl __ns_get16 __ns_get32 @@ -181,8 +202,8 @@ __sflush __sflush_locked __sfp __sfp_handle_exceptions +__sfvwrite __sinit -__slbexpand __smakebuf __snprintf_chk __sprintf_chk @@ -228,9 +249,11 @@ __system_property_set __system_property_set_filename __system_property_update __system_property_wait_any -__trunctfdf2 __umask_chk +__ungetwc __vfprintf +__vfwprintf +__vfwscanf __vsnprintf_chk __vsprintf_chk _cleanup @@ -244,6 +267,8 @@ _resolv_flush_cache_for_net _resolv_set_nameservers_for_net _setjmp _thread_created_hook +_tolower +_toupper abort abs accept @@ -265,10 +290,9 @@ arc4random_buf arc4random_stir arc4random_uniform asctime -asctime64 -asctime64_r asctime_r asprintf +at_quick_exit atof atoi atol @@ -312,8 +336,6 @@ connect creat creat64 ctime -ctime64 -ctime64_r ctime_r daemon delete_module @@ -420,7 +442,6 @@ fputws fread free freeaddrinfo -freedtoa freelocale fremovexattr freopen @@ -533,8 +554,6 @@ getwc getwchar getxattr gmtime -gmtime64 -gmtime64_r gmtime_r herror hstrerror @@ -566,8 +585,20 @@ isatty isblank iscntrl isdigit +isfinite +isfinitef +isfinitel isgraph +isinf +isinff +isinfl islower +isnan +isnanf +isnanl +isnormal +isnormalf +isnormall isprint ispunct issetugid @@ -575,6 +606,7 @@ isspace isupper iswalnum iswalpha +iswblank iswcntrl iswctype iswdigit @@ -605,8 +637,6 @@ lldiv llistxattr localeconv localtime -localtime64 -localtime64_r localtime_r localtime_tz longjmp @@ -626,8 +656,10 @@ malloc_usable_size mbrlen mbrtowc mbsinit +mbsnrtowcs mbsrtowcs mbstowcs +mbtowc memalign memccpy memchr @@ -649,7 +681,6 @@ mkstemp64 mkstemps mktemp mktime -mktime64 mktime_tz mlock mlockall @@ -790,6 +821,7 @@ pvalloc pwrite pwrite64 qsort +quick_exit raise read readahead @@ -948,8 +980,6 @@ strncmp strncpy strndup strnlen -strntoimax -strntoumax strpbrk strptime strrchr @@ -1002,9 +1032,7 @@ tgkill time time2posix timegm -timegm64 timelocal -timelocal64 timer_create timer_delete timer_getoverrun @@ -1055,17 +1083,20 @@ vfork vfprintf vfscanf vfwprintf +vfwscanf vprintf vscanf vsnprintf vsprintf vsscanf vswprintf +vswscanf vsyslog vsyslog_r vwarn vwarnx vwprintf +vwscanf wait wait3 wait4 @@ -1093,16 +1124,23 @@ wcsncat wcsncmp wcsncpy wcsnlen +wcsnrtombs wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod +wcstof +wcstoimax wcstok wcstol +wcstold +wcstoll wcstombs wcstoul +wcstoull +wcstoumax wcswcs wcswidth wcsxfrm diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt index 9eaecee47..4f1f739d5 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libc.so.variables.txt @@ -3,7 +3,6 @@ _C_tolower_ _C_toupper_ __atexit __atexit_invalid -__bionic_brk __isthreaded __libc_malloc_default_dispatch __libc_malloc_dispatch diff --git a/ndk/platforms/android-20/arch-x86_64/symbols/libdl.so.functions.txt b/ndk/platforms/android-20/arch-x86_64/symbols/libdl.so.functions.txt index 01374b056..7632c1eb1 100644 --- a/ndk/platforms/android-20/arch-x86_64/symbols/libdl.so.functions.txt +++ b/ndk/platforms/android-20/arch-x86_64/symbols/libdl.so.functions.txt @@ -1,3 +1,4 @@ +android_dlopen_ext android_get_LD_LIBRARY_PATH android_update_LD_LIBRARY_PATH dl_iterate_phdr 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 18dc1ae45..9a5ee58c9 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 @@ -7,24 +7,10 @@ __extendsftf2 __fixtfdi __fixtfsi __floatsitf -__fpclassifyd -__fpclassifyf -__fpclassifyl __getf2 __gttf2 __ieee754_rem_pio2 __ieee754_rem_pio2f -__isfinite -__isfinitef -__isfinitel -__isinf -__isinff -__isinfl -__isnanf -__isnanl -__isnormal -__isnormalf -__isnormall __kernel_cos __kernel_cosdf __kernel_cosl @@ -183,9 +169,14 @@ hypotl ilogb ilogbf ilogbl -isinf -isnan -isnanf +imprecise_coshl +imprecise_erfcl +imprecise_erfl +imprecise_lgammal +imprecise_powl +imprecise_sinhl +imprecise_tanhl +imprecise_tgammal j0 j0f j1 diff --git a/ndk/platforms/android-20/include/android/api-level.h b/ndk/platforms/android-20/include/android/api-level.h index 611fdfbcd..2d2f0968c 100644 --- a/ndk/platforms/android-20/include/android/api-level.h +++ b/ndk/platforms/android-20/include/android/api-level.h @@ -25,9 +25,14 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + #ifndef ANDROID_API_LEVEL_H #define ANDROID_API_LEVEL_H -#define __ANDROID_API__ 10 +/* + * Magic version number for a current development build, which has + * not yet turned into an official release. + */ +#define __ANDROID_API__ 10000 #endif /* ANDROID_API_LEVEL_H */ diff --git a/ndk/platforms/android-20/include/android/dlext.h b/ndk/platforms/android-20/include/android/dlext.h new file mode 100644 index 000000000..90962fa46 --- /dev/null +++ b/ndk/platforms/android-20/include/android/dlext.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __ANDROID_DLEXT_H__ +#define __ANDROID_DLEXT_H__ + +#include +#include + +__BEGIN_DECLS + +/* bitfield definitions for android_dlextinfo.flags */ +enum { + /* When set, the reserved_addr and reserved_size fields must point to an + * already-reserved region of address space which will be used to load the + * library if it fits. If the reserved region is not large enough, the load + * will fail. + */ + ANDROID_DLEXT_RESERVED_ADDRESS = 0x1, + + /* As DLEXT_RESERVED_ADDRESS, but if the reserved region is not large enough, + * the linker will choose an available address instead. + */ + ANDROID_DLEXT_RESERVED_ADDRESS_HINT = 0x2, + + /* When set, write the GNU RELRO section of the mapped library to relro_fd + * after relocation has been performed, to allow it to be reused by another + * process loading the same library at the same address. This implies + * ANDROID_DLEXT_USE_RELRO. + */ + ANDROID_DLEXT_WRITE_RELRO = 0x4, + + /* When set, compare the GNU RELRO section of the mapped library to relro_fd + * after relocation has been performed, and replace any relocated pages that + * are identical with a version mapped from the file. + */ + ANDROID_DLEXT_USE_RELRO = 0x8, + + /* Mask of valid bits */ + ANDROID_DLEXT_VALID_FLAG_BITS = ANDROID_DLEXT_RESERVED_ADDRESS | + ANDROID_DLEXT_RESERVED_ADDRESS_HINT | + ANDROID_DLEXT_WRITE_RELRO | + ANDROID_DLEXT_USE_RELRO, +}; + +typedef struct { + int flags; + void* reserved_addr; + size_t reserved_size; + int relro_fd; +} android_dlextinfo; + +extern void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo); + +__END_DECLS + +#endif /* __ANDROID_DLEXT_H__ */ diff --git a/ndk/platforms/android-20/include/ctype.h b/ndk/platforms/android-20/include/ctype.h index 5557e3181..7edd8cc17 100644 --- a/ndk/platforms/android-20/include/ctype.h +++ b/ndk/platforms/android-20/include/ctype.h @@ -44,12 +44,16 @@ #define _CTYPE_U 0x01 #define _CTYPE_L 0x02 -#define _CTYPE_N 0x04 +#define _CTYPE_D 0x04 #define _CTYPE_S 0x08 #define _CTYPE_P 0x10 #define _CTYPE_C 0x20 #define _CTYPE_X 0x40 #define _CTYPE_B 0x80 +#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B) +#define _CTYPE_A (_CTYPE_L|_CTYPE_U) + +#define _CTYPE_N _CTYPE_D __BEGIN_DECLS @@ -57,17 +61,6 @@ extern const char *_ctype_; extern const short *_tolower_tab_; extern const short *_toupper_tab_; -/* extern __inline is a GNU C extension */ -#ifdef __GNUC__ -# if defined(__GNUC_STDC_INLINE__) -#define __CTYPE_INLINE extern __inline __attribute__((__gnu_inline__)) -# else -#define __CTYPE_INLINE extern __inline -# endif -#else -#define __CTYPE_INLINE static __inline -#endif - #if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint) int isalnum(int); int isalpha(int); @@ -97,111 +90,6 @@ int _toupper(int); #endif /* __GNUC__ || _ANSI_LIBRARY || lint */ -#if defined(NDEBUG) - -__CTYPE_INLINE int isalnum(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int isalpha(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L))); -} - -__CTYPE_INLINE int iscntrl(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_C)); -} - -__CTYPE_INLINE int isdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_N)); -} - -__CTYPE_INLINE int isgraph(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int islower(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_L)); -} - -__CTYPE_INLINE int isprint(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B))); -} - -__CTYPE_INLINE int ispunct(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_P)); -} - -__CTYPE_INLINE int isspace(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_S)); -} - -__CTYPE_INLINE int isupper(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_U)); -} - -__CTYPE_INLINE int isxdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_N|_CTYPE_X))); -} - -__CTYPE_INLINE int tolower(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_tolower_tab_ + 1)[c]); -} - -__CTYPE_INLINE int toupper(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_toupper_tab_ + 1)[c]); -} - -#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \ - || __XPG_VISIBLE > 600 -__CTYPE_INLINE int isblank(int c) -{ - return (c == ' ' || c == '\t'); -} -#endif - -#if __BSD_VISIBLE || __XPG_VISIBLE -__CTYPE_INLINE int isascii(int c) -{ - return ((unsigned int)c <= 0177); -} - -__CTYPE_INLINE int toascii(int c) -{ - return (c & 0177); -} - -__CTYPE_INLINE int _tolower(int c) -{ - return (c - 'A' + 'a'); -} - -__CTYPE_INLINE int _toupper(int c) -{ - return (c - 'a' + 'A'); -} -#endif /* __BSD_VISIBLE || __XPG_VISIBLE */ - -#endif /* NDEBUG */ - __END_DECLS -#undef __CTYPE_INLINE - #endif /* !_CTYPE_H_ */ diff --git a/ndk/platforms/android-20/include/inttypes.h b/ndk/platforms/android-20/include/inttypes.h index 2fd2415bf..8853c08a3 100644 --- a/ndk/platforms/android-20/include/inttypes.h +++ b/ndk/platforms/android-20/include/inttypes.h @@ -254,16 +254,14 @@ typedef struct { } imaxdiv_t; __BEGIN_DECLS - intmax_t imaxabs(intmax_t) __pure2; imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2; - intmax_t strtoimax(const char *, char **, int); uintmax_t strtoumax(const char *, char **, int); - -intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n); -uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n); - +intmax_t wcstoimax(const wchar_t * __restrict, + wchar_t ** __restrict, int); +uintmax_t wcstoumax(const wchar_t * __restrict, + wchar_t ** __restrict, int); __END_DECLS #endif /* _INTTYPES_H_ */ diff --git a/ndk/platforms/android-20/include/limits.h b/ndk/platforms/android-20/include/limits.h index a70021a07..dc4590299 100644 --- a/ndk/platforms/android-20/include/limits.h +++ b/ndk/platforms/android-20/include/limits.h @@ -112,7 +112,7 @@ #define SSIZE_MAX LONG_MAX -#define MB_LEN_MAX 1 /* No multibyte characters. */ +#define MB_LEN_MAX 6 /* New code should use sysconf(_SC_PAGE_SIZE) instead. */ #ifndef PAGE_SIZE diff --git a/ndk/platforms/android-20/include/linux/prctl.h b/ndk/platforms/android-20/include/linux/prctl.h index 87c7e2f2d..baa597ed0 100644 --- a/ndk/platforms/android-20/include/linux/prctl.h +++ b/ndk/platforms/android-20/include/linux/prctl.h @@ -117,7 +117,8 @@ #define PR_GET_NO_NEW_PRIVS 39 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PR_GET_TID_ADDRESS 40 +#define PR_SET_TIMERSLACK_PID 41 #define PR_SET_VMA 0x53564d41 #define PR_SET_VMA_ANON_NAME 0 -#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/ndk/platforms/android-20/include/locale.h b/ndk/platforms/android-20/include/locale.h index 69898510d..7fd8c2c8a 100644 --- a/ndk/platforms/android-20/include/locale.h +++ b/ndk/platforms/android-20/include/locale.h @@ -33,21 +33,19 @@ __BEGIN_DECLS -enum { - LC_CTYPE = 0, - LC_NUMERIC = 1, - LC_TIME = 2, - LC_COLLATE = 3, - LC_MONETARY = 4, - LC_MESSAGES = 5, - LC_ALL = 6, - LC_PAPER = 7, - LC_NAME = 8, - LC_ADDRESS = 9, - LC_TELEPHONE = 10, - LC_MEASUREMENT = 11, - LC_IDENTIFICATION = 12 -}; +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 +#define LC_PAPER 7 +#define LC_NAME 8 +#define LC_ADDRESS 9 +#define LC_TELEPHONE 10 +#define LC_MEASUREMENT 11 +#define LC_IDENTIFICATION 12 #define LC_CTYPE_MASK (1 << LC_CTYPE) #define LC_NUMERIC_MASK (1 << LC_NUMERIC) diff --git a/ndk/platforms/android-20/include/machine/ieee.h b/ndk/platforms/android-20/include/machine/ieee.h new file mode 100644 index 000000000..c579969dc --- /dev/null +++ b/ndk/platforms/android-20/include/machine/ieee.h @@ -0,0 +1,118 @@ +/* $OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $ */ +/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */ + +/* + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This software was developed by the Computer Systems Engineering group + * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + * contributed to Berkeley. + * + * All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Lawrence Berkeley Laboratory. + * + * 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. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. 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. + * + * @(#)ieee.h 8.1 (Berkeley) 6/11/93 + */ + +#ifndef _MACHINE_IEEE_H_ +#define _MACHINE_IEEE_H_ + +#include + +__BEGIN_DECLS + +#define SNG_EXPBITS 8 +#define SNG_FRACBITS 23 + +#define SNG_EXP_INFNAN 255 +#define SNG_EXP_BIAS 127 + +struct ieee_single { + unsigned sng_frac:23; + unsigned sng_exp:8; + unsigned sng_sign:1; +}; + +#define DBL_EXPBITS 11 +#define DBL_FRACHBITS 20 +#define DBL_FRACLBITS 32 +#define DBL_FRACBITS 52 + +#define DBL_EXP_INFNAN 2047 +#define DBL_EXP_BIAS 1023 + +struct ieee_double { + unsigned dbl_fracl; + unsigned dbl_frach:20; + unsigned dbl_exp:11; + unsigned dbl_sign:1; +}; + +#if __LP64__ + +/* 64-bit Android uses ld128 long doubles. */ + +#define EXT_EXPBITS 15 +#define EXT_FRACHBITS 16 +#define EXT_FRACHMBITS 32 +#define EXT_FRACLMBITS 32 +#define EXT_FRACLBITS 32 +#define EXT_FRACBITS 112 + +#define EXT_EXP_INFNAN 32767 +#define EXT_EXP_BIAS 16383 + +#define EXT_IMPLICIT_NBIT + +#define EXT_TO_ARRAY32(p, a) do { \ + (a)[0] = (uint32_t)(p)->ext_fracl; \ + (a)[1] = (uint32_t)(p)->ext_fraclm; \ + (a)[2] = (uint32_t)(p)->ext_frachm; \ + (a)[3] = (uint32_t)(p)->ext_frach; \ +} while(0) + +struct ieee_ext { + unsigned ext_fracl; + unsigned ext_fraclm; + unsigned ext_frachm; + unsigned ext_frach:16; + unsigned ext_exp:15; + unsigned ext_sign:1; +}; + +#endif + +__END_DECLS + +#endif /* _MACHINE_IEEE_H_ */ diff --git a/ndk/platforms/android-20/include/machine/wchar_limits.h b/ndk/platforms/android-20/include/machine/wchar_limits.h new file mode 100644 index 000000000..94cbd7ec5 --- /dev/null +++ b/ndk/platforms/android-20/include/machine/wchar_limits.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _MACHINE_WCHAR_LIMITS_H_ +#define _MACHINE_WCHAR_LIMITS_H_ + +/* Both GCC and clang define __WCHAR_MAX__. */ +#define WCHAR_MAX __WCHAR_MAX__ + +/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */ +#if defined(__WCHAR_UNSIGNED__) +# define WCHAR_MIN L'\0' +#else +# define WCHAR_MIN (-(WCHAR_MAX) - 1) +#endif + +#endif /* _MACHINE_WCHAR_LIMITS_H_ */ diff --git a/ndk/platforms/android-20/include/math.h b/ndk/platforms/android-20/include/math.h index bd0241b36..c26458310 100644 --- a/ndk/platforms/android-20/include/math.h +++ b/ndk/platforms/android-20/include/math.h @@ -396,16 +396,23 @@ float significandf(float); * long double versions of ISO/POSIX math functions */ #if __ISO_C_VISIBLE >= 1999 +long double acoshl(long double); long double acosl(long double); +long double asinhl(long double); long double asinl(long double); long double atan2l(long double, long double); +long double atanhl(long double); long double atanl(long double); long double cbrtl(long double); long double ceill(long double); long double copysignl(long double, long double) __pure2; +long double coshl(long double); long double cosl(long double); +long double erfcl(long double); +long double erfl(long double); long double exp2l(long double); long double expl(long double); +long double expm1l(long double); long double fabsl(long double) __pure2; long double fdiml(long double, long double); long double floorl(long double); @@ -417,9 +424,14 @@ long double frexpl(long double value, int *); /* fundamentally !__pure2 */ long double hypotl(long double, long double); int ilogbl(long double) __pure2; long double ldexpl(long double, int); +long double lgammal(long double); long long llrintl(long double); long long llroundl(long double); +long double log10l(long double); +long double log1pl(long double); +long double log2l(long double); long double logbl(long double); +long double logl(long double); long lrintl(long double); long lroundl(long double); long double modfl(long double, long double *); /* fundamentally !__pure2 */ @@ -429,53 +441,29 @@ long double nextafterl(long double, long double); double nexttoward(double, long double); float nexttowardf(float, long double); long double nexttowardl(long double, long double); +long double powl(long double, long double); long double remainderl(long double, long double); long double remquol(long double, long double, int *); long double rintl(long double); long double roundl(long double); long double scalblnl(long double, long); long double scalbnl(long double, int); +long double sinhl(long double); long double sinl(long double); long double sqrtl(long double); +long double tanhl(long double); long double tanl(long double); +long double tgammal(long double); long double truncl(long double); #endif /* __ISO_C_VISIBLE >= 1999 */ + +#if defined(_GNU_SOURCE) +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); +#endif /* _GNU_SOURCE */ + __END_DECLS #endif /* !_MATH_H_ */ - -/* separate header for cmath */ -#ifndef _MATH_EXTRA_H_ -#if __ISO_C_VISIBLE >= 1999 -#if _DECLARE_C99_LDBL_MATH - -#define _MATH_EXTRA_H_ - -/* - * extra long double versions of math functions for C99 and cmath - */ -__BEGIN_DECLS - -long double acoshl(long double); -long double asinhl(long double); -long double atanhl(long double); -long double coshl(long double); -long double erfcl(long double); -long double erfl(long double); -long double expm1l(long double); -long double lgammal(long double); -long double log10l(long double); -long double log1pl(long double); -long double log2l(long double); -long double logl(long double); -long double powl(long double, long double); -long double sinhl(long double); -long double tanhl(long double); -long double tgammal(long double); - -__END_DECLS - -#endif /* !_DECLARE_C99_LDBL_MATH */ -#endif /* __ISO_C_VISIBLE >= 1999 */ -#endif /* !_MATH_EXTRA_H_ */ diff --git a/ndk/platforms/android-20/include/pthread.h b/ndk/platforms/android-20/include/pthread.h index f93f9e9bf..7b8de81cd 100644 --- a/ndk/platforms/android-20/include/pthread.h +++ b/ndk/platforms/android-20/include/pthread.h @@ -35,17 +35,26 @@ #include #include +#ifdef __LP64__ + #define __RESERVED_INITIALIZER , {0} +#else + #define __RESERVED_INITIALIZER +#endif + typedef struct { int volatile value; +#ifdef __LP64__ + char __reserved[36]; +#endif } pthread_mutex_t; #define __PTHREAD_MUTEX_INIT_VALUE 0 #define __PTHREAD_RECURSIVE_MUTEX_INIT_VALUE 0x4000 #define __PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE 0x8000 -#define PTHREAD_MUTEX_INITIALIZER {__PTHREAD_MUTEX_INIT_VALUE} -#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE} -#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE} +#define PTHREAD_MUTEX_INITIALIZER {__PTHREAD_MUTEX_INIT_VALUE __RESERVED_INITIALIZER} +#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER {__PTHREAD_RECURSIVE_MUTEX_INIT_VALUE __RESERVED_INITIALIZER} +#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER {__PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE __RESERVED_INITIALIZER} enum { PTHREAD_MUTEX_NORMAL = 0, @@ -60,9 +69,12 @@ enum { typedef struct { int volatile value; +#ifdef __LP64__ + char __reserved[44]; +#endif } pthread_cond_t; -#define PTHREAD_COND_INITIALIZER {0} +#define PTHREAD_COND_INITIALIZER {0 __RESERVED_INITIALIZER} typedef struct { uint32_t flags; @@ -71,21 +83,24 @@ typedef struct { size_t guard_size; int32_t sched_policy; int32_t sched_priority; +#ifdef __LP64__ + char __reserved[16]; +#endif } pthread_attr_t; typedef long pthread_mutexattr_t; typedef long pthread_condattr_t; -typedef int pthread_rwlockattr_t; +typedef long pthread_rwlockattr_t; typedef struct { - pthread_mutex_t lock; - pthread_cond_t cond; - int numLocks; - int writerThreadId; - int pendingReaders; - int pendingWriters; - void* reserved[4]; /* for future extensibility */ + pthread_mutex_t lock; + pthread_cond_t cond; + int numLocks; + int writerThreadId; + int pendingReaders; + int pendingWriters; + void* __reserved[4]; } pthread_rwlock_t; #define PTHREAD_RWLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0, 0, 0, { NULL, NULL, NULL, NULL } } @@ -95,7 +110,7 @@ typedef long pthread_t; typedef volatile int pthread_once_t; -#define PTHREAD_ONCE_INIT 0 +#define PTHREAD_ONCE_INIT 0 #define PTHREAD_STACK_MIN (2 * PAGE_SIZE) diff --git a/ndk/platforms/android-20/include/sched.h b/ndk/platforms/android-20/include/sched.h index 7649e83d2..68115bb9c 100644 --- a/ndk/platforms/android-20/include/sched.h +++ b/ndk/platforms/android-20/include/sched.h @@ -59,151 +59,90 @@ extern int unshare(int); extern int sched_getcpu(void); extern int setns(int, int); -/* Our implementation supports up to 32 independent CPUs, which is also - * the maximum supported by the kernel at the moment. GLibc uses 1024 by - * default. - * - * If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE() - * and the CPU_XXX_S() macro variants. - */ -#define CPU_SETSIZE 32 +#ifdef __LP32__ +#define CPU_SETSIZE 32 +#else +#define CPU_SETSIZE 1024 +#endif -#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ -#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */ -#define __CPU_BITS (1 << __CPU_BITSHIFT) -#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT) -#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1))) +#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ +#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE)) +#define __CPU_ELT(x) ((x) / __CPU_BITS) +#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1))) typedef struct { - __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; + __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; } cpu_set_t; extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set); extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set); -/* Provide optimized implementation for 32-bit cpu_set_t */ -#if CPU_SETSIZE == __CPU_BITS +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) +#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) +#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) +#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2) -# define CPU_ZERO(set_) \ - do{ \ - (set_)->__bits[0] = 0; \ - }while(0) +#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &) +#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |) +#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^) -# define CPU_SET(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] |= __CPU_MASK(__cpu); \ - }while (0) - -# define CPU_CLR(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] &= ~__CPU_MASK(__cpu); \ - }while (0) - -# define CPU_ISSET(cpu_, set_) \ - (__extension__({\ - size_t __cpu = (cpu_); \ - (cpu_ < CPU_SETSIZE) \ - ? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -# define CPU_EQUAL(set1_, set2_) \ - ((set1_)->__bits[0] == (set2_)->__bits[0]) - -# define __CPU_OP(dst_, set1_, set2_, op_) \ - do { \ - (dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \ - } while (0) - -# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0]) - -#else /* CPU_SETSIZE != __CPU_BITS */ - -# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_) -# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_) -# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_) - -# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_) - -#endif /* CPU_SETSIZE != __CPU_BITS */ - -#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&) -#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|) -#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^) +#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op) /* Support for dynamically-allocated cpu_set_t */ #define CPU_ALLOC_SIZE(count) \ - __CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE) + __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE) -#define CPU_ALLOC(count) __sched_cpualloc((count)); -#define CPU_FREE(set) __sched_cpufree((set)) +#define CPU_ALLOC(count) __sched_cpualloc((count)) +#define CPU_FREE(set) __sched_cpufree((set)) extern cpu_set_t* __sched_cpualloc(size_t count); extern void __sched_cpufree(cpu_set_t* set); -#define CPU_ZERO_S(setsize_,set_) \ - do { \ - size_t __nn = 0; \ - size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (set_)->__bits[__nn] = 0; \ - } while (0) +#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize) -#define CPU_SET_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ - } while (0) +#define CPU_SET_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ + } while (0) -#define CPU_CLR_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ - } while (0) +#define CPU_CLR_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ + } while (0) -#define CPU_ISSET_S(cpu_, setsize_, set_) \ - (__extension__ ({ \ - size_t __cpu = (cpu_); \ - (__cpu < 8*(setsize_)) \ - ? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) +#define CPU_ISSET_S(cpu, setsize, set) \ + (__extension__ ({ \ + size_t __cpu = (cpu); \ + (__cpu < 8 * (setsize)) \ + ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ + : 0; \ + })) -#define CPU_EQUAL_S(setsize_, set1_, set2_) \ - (__extension__ ({ \ - __const __CPU_BITTYPE* __src1 = (set1_)->__bits; \ - __const __CPU_BITTYPE* __src2 = (set2_)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) { \ - if (__src1[__nn] != __src2[__nn]) \ - break; \ - } \ - __nn == __nn_max; \ - })) +#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0) -#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \ - do { \ - cpu_set_t* __dst = (dstset); \ - const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ - const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ - } while (0) +#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &) +#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |) +#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^) -#define CPU_COUNT_S(setsize_, set_) \ - __sched_cpucount((setsize_), (set_)) +#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \ + do { \ + cpu_set_t* __dst = (dstset); \ + const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ + const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ + size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \ + for (; __nn < __nn_max; __nn++) \ + (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ + } while (0) + +#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set)) extern int __sched_cpucount(size_t setsize, cpu_set_t* set); diff --git a/ndk/platforms/android-20/include/semaphore.h b/ndk/platforms/android-20/include/semaphore.h index 30e31239a..7ae3c3a75 100644 --- a/ndk/platforms/android-20/include/semaphore.h +++ b/ndk/platforms/android-20/include/semaphore.h @@ -33,10 +33,13 @@ __BEGIN_DECLS typedef struct { - volatile unsigned int count; + volatile unsigned int count; +#ifdef __LP64__ + int __reserved[3]; +#endif } sem_t; -#define SEM_FAILED NULL +#define SEM_FAILED NULL extern int sem_init(sem_t *sem, int pshared, unsigned int value); diff --git a/ndk/platforms/android-20/include/signal.h b/ndk/platforms/android-20/include/signal.h index 267f3e6be..45c1cdad7 100644 --- a/ndk/platforms/android-20/include/signal.h +++ b/ndk/platforms/android-20/include/signal.h @@ -60,6 +60,12 @@ typedef int sig_atomic_t; #define _NSIG (_KERNEL__NSIG + 1) #define NSIG _NSIG +/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */ +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) +extern int __libc_current_sigrtmin(void); +extern int __libc_current_sigrtmax(void); + extern const char* const sys_siglist[]; extern const char* const sys_signame[]; /* BSD compatibility. */ diff --git a/ndk/platforms/android-20/include/stdint.h b/ndk/platforms/android-20/include/stdint.h index 1f3d003d1..f34843c09 100644 --- a/ndk/platforms/android-20/include/stdint.h +++ b/ndk/platforms/android-20/include/stdint.h @@ -30,6 +30,7 @@ #define _STDINT_H #include +#include typedef __signed char __int8_t; typedef unsigned char __uint8_t; @@ -86,7 +87,7 @@ typedef uint8_t uint_fast8_t; typedef int64_t int_fast64_t; typedef uint64_t uint_fast64_t; -#ifdef __LP64__ +#if defined(__LP64__) typedef int64_t int_fast16_t; typedef uint64_t uint_fast16_t; typedef int64_t int_fast32_t; @@ -135,7 +136,7 @@ typedef int64_t intmax_t; #define INTMAX_C(c) INT64_C(c) #define UINTMAX_C(c) UINT64_C(c) -#ifdef __LP64__ +#if defined(__LP64__) # define INT64_C(c) c ## L # define UINT64_C(c) c ## UL # define INTPTR_C(c) INT64_C(c) @@ -200,15 +201,15 @@ typedef int64_t intmax_t; #define SIG_ATOMIC_MAX INT32_MAX #define SIG_ATOMIC_MIN INT32_MIN -#ifndef WCHAR_MAX /* These might also have been defined by . */ -# define WCHAR_MAX INT32_MAX -# define WCHAR_MIN INT32_MIN +#if defined(__WINT_UNSIGNED__) +# define WINT_MAX UINT32_MAX +# define WINT_MIN UINT32_MIN +#else +# define WINT_MAX INT32_MAX +# define WINT_MIN INT32_MIN #endif -#define WINT_MAX INT32_MAX -#define WINT_MIN INT32_MIN - -#ifdef __LP64__ +#if defined(__LP64__) # define INTPTR_MIN INT64_MIN # define INTPTR_MAX INT64_MAX # define UINTPTR_MAX UINT64_MAX diff --git a/ndk/platforms/android-20/include/stdlib.h b/ndk/platforms/android-20/include/stdlib.h index 2c797c593..834dcda51 100644 --- a/ndk/platforms/android-20/include/stdlib.h +++ b/ndk/platforms/android-20/include/stdlib.h @@ -46,10 +46,15 @@ extern __noreturn void exit(int); extern __noreturn void _Exit(int); extern int atexit(void (*)(void)); -extern char *getenv(const char *); -extern int putenv(const char *); -extern int setenv(const char *, const char *, int); -extern int unsetenv(const char *); +#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L +int at_quick_exit(void (*)(void)); +void quick_exit(int) __noreturn; +#endif + +extern char* getenv(const char*); +extern int putenv(char*); +extern int setenv(const char*, const char*, int); +extern int unsetenv(const char*); extern int clearenv(void); extern char* mkdtemp(char*); @@ -65,9 +70,10 @@ extern unsigned long long strtoull(const char *, char **, int); extern int posix_memalign(void **memptr, size_t alignment, size_t size); extern double atof(const char*); -extern double strtod(const char*, char**); -extern float strtof(const char*, char**); -extern long double strtold(const char*, char**); + +extern double strtod(const char*, char**) __LIBC_ABI_PUBLIC__; +extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__; +extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__; extern int atoi(const char*) __purefunc; extern long atol(const char*) __purefunc; diff --git a/ndk/platforms/android-20/include/sys/cdefs_elf.h b/ndk/platforms/android-20/include/sys/cdefs_elf.h index bb846b7fd..04792304f 100644 --- a/ndk/platforms/android-20/include/sys/cdefs_elf.h +++ b/ndk/platforms/android-20/include/sys/cdefs_elf.h @@ -32,7 +32,7 @@ #ifdef __LEADING_UNDERSCORE #define _C_LABEL(x) __CONCAT(_,x) -#define _C_LABEL_STRING(x) "_"x +#define _C_LABEL_STRING(x) "_" x #else #define _C_LABEL(x) x #define _C_LABEL_STRING(x) x @@ -61,24 +61,11 @@ #define __SECTIONSTRING(_sec, _str) \ __asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous") -/* GCC visibility helper macro */ -/* This must be used to tag non-static functions that are private, i.e. - * never exposed by the shared library. */ -#define __LIBC_HIDDEN__ \ - __attribute__ ((visibility ("hidden"))) +/* Used to tag non-static symbols that are private and never exposed by the shared library. */ +#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) -/* This must be used to tag non-static functions that are public, i.e. - * exposed by the shared library, and part of the stable NDK ABI */ -#define __LIBC_ABI_PUBLIC__ \ - __attribute__ ((visibility ("default"))) - -/* This must be used to tag non-static functions that must be exported - * by the shared library, but whose implementation is private to the - * platform. For now this is equivalent to __LIBC_ABI_PUBLIC__, but we - * may want to change this later. - */ -#define __LIBC_ABI_PRIVATE__ \ - __attribute__ ((visibility ("default"))) +/* Used to tag non-static symbols that are public and exposed by the shared library. */ +#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) #define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s) diff --git a/ndk/platforms/android-20/include/sys/types.h b/ndk/platforms/android-20/include/sys/types.h index dc847d237..9a76ad260 100644 --- a/ndk/platforms/android-20/include/sys/types.h +++ b/ndk/platforms/android-20/include/sys/types.h @@ -63,7 +63,7 @@ typedef __mode_t mode_t; typedef __kernel_key_t __key_t; typedef __key_t key_t; -typedef uint32_t __ino_t; +typedef __kernel_ino_t __ino_t; typedef __ino_t ino_t; typedef uint32_t __nlink_t; @@ -72,9 +72,10 @@ typedef __nlink_t nlink_t; typedef void* __timer_t; typedef __timer_t timer_t; -typedef int32_t __suseconds_t; +typedef __kernel_suseconds_t __suseconds_t; typedef __suseconds_t suseconds_t; +/* useconds_t is 32-bit on both LP32 and LP64. */ typedef uint32_t __useconds_t; typedef __useconds_t useconds_t; diff --git a/ndk/platforms/android-20/include/sys/user.h b/ndk/platforms/android-20/include/sys/user.h index 5348dd8f7..c578a6ff0 100644 --- a/ndk/platforms/android-20/include/sys/user.h +++ b/ndk/platforms/android-20/include/sys/user.h @@ -36,7 +36,7 @@ __BEGIN_DECLS #if __i386__ -struct user_i387_struct { +struct user_fpregs_struct { long cwd; long swd; long twd; @@ -83,7 +83,7 @@ struct user_regs_struct { struct user { struct user_regs_struct regs; int u_fpvalid; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -92,7 +92,7 @@ struct user { long int signal; int reserved; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; int u_debugreg[8]; @@ -100,7 +100,7 @@ struct user { #elif defined(__x86_64__) -struct user_i387_struct { +struct user_fpregs_struct { unsigned short cwd; unsigned short swd; unsigned short twd; @@ -146,7 +146,7 @@ struct user { struct user_regs_struct regs; int u_fpvalid; int pad0; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -156,7 +156,7 @@ struct user { int reserved; int pad1; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; unsigned long u_debugreg[8]; diff --git a/ndk/platforms/android-20/include/time64.h b/ndk/platforms/android-20/include/time64.h index 7ec05af65..905669d98 100644 --- a/ndk/platforms/android-20/include/time64.h +++ b/ndk/platforms/android-20/include/time64.h @@ -31,29 +31,36 @@ Modified for Bionic by the Android Open Source Project #ifndef TIME64_H #define TIME64_H +#if defined(__LP64__) + +#error Your time_t is already 64-bit. + +#else + +/* Legacy cruft for LP32 where time_t was 32-bit. */ + #include #include #include __BEGIN_DECLS -typedef int64_t time64_t; +typedef int64_t time64_t; -struct tm *gmtime64_r (const time64_t *, struct tm *); -struct tm *localtime64_r (const time64_t *, struct tm *); -struct tm *gmtime64 (const time64_t *); -struct tm *localtime64 (const time64_t *); - -char *asctime64 (const struct tm *); -char *asctime64_r (const struct tm *, char *); - -char *ctime64 (const time64_t*); -char *ctime64_r (const time64_t*, char*); - -time64_t timegm64 (const struct tm *); -time64_t mktime64 (const struct tm *); -time64_t timelocal64 (const struct tm *); +char* asctime64(const struct tm*); +char* asctime64_r(const struct tm*, char*); +char* ctime64(const time64_t*); +char* ctime64_r(const time64_t*, char*); +struct tm* gmtime64(const time64_t*); +struct tm* gmtime64_r(const time64_t*, struct tm*); +struct tm* localtime64(const time64_t*); +struct tm* localtime64_r(const time64_t*, struct tm*); +time64_t mktime64(const struct tm*); +time64_t timegm64(const struct tm*); +time64_t timelocal64(const struct tm*); __END_DECLS +#endif + #endif /* TIME64_H */ diff --git a/ndk/platforms/android-20/include/unistd.h b/ndk/platforms/android-20/include/unistd.h index d21f23d3f..6cb36d8f9 100644 --- a/ndk/platforms/android-20/include/unistd.h +++ b/ndk/platforms/android-20/include/unistd.h @@ -47,7 +47,8 @@ __BEGIN_DECLS #define SEEK_CUR 1 #define SEEK_END 2 -extern char **environ; +extern char** environ; + extern __noreturn void _exit(int); extern pid_t fork(void); diff --git a/ndk/platforms/android-20/include/utmp.h b/ndk/platforms/android-20/include/utmp.h index ffd3c925a..d76422781 100644 --- a/ndk/platforms/android-20/include/utmp.h +++ b/ndk/platforms/android-20/include/utmp.h @@ -36,9 +36,15 @@ #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 +#ifdef __LP64__ +#define UT_NAMESIZE 32 +#define UT_LINESIZE 32 +#define UT_HOSTSIZE 256 +#else +#define UT_NAMESIZE 8 +#define UT_LINESIZE 8 +#define UT_HOSTSIZE 16 +#endif #define USER_PROCESS 7 diff --git a/ndk/platforms/android-20/include/wchar.h b/ndk/platforms/android-20/include/wchar.h index 89c6fb603..fe2fe0757 100644 --- a/ndk/platforms/android-20/include/wchar.h +++ b/ndk/platforms/android-20/include/wchar.h @@ -34,12 +34,20 @@ #include #include #include -#include + +#include __BEGIN_DECLS -typedef __WINT_TYPE__ wint_t; -typedef struct { int dummy; } mbstate_t; +typedef __WINT_TYPE__ wint_t; +typedef struct { +#ifdef __LP32__ + int dummy; +#else + // 8 bytes should be enough to support at least UTF-8 + char __reserved[8]; +#endif +} mbstate_t; typedef enum { WC_TYPE_INVALID = 0, @@ -58,11 +66,6 @@ typedef enum { WC_TYPE_MAX } wctype_t; -#ifndef WCHAR_MAX -#define WCHAR_MAX INT_MAX -#define WCHAR_MIN INT_MIN -#endif - #define WEOF ((wint_t)(-1)) extern wint_t btowc(int); @@ -70,6 +73,7 @@ extern int fwprintf(FILE *, const wchar_t *, ...); extern int fwscanf(FILE *, const wchar_t *, ...); extern int iswalnum(wint_t); extern int iswalpha(wint_t); +extern int iswblank(wint_t); extern int iswcntrl(wint_t); extern int iswdigit(wint_t); extern int iswgraph(wint_t); @@ -90,7 +94,8 @@ extern wint_t getwchar(void); extern int mbsinit(const mbstate_t *); extern size_t mbrlen(const char *, size_t, mbstate_t *); extern size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); -extern size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *); +extern size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*); +extern size_t mbsnrtowcs(wchar_t*, const char**, size_t, size_t, mbstate_t*); extern size_t mbstowcs(wchar_t *, const char *, size_t); extern wint_t putwc(wchar_t, FILE *); extern wint_t putwchar(wchar_t); @@ -99,9 +104,12 @@ extern int swscanf(const wchar_t *, const wchar_t *, ...); extern wint_t towlower(wint_t); extern wint_t towupper(wint_t); extern wint_t ungetwc(wint_t, FILE *); -extern int vfwprintf(FILE *, const wchar_t *, va_list); -extern int vwprintf(const wchar_t *, va_list); -extern int vswprintf(wchar_t *, size_t, const wchar_t *, va_list); +extern int vfwprintf(FILE*, const wchar_t*, va_list); +extern int vfwscanf(FILE*, const wchar_t*, va_list); +extern int vswprintf(wchar_t*, size_t, const wchar_t*, va_list); +extern int vswscanf(const wchar_t*, const wchar_t*, va_list); +extern int vwprintf(const wchar_t*, va_list); +extern int vwscanf(const wchar_t*, va_list); extern size_t wcrtomb(char *, wchar_t, mbstate_t *); extern int wcscasecmp(const wchar_t *, const wchar_t *); extern wchar_t *wcscat(wchar_t *, const wchar_t *); @@ -116,16 +124,20 @@ extern int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wcsncat(wchar_t *, const wchar_t *, size_t); extern int wcsncmp(const wchar_t *, const wchar_t *, size_t); extern wchar_t *wcsncpy(wchar_t *, const wchar_t *, size_t); +extern size_t wcsnrtombs(char*, const wchar_t**, size_t, size_t, mbstate_t*); extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *); extern wchar_t *wcsrchr(const wchar_t *, wchar_t); -extern size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *); +extern size_t wcsrtombs(char*, const wchar_t**, size_t, mbstate_t*); extern size_t wcsspn(const wchar_t *, const wchar_t *); extern wchar_t *wcsstr(const wchar_t *, const wchar_t *); -extern double wcstod(const wchar_t *, wchar_t **); -extern wchar_t *wcstok(wchar_t *, const wchar_t *, wchar_t **); -extern long int wcstol(const wchar_t *, wchar_t **, int); -extern size_t wcstombs(char *, const wchar_t *, size_t); -extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int); +extern double wcstod(const wchar_t*, wchar_t**); +extern float wcstof(const wchar_t*, wchar_t**); +extern wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**); +extern long wcstol(const wchar_t*, wchar_t**, int); +extern long long wcstoll(const wchar_t*, wchar_t**, int); +extern long double wcstold(const wchar_t*, wchar_t**); +extern unsigned long wcstoul(const wchar_t*, wchar_t**, int); +extern unsigned long long wcstoull(const wchar_t*, wchar_t**, int); extern wchar_t *wcswcs(const wchar_t *, const wchar_t *); extern int wcswidth(const wchar_t *, size_t); extern size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);