From 1b1d56acc5281d0201fdbe8539012a2dbf09bc8f Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Fri, 9 May 2014 21:37:30 +0800 Subject: Refresh 64-bit headers/libs; upgrade libc++ to r207307 to bionic: adfc007dbf936bd021d79ba2d2c360a3cfc77be9 5/19 2014 Change-Id: Id9994bab1ab8240853890c108e8aaa3ebac47fa8 --- .../gabi++/libs/arm64-v8a/libgabi++_shared.so | Bin 88833 -> 52057 bytes .../gabi++/libs/arm64-v8a/libgabi++_static.a | Bin 111584 -> 111624 bytes .../cxx-stl/gabi++/libs/mips64/libgabi++_shared.so | Bin 88500 -> 49866 bytes .../cxx-stl/gabi++/libs/mips64/libgabi++_static.a | Bin 123000 -> 123040 bytes .../cxx-stl/gabi++/libs/x86_64/libgabi++_shared.so | Bin 46344 -> 46392 bytes .../cxx-stl/gabi++/libs/x86_64/libgabi++_static.a | Bin 107608 -> 107632 bytes .../stlport/libs/arm64-v8a/libstlport_shared.so | Bin 786403 -> 727655 bytes .../stlport/libs/arm64-v8a/libstlport_static.a | Bin 1224738 -> 1228774 bytes .../stlport/libs/mips64/libstlport_shared.so | Bin 820195 -> 761521 bytes .../stlport/libs/mips64/libstlport_static.a | Bin 1504916 -> 1508028 bytes .../stlport/libs/x86_64/libstlport_shared.so | Bin 717624 -> 718128 bytes .../stlport/libs/x86_64/libstlport_static.a | Bin 1187256 -> 1184440 bytes .../arch-arm64/usr/include/android/dlext.h | 70 ++++++++ .../arch-arm64/usr/include/asm-generic/signal.h | 6 +- .../android-19/arch-arm64/usr/include/ctype.h | 122 +------------ .../android-19/arch-arm64/usr/include/inttypes.h | 10 +- .../android-19/arch-arm64/usr/include/limits.h | 2 +- .../arch-arm64/usr/include/linux/prctl.h | 3 +- .../android-19/arch-arm64/usr/include/locale.h | 28 ++- .../arch-arm64/usr/include/machine/ieee.h | 179 ++++++------------- .../arch-arm64/usr/include/machine/wchar_limits.h | 42 +++++ .../android-19/arch-arm64/usr/include/math.h | 56 +++--- .../android-19/arch-arm64/usr/include/pthread.h | 41 +++-- .../android-19/arch-arm64/usr/include/sched.h | 189 +++++++-------------- .../android-19/arch-arm64/usr/include/semaphore.h | 7 +- .../android-19/arch-arm64/usr/include/signal.h | 6 + .../android-19/arch-arm64/usr/include/stdint.h | 19 ++- .../android-19/arch-arm64/usr/include/stdlib.h | 20 ++- .../arch-arm64/usr/include/sys/cdefs_elf.h | 25 +-- .../android-19/arch-arm64/usr/include/sys/epoll.h | 6 +- .../android-19/arch-arm64/usr/include/sys/types.h | 5 +- .../android-19/arch-arm64/usr/include/sys/user.h | 12 +- .../android-19/arch-arm64/usr/include/time64.h | 37 ++-- .../android-19/arch-arm64/usr/include/unistd.h | 3 +- .../android-19/arch-arm64/usr/include/utmp.h | 12 +- .../android-19/arch-arm64/usr/include/wchar.h | 48 ++++-- .../arch-arm64/usr/lib/crtbegin_dynamic.o | Bin 2388 -> 2485 bytes .../android-19/arch-arm64/usr/lib/crtbegin_so.o | Bin 1568 -> 1738 bytes .../arch-arm64/usr/lib/crtbegin_static.o | Bin 2388 -> 2485 bytes .../android-19/arch-arm64/usr/lib/crtend_android.o | Bin 1089 -> 1089 bytes .../android-19/arch-arm64/usr/lib/crtend_so.o | Bin 977 -> 977 bytes .../android-19/arch-arm64/usr/lib/libEGL.so | Bin 68786 -> 5987 bytes .../android-19/arch-arm64/usr/lib/libGLESv1_CM.so | Bin 78466 -> 28171 bytes .../android-19/arch-arm64/usr/lib/libGLESv2.so | Bin 75743 -> 21848 bytes .../android-19/arch-arm64/usr/lib/libGLESv3.so | Bin 78153 -> 27426 bytes .../android-19/arch-arm64/usr/lib/libOpenMAXAL.so | Bin 69300 -> 6821 bytes .../android-19/arch-arm64/usr/lib/libOpenSLES.so | Bin 69657 -> 7570 bytes .../android-19/arch-arm64/usr/lib/libandroid.so | Bin 75696 -> 21249 bytes 9/platforms/android-19/arch-arm64/usr/lib/libc.a | Bin 8525344 -> 9699426 bytes 9/platforms/android-19/arch-arm64/usr/lib/libc.so | Bin 108655 -> 100360 bytes 9/platforms/android-19/arch-arm64/usr/lib/libdl.so | Bin 67474 -> 3078 bytes .../arch-arm64/usr/lib/libjnigraphics.so | Bin 67317 -> 2638 bytes .../android-19/arch-arm64/usr/lib/liblog.so | Bin 67588 -> 3221 bytes 9/platforms/android-19/arch-arm64/usr/lib/libm.a | Bin 2857404 -> 2825072 bytes 9/platforms/android-19/arch-arm64/usr/lib/libm.so | Bin 77488 -> 25566 bytes .../android-19/arch-arm64/usr/lib/libstdc++.a | Bin 42816 -> 42816 bytes .../android-19/arch-arm64/usr/lib/libstdc++.so | Bin 82496 -> 4789 bytes 9/platforms/android-19/arch-arm64/usr/lib/libz.a | Bin 1162974 -> 1162974 bytes .../arch-mips64/usr/include/android/dlext.h | 70 ++++++++ .../arch-mips64/usr/include/asm-generic/signal.h | 6 +- .../arch-mips64/usr/include/asm/siginfo.h | 1 + .../arch-mips64/usr/include/asm/signal.h | 4 +- .../android-19/arch-mips64/usr/include/ctype.h | 122 +------------ .../android-19/arch-mips64/usr/include/inttypes.h | 10 +- .../android-19/arch-mips64/usr/include/limits.h | 2 +- .../arch-mips64/usr/include/linux/prctl.h | 3 +- .../android-19/arch-mips64/usr/include/locale.h | 28 ++- .../arch-mips64/usr/include/machine/ieee.h | 181 +++++++------------- .../arch-mips64/usr/include/machine/wchar_limits.h | 42 +++++ .../android-19/arch-mips64/usr/include/math.h | 56 +++--- .../android-19/arch-mips64/usr/include/pthread.h | 41 +++-- .../android-19/arch-mips64/usr/include/sched.h | 189 +++++++-------------- .../android-19/arch-mips64/usr/include/semaphore.h | 7 +- .../android-19/arch-mips64/usr/include/signal.h | 6 + .../android-19/arch-mips64/usr/include/stdint.h | 19 ++- .../android-19/arch-mips64/usr/include/stdlib.h | 20 ++- .../arch-mips64/usr/include/sys/cdefs_elf.h | 25 +-- .../android-19/arch-mips64/usr/include/sys/epoll.h | 6 +- .../android-19/arch-mips64/usr/include/sys/types.h | 5 +- .../android-19/arch-mips64/usr/include/sys/user.h | 12 +- .../android-19/arch-mips64/usr/include/time64.h | 37 ++-- .../android-19/arch-mips64/usr/include/unistd.h | 3 +- .../android-19/arch-mips64/usr/include/utmp.h | 12 +- .../android-19/arch-mips64/usr/include/wchar.h | 48 ++++-- .../arch-mips64/usr/lib/crtbegin_dynamic.o | Bin 9782 -> 3237 bytes .../android-19/arch-mips64/usr/lib/crtbegin_so.o | Bin 5896 -> 2620 bytes .../arch-mips64/usr/lib/crtbegin_static.o | Bin 9782 -> 3237 bytes .../arch-mips64/usr/lib/crtend_android.o | Bin 1321 -> 1817 bytes .../android-19/arch-mips64/usr/lib/crtend_so.o | Bin 1209 -> 1217 bytes .../android-19/arch-mips64/usr/lib/libEGL.so | Bin 70185 -> 8970 bytes .../android-19/arch-mips64/usr/lib/libGLESv1_CM.so | Bin 87513 -> 45482 bytes .../android-19/arch-mips64/usr/lib/libGLESv2.so | Bin 82358 -> 34615 bytes .../android-19/arch-mips64/usr/lib/libGLESv3.so | Bin 86720 -> 43841 bytes .../android-19/arch-mips64/usr/lib/libOpenMAXAL.so | Bin 69520 -> 7569 bytes .../android-19/arch-mips64/usr/lib/libOpenSLES.so | Bin 69877 -> 8438 bytes .../android-19/arch-mips64/usr/lib/libandroid.so | Bin 81383 -> 32264 bytes 9/platforms/android-19/arch-mips64/usr/lib/libc.a | Bin 8244698 -> 9242112 bytes 9/platforms/android-19/arch-mips64/usr/lib/libc.so | Bin 210736 -> 171169 bytes .../android-19/arch-mips64/usr/lib/libdl.so | Bin 67881 -> 4309 bytes .../arch-mips64/usr/lib/libjnigraphics.so | Bin 67564 -> 3453 bytes .../android-19/arch-mips64/usr/lib/liblog.so | Bin 68027 -> 4460 bytes 9/platforms/android-19/arch-mips64/usr/lib/libm.a | Bin 2724222 -> 2688218 bytes 9/platforms/android-19/arch-mips64/usr/lib/libm.so | Bin 88335 -> 45851 bytes .../android-19/arch-mips64/usr/lib/libstdc++.a | Bin 43842 -> 43834 bytes .../android-19/arch-mips64/usr/lib/libstdc++.so | Bin 85091 -> 6753 bytes 9/platforms/android-19/arch-mips64/usr/lib/libz.a | Bin 943112 -> 943088 bytes .../arch-x86_64/usr/include/android/dlext.h | 70 ++++++++ .../arch-x86_64/usr/include/asm-generic/signal.h | 6 +- .../arch-x86_64/usr/include/asm/signal.h | 4 +- .../android-19/arch-x86_64/usr/include/ctype.h | 122 +------------ .../android-19/arch-x86_64/usr/include/inttypes.h | 10 +- .../android-19/arch-x86_64/usr/include/limits.h | 2 +- .../arch-x86_64/usr/include/linux/prctl.h | 3 +- .../android-19/arch-x86_64/usr/include/locale.h | 28 ++- .../arch-x86_64/usr/include/machine/ieee.h | 154 +++++++---------- .../arch-x86_64/usr/include/machine/wchar_limits.h | 42 +++++ .../android-19/arch-x86_64/usr/include/math.h | 56 +++--- .../android-19/arch-x86_64/usr/include/pthread.h | 41 +++-- .../android-19/arch-x86_64/usr/include/sched.h | 189 +++++++-------------- .../android-19/arch-x86_64/usr/include/semaphore.h | 7 +- .../android-19/arch-x86_64/usr/include/signal.h | 6 + .../android-19/arch-x86_64/usr/include/stdint.h | 19 ++- .../android-19/arch-x86_64/usr/include/stdlib.h | 20 ++- .../arch-x86_64/usr/include/sys/cdefs_elf.h | 25 +-- .../android-19/arch-x86_64/usr/include/sys/epoll.h | 6 +- .../android-19/arch-x86_64/usr/include/sys/types.h | 5 +- .../android-19/arch-x86_64/usr/include/sys/user.h | 12 +- .../android-19/arch-x86_64/usr/include/time64.h | 37 ++-- .../android-19/arch-x86_64/usr/include/unistd.h | 3 +- .../android-19/arch-x86_64/usr/include/utmp.h | 12 +- .../android-19/arch-x86_64/usr/include/wchar.h | 48 ++++-- .../arch-x86_64/usr/lib64/crtbegin_dynamic.o | Bin 2272 -> 2208 bytes .../android-19/arch-x86_64/usr/lib64/crtbegin_so.o | Bin 1976 -> 1952 bytes .../arch-x86_64/usr/lib64/crtbegin_static.o | Bin 2272 -> 2208 bytes .../arch-x86_64/usr/lib64/crtend_android.o | Bin 1231 -> 1024 bytes .../android-19/arch-x86_64/usr/lib64/crtend_so.o | Bin 1119 -> 944 bytes .../android-19/arch-x86_64/usr/lib64/libEGL.so | Bin 11208 -> 11208 bytes .../arch-x86_64/usr/lib64/libGLESv1_CM.so | Bin 41368 -> 41368 bytes .../android-19/arch-x86_64/usr/lib64/libGLESv2.so | Bin 30456 -> 30456 bytes .../android-19/arch-x86_64/usr/lib64/libGLESv3.so | Bin 41056 -> 41056 bytes .../arch-x86_64/usr/lib64/libOpenMAXAL.so | Bin 7512 -> 7512 bytes .../arch-x86_64/usr/lib64/libOpenSLES.so | Bin 7872 -> 7872 bytes .../android-19/arch-x86_64/usr/lib64/libandroid.so | Bin 30408 -> 30408 bytes .../android-19/arch-x86_64/usr/lib64/libc.a | Bin 10175146 -> 10899204 bytes .../android-19/arch-x86_64/usr/lib64/libc.so | Bin 149240 -> 150512 bytes .../android-19/arch-x86_64/usr/lib64/libdl.so | Bin 5800 -> 5848 bytes .../arch-x86_64/usr/lib64/libjnigraphics.so | Bin 5648 -> 5648 bytes .../android-19/arch-x86_64/usr/lib64/liblog.so | Bin 5920 -> 5920 bytes .../android-19/arch-x86_64/usr/lib64/libm.a | Bin 2833196 -> 2803600 bytes .../android-19/arch-x86_64/usr/lib64/libm.so | Bin 40400 -> 40144 bytes .../android-19/arch-x86_64/usr/lib64/libstdc++.a | Bin 38544 -> 38544 bytes .../android-19/arch-x86_64/usr/lib64/libstdc++.so | Bin 22200 -> 6536 bytes .../android-19/arch-x86_64/usr/lib64/libz.a | Bin 1155910 -> 1155910 bytes 9/sources/android/support/include/locale.h | 3 + .../cxx-stl/EH/gabi++/include/gabixx_config.h | 3 + 9/sources/cxx-stl/EH/gabi++/include/new | 17 ++ .../EH/gabi++/libs/arm64-v8a/libgabi++_shared.so | Bin 265519 -> 209298 bytes .../EH/gabi++/libs/arm64-v8a/libgabi++_static.a | Bin 207406 -> 213006 bytes .../EH/gabi++/libs/armeabi-v7a/libgabi++_shared.so | Bin 98004 -> 106572 bytes .../EH/gabi++/libs/armeabi-v7a/libgabi++_static.a | Bin 179202 -> 186378 bytes .../libs/armeabi-v7a/thumb/libgabi++_shared.so | Bin 0 -> 102684 bytes .../libs/armeabi-v7a/thumb/libgabi++_static.a | Bin 0 -> 182518 bytes .../EH/gabi++/libs/armeabi/libgabi++_shared.so | Bin 125124 -> 133420 bytes .../EH/gabi++/libs/armeabi/libgabi++_static.a | Bin 180826 -> 186694 bytes .../gabi++/libs/armeabi/thumb/libgabi++_shared.so | Bin 0 -> 129808 bytes .../gabi++/libs/armeabi/thumb/libgabi++_static.a | Bin 0 -> 184146 bytes .../EH/gabi++/libs/mips/libgabi++_shared.so | Bin 227500 -> 228123 bytes .../cxx-stl/EH/gabi++/libs/mips/libgabi++_static.a | Bin 166798 -> 169494 bytes .../EH/gabi++/libs/mips64/libgabi++_shared.so | Bin 254221 -> 212742 bytes .../EH/gabi++/libs/mips64/libgabi++_static.a | Bin 245446 -> 249398 bytes .../cxx-stl/EH/gabi++/libs/x86/libgabi++_shared.so | Bin 159968 -> 160428 bytes .../cxx-stl/EH/gabi++/libs/x86/libgabi++_static.a | Bin 155286 -> 157774 bytes .../EH/gabi++/libs/x86_64/libgabi++_shared.so | Bin 187336 -> 187584 bytes .../EH/gabi++/libs/x86_64/libgabi++_static.a | Bin 202838 -> 206006 bytes .../EH/stlport/libs/arm64-v8a/libstlport_shared.so | Bin 969369 -> 926160 bytes .../EH/stlport/libs/arm64-v8a/libstlport_static.a | Bin 1440926 -> 1490850 bytes .../stlport/libs/armeabi-v7a/libstlport_shared.so | Bin 595232 -> 669080 bytes .../stlport/libs/armeabi-v7a/libstlport_static.a | Bin 1390306 -> 1470250 bytes .../libs/armeabi-v7a/thumb/libstlport_shared.so | Bin 0 -> 595816 bytes .../libs/armeabi-v7a/thumb/libstlport_static.a | Bin 0 -> 1393622 bytes .../EH/stlport/libs/armeabi/libstlport_shared.so | Bin 648512 -> 710976 bytes .../EH/stlport/libs/armeabi/libstlport_static.a | Bin 1418546 -> 1479886 bytes .../libs/armeabi/thumb/libstlport_shared.so | Bin 0 -> 649096 bytes .../stlport/libs/armeabi/thumb/libstlport_static.a | Bin 0 -> 1421874 bytes .../EH/stlport/libs/mips/libstlport_shared.so | Bin 870113 -> 870716 bytes .../EH/stlport/libs/mips/libstlport_static.a | Bin 1302862 -> 1305566 bytes .../EH/stlport/libs/mips64/libstlport_shared.so | Bin 1004704 -> 971193 bytes .../EH/stlport/libs/mips64/libstlport_static.a | Bin 1822560 -> 1829584 bytes .../EH/stlport/libs/x86/libstlport_shared.so | Bin 764196 -> 772856 bytes .../EH/stlport/libs/x86/libstlport_static.a | Bin 1174670 -> 1177156 bytes .../EH/stlport/libs/x86_64/libstlport_shared.so | Bin 894840 -> 895544 bytes .../EH/stlport/libs/x86_64/libstlport_static.a | Bin 1437140 -> 1436940 bytes .../4.6/libs/armeabi-v7a/include/bits/ctype_base.h | 14 ++ .../4.6/libs/armeabi/include/bits/ctype_base.h | 14 ++ .../4.6/libs/mips/include/bits/ctype_base.h | 14 ++ .../4.6/libs/x86/include/bits/ctype_base.h | 14 ++ .../gnu-libstdc++/4.8/include/bits/opt_random.h | 38 ----- .../gnu-libstdc++/4.8/include/ext/atomicity.h | 3 +- .../gnu-libstdc++/4.8/include/ext/opt_random.h | 38 ----- .../cxx-stl/gnu-libstdc++/4.8/include/type_traits | 2 +- .../4.8/libs/arm64-v8a/include/bits/c++config.h | 44 ++--- .../4.8/libs/arm64-v8a/libgnustl_shared.so | Bin 1437472 -> 1430453 bytes .../4.8/libs/arm64-v8a/libgnustl_static.a | Bin 2920484 -> 3009732 bytes .../gnu-libstdc++/4.8/libs/arm64-v8a/libsupc++.a | Bin 342138 -> 344674 bytes .../4.8/libs/armeabi-v7a/include/bits/ctype_base.h | 14 ++ .../4.8/libs/armeabi/include/bits/ctype_base.h | 14 ++ .../4.8/libs/mips/include/bits/ctype_base.h | 14 ++ .../4.8/libs/mips64/include/bits/c++config.h | 44 ++--- .../4.8/libs/mips64/libgnustl_shared.so | Bin 1556833 -> 1481810 bytes .../4.8/libs/mips64/libgnustl_static.a | Bin 3566314 -> 3560766 bytes .../gnu-libstdc++/4.8/libs/mips64/libsupc++.a | Bin 441492 -> 441532 bytes .../4.8/libs/x86/include/bits/ctype_base.h | 14 ++ .../4.8/libs/x86_64/include/bits/c++config.h | 44 ++--- .../4.8/libs/x86_64/libgnustl_shared.so | Bin 1346120 -> 1336488 bytes .../4.8/libs/x86_64/libgnustl_static.a | Bin 2908778 -> 2900562 bytes .../gnu-libstdc++/4.8/libs/x86_64/libsupc++.a | Bin 350578 -> 349906 bytes .../gnu-libstdc++/4.9/include/bits/atomic_base.h | 4 +- .../cxx-stl/gnu-libstdc++/4.9/include/iomanip | 3 +- .../cxx-stl/gnu-libstdc++/4.9/include/type_traits | 2 +- .../4.9/libs/arm64-v8a/include/bits/c++config.h | 46 ++--- .../4.9/libs/arm64-v8a/libgnustl_shared.so | Bin 1450073 -> 1448923 bytes .../4.9/libs/arm64-v8a/libgnustl_static.a | Bin 3108404 -> 3096668 bytes .../gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a | Bin 386830 -> 387998 bytes .../4.9/libs/armeabi-v7a/include/bits/c++config.h | 2 +- .../4.9/libs/armeabi/include/bits/c++config.h | 2 +- .../4.9/libs/mips/include/bits/c++config.h | 2 +- .../4.9/libs/mips64/include/bits/c++config.h | 46 ++--- .../4.9/libs/mips64/libgnustl_shared.so | Bin 1561037 -> 1556089 bytes .../4.9/libs/mips64/libgnustl_static.a | Bin 3732504 -> 3709436 bytes .../gnu-libstdc++/4.9/libs/mips64/libsupc++.a | Bin 540800 -> 534688 bytes .../4.9/libs/x86/include/bits/c++config.h | 2 +- .../4.9/libs/x86_64/include/bits/c++config.h | 46 ++--- .../4.9/libs/x86_64/libgnustl_shared.so | Bin 1390432 -> 1385536 bytes .../4.9/libs/x86_64/libgnustl_static.a | Bin 3400686 -> 3390294 bytes .../gnu-libstdc++/4.9/libs/x86_64/libsupc++.a | Bin 421694 -> 424502 bytes .../cxx-stl/llvm-libc++/libcxx/include/__config | 41 ++++- .../cxx-stl/llvm-libc++/libcxx/include/__locale | 2 +- .../llvm-libc++/libcxx/include/__mutex_base | 4 +- .../cxx-stl/llvm-libc++/libcxx/include/__tree | 2 +- .../cxx-stl/llvm-libc++/libcxx/include/algorithm | 174 ++++++++++++------- 9/sources/cxx-stl/llvm-libc++/libcxx/include/cmath | 6 +- .../cxx-stl/llvm-libc++/libcxx/include/cstddef | 5 + .../cxx-stl/llvm-libc++/libcxx/include/cstdio | 13 ++ 9/sources/cxx-stl/llvm-libc++/libcxx/include/deque | 2 +- .../cxx-stl/llvm-libc++/libcxx/include/ext/__hash | 93 +++++++++- .../llvm-libc++/libcxx/include/ext/hash_map | 4 +- .../cxx-stl/llvm-libc++/libcxx/include/functional | 21 +-- .../cxx-stl/llvm-libc++/libcxx/include/future | 4 +- .../cxx-stl/llvm-libc++/libcxx/include/iomanip | 11 +- .../cxx-stl/llvm-libc++/libcxx/include/iterator | 36 ++-- .../cxx-stl/llvm-libc++/libcxx/include/locale | 2 +- 9/sources/cxx-stl/llvm-libc++/libcxx/include/map | 18 +- .../cxx-stl/llvm-libc++/libcxx/include/memory | 11 +- .../cxx-stl/llvm-libc++/libcxx/include/ostream | 22 +-- 9/sources/cxx-stl/llvm-libc++/libcxx/include/regex | 95 ++++++++++- 9/sources/cxx-stl/llvm-libc++/libcxx/include/set | 24 ++- .../llvm-libc++/libcxx/include/shared_mutex | 24 +-- .../cxx-stl/llvm-libc++/libcxx/include/string | 48 +++--- 9/sources/cxx-stl/llvm-libc++/libcxx/include/tuple | 26 ++- .../cxx-stl/llvm-libc++/libcxx/include/type_traits | 64 +++++-- .../cxx-stl/llvm-libc++/libcxx/include/typeinfo | 46 ++++- .../cxx-stl/llvm-libc++/libcxx/include/utility | 24 +-- .../llvm-libc++/libs/arm64-v8a/libc++_shared.so | Bin 1482341 -> 1612238 bytes .../llvm-libc++/libs/arm64-v8a/libc++_static.a | Bin 2683968 -> 2916264 bytes .../llvm-libc++/libs/armeabi-v7a/libc++_shared.so | Bin 1330144 -> 1330364 bytes .../llvm-libc++/libs/armeabi-v7a/libc++_static.a | Bin 2993782 -> 2993746 bytes .../libs/armeabi-v7a/thumb/libc++_shared.so | Bin 1161908 -> 1162096 bytes .../libs/armeabi-v7a/thumb/libc++_static.a | Bin 2821786 -> 2821762 bytes .../llvm-libc++/libs/armeabi/libc++_shared.so | Bin 1385604 -> 1385824 bytes .../llvm-libc++/libs/armeabi/libc++_static.a | Bin 3011994 -> 3011946 bytes .../libs/armeabi/thumb/libc++_shared.so | Bin 1248732 -> 1244840 bytes .../llvm-libc++/libs/armeabi/thumb/libc++_static.a | Bin 2863102 -> 2863046 bytes .../cxx-stl/llvm-libc++/libs/mips/libc++_shared.so | Bin 1646000 -> 1644431 bytes .../cxx-stl/llvm-libc++/libs/mips/libc++_static.a | Bin 2544122 -> 2515070 bytes .../llvm-libc++/libs/mips64/libc++_shared.so | Bin 1659288 -> 3045548 bytes .../llvm-libc++/libs/mips64/libc++_static.a | Bin 3351536 -> 4691414 bytes .../cxx-stl/llvm-libc++/libs/x86/libc++_shared.so | Bin 1370676 -> 1380688 bytes .../cxx-stl/llvm-libc++/libs/x86/libc++_static.a | Bin 2257468 -> 2228760 bytes .../llvm-libc++/libs/x86_64/libc++_shared.so | Bin 1438112 -> 1473536 bytes .../llvm-libc++/libs/x86_64/libc++_static.a | Bin 2694136 -> 2777782 bytes 280 files changed, 2200 insertions(+), 1955 deletions(-) create mode 100644 9/platforms/android-19/arch-arm64/usr/include/android/dlext.h create mode 100644 9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h create mode 100644 9/platforms/android-19/arch-mips64/usr/include/android/dlext.h create mode 100644 9/platforms/android-19/arch-mips64/usr/include/machine/wchar_limits.h create mode 100644 9/platforms/android-19/arch-x86_64/usr/include/android/dlext.h create mode 100644 9/platforms/android-19/arch-x86_64/usr/include/machine/wchar_limits.h create mode 100755 9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_shared.so create mode 100644 9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_static.a create mode 100755 9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_shared.so create mode 100644 9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_static.a create mode 100755 9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_shared.so create mode 100644 9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_static.a create mode 100755 9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_shared.so create mode 100644 9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_static.a delete mode 100644 9/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/opt_random.h delete mode 100644 9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/opt_random.h diff --git a/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_shared.so b/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_shared.so index 9ecd85b..ffacf31 100755 Binary files a/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_shared.so and b/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_shared.so differ diff --git a/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_static.a b/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_static.a index 06d06dd..1f5fbaa 100644 Binary files a/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_static.a and b/8/sources/cxx-stl/gabi++/libs/arm64-v8a/libgabi++_static.a differ diff --git a/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_shared.so b/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_shared.so index 619aae4..7f9dd06 100755 Binary files a/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_shared.so and b/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_shared.so differ diff --git a/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_static.a b/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_static.a index e3df545..74dc7d9 100644 Binary files a/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_static.a and b/8/sources/cxx-stl/gabi++/libs/mips64/libgabi++_static.a differ diff --git a/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_shared.so b/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_shared.so index 7f740c8..84d658e 100755 Binary files a/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_shared.so and b/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_shared.so differ diff --git a/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_static.a b/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_static.a index ed2ff2a..c13194d 100644 Binary files a/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_static.a and b/8/sources/cxx-stl/gabi++/libs/x86_64/libgabi++_static.a differ diff --git a/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_shared.so b/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_shared.so index 9700b0b..5979cd5 100755 Binary files a/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_shared.so and b/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_shared.so differ diff --git a/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_static.a b/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_static.a index ac67197..4d85c30 100644 Binary files a/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_static.a and b/8/sources/cxx-stl/stlport/libs/arm64-v8a/libstlport_static.a differ diff --git a/8/sources/cxx-stl/stlport/libs/mips64/libstlport_shared.so b/8/sources/cxx-stl/stlport/libs/mips64/libstlport_shared.so index 02b57ab..9261638 100755 Binary files a/8/sources/cxx-stl/stlport/libs/mips64/libstlport_shared.so and b/8/sources/cxx-stl/stlport/libs/mips64/libstlport_shared.so differ diff --git a/8/sources/cxx-stl/stlport/libs/mips64/libstlport_static.a b/8/sources/cxx-stl/stlport/libs/mips64/libstlport_static.a index d2eb250..b524d5c 100644 Binary files a/8/sources/cxx-stl/stlport/libs/mips64/libstlport_static.a and b/8/sources/cxx-stl/stlport/libs/mips64/libstlport_static.a differ diff --git a/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_shared.so b/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_shared.so index 0654d95..3441c2e 100755 Binary files a/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_shared.so and b/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_shared.so differ diff --git a/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_static.a b/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_static.a index 67cd68e..47fdc0c 100644 Binary files a/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_static.a and b/8/sources/cxx-stl/stlport/libs/x86_64/libstlport_static.a differ diff --git a/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h b/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h new file mode 100644 index 0000000..90962fa --- /dev/null +++ b/9/platforms/android-19/arch-arm64/usr/include/android/dlext.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __ANDROID_DLEXT_H__ +#define __ANDROID_DLEXT_H__ + +#include +#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/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h b/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h index fe7d9a0..e103240 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h +++ b/9/platforms/android-19/arch-arm64/usr/include/asm-generic/signal.h @@ -66,9 +66,9 @@ #define SIGSYS 31 #define SIGUNUSED 31 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#ifndef SIGRTMAX -#define SIGRTMAX _KERNEL__NSIG +#define __SIGRTMIN 32 +#ifndef __SIGRTMAX +#define __SIGRTMAX _KERNEL__NSIG #endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SA_NOCLDSTOP 0x00000001 diff --git a/9/platforms/android-19/arch-arm64/usr/include/ctype.h b/9/platforms/android-19/arch-arm64/usr/include/ctype.h index 5557e31..7edd8cc 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/ctype.h +++ b/9/platforms/android-19/arch-arm64/usr/include/ctype.h @@ -44,12 +44,16 @@ #define _CTYPE_U 0x01 #define _CTYPE_L 0x02 -#define _CTYPE_N 0x04 +#define _CTYPE_D 0x04 #define _CTYPE_S 0x08 #define _CTYPE_P 0x10 #define _CTYPE_C 0x20 #define _CTYPE_X 0x40 #define _CTYPE_B 0x80 +#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B) +#define _CTYPE_A (_CTYPE_L|_CTYPE_U) + +#define _CTYPE_N _CTYPE_D __BEGIN_DECLS @@ -57,17 +61,6 @@ extern const char *_ctype_; extern const short *_tolower_tab_; extern const short *_toupper_tab_; -/* extern __inline is a GNU C extension */ -#ifdef __GNUC__ -# if defined(__GNUC_STDC_INLINE__) -#define __CTYPE_INLINE extern __inline __attribute__((__gnu_inline__)) -# else -#define __CTYPE_INLINE extern __inline -# endif -#else -#define __CTYPE_INLINE static __inline -#endif - #if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint) int isalnum(int); int isalpha(int); @@ -97,111 +90,6 @@ int _toupper(int); #endif /* __GNUC__ || _ANSI_LIBRARY || lint */ -#if defined(NDEBUG) - -__CTYPE_INLINE int isalnum(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int isalpha(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L))); -} - -__CTYPE_INLINE int iscntrl(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_C)); -} - -__CTYPE_INLINE int isdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_N)); -} - -__CTYPE_INLINE int isgraph(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int islower(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_L)); -} - -__CTYPE_INLINE int isprint(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B))); -} - -__CTYPE_INLINE int ispunct(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_P)); -} - -__CTYPE_INLINE int isspace(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_S)); -} - -__CTYPE_INLINE int isupper(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_U)); -} - -__CTYPE_INLINE int isxdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_N|_CTYPE_X))); -} - -__CTYPE_INLINE int tolower(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_tolower_tab_ + 1)[c]); -} - -__CTYPE_INLINE int toupper(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_toupper_tab_ + 1)[c]); -} - -#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \ - || __XPG_VISIBLE > 600 -__CTYPE_INLINE int isblank(int c) -{ - return (c == ' ' || c == '\t'); -} -#endif - -#if __BSD_VISIBLE || __XPG_VISIBLE -__CTYPE_INLINE int isascii(int c) -{ - return ((unsigned int)c <= 0177); -} - -__CTYPE_INLINE int toascii(int c) -{ - return (c & 0177); -} - -__CTYPE_INLINE int _tolower(int c) -{ - return (c - 'A' + 'a'); -} - -__CTYPE_INLINE int _toupper(int c) -{ - return (c - 'a' + 'A'); -} -#endif /* __BSD_VISIBLE || __XPG_VISIBLE */ - -#endif /* NDEBUG */ - __END_DECLS -#undef __CTYPE_INLINE - #endif /* !_CTYPE_H_ */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/inttypes.h b/9/platforms/android-19/arch-arm64/usr/include/inttypes.h index 2fd2415..8853c08 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/inttypes.h +++ b/9/platforms/android-19/arch-arm64/usr/include/inttypes.h @@ -254,16 +254,14 @@ typedef struct { } imaxdiv_t; __BEGIN_DECLS - intmax_t imaxabs(intmax_t) __pure2; imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2; - intmax_t strtoimax(const char *, char **, int); uintmax_t strtoumax(const char *, char **, int); - -intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n); -uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n); - +intmax_t wcstoimax(const wchar_t * __restrict, + wchar_t ** __restrict, int); +uintmax_t wcstoumax(const wchar_t * __restrict, + wchar_t ** __restrict, int); __END_DECLS #endif /* _INTTYPES_H_ */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/limits.h b/9/platforms/android-19/arch-arm64/usr/include/limits.h index a70021a..dc45902 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/limits.h +++ b/9/platforms/android-19/arch-arm64/usr/include/limits.h @@ -112,7 +112,7 @@ #define SSIZE_MAX LONG_MAX -#define MB_LEN_MAX 1 /* No multibyte characters. */ +#define MB_LEN_MAX 6 /* New code should use sysconf(_SC_PAGE_SIZE) instead. */ #ifndef PAGE_SIZE diff --git a/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h b/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h index 87c7e2f..baa597e 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h +++ b/9/platforms/android-19/arch-arm64/usr/include/linux/prctl.h @@ -117,7 +117,8 @@ #define PR_GET_NO_NEW_PRIVS 39 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PR_GET_TID_ADDRESS 40 +#define PR_SET_TIMERSLACK_PID 41 #define PR_SET_VMA 0x53564d41 #define PR_SET_VMA_ANON_NAME 0 -#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/9/platforms/android-19/arch-arm64/usr/include/locale.h b/9/platforms/android-19/arch-arm64/usr/include/locale.h index 6989851..7fd8c2c 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/locale.h +++ b/9/platforms/android-19/arch-arm64/usr/include/locale.h @@ -33,21 +33,19 @@ __BEGIN_DECLS -enum { - LC_CTYPE = 0, - LC_NUMERIC = 1, - LC_TIME = 2, - LC_COLLATE = 3, - LC_MONETARY = 4, - LC_MESSAGES = 5, - LC_ALL = 6, - LC_PAPER = 7, - LC_NAME = 8, - LC_ADDRESS = 9, - LC_TELEPHONE = 10, - LC_MEASUREMENT = 11, - LC_IDENTIFICATION = 12 -}; +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 +#define LC_PAPER 7 +#define LC_NAME 8 +#define LC_ADDRESS 9 +#define LC_TELEPHONE 10 +#define LC_MEASUREMENT 11 +#define LC_IDENTIFICATION 12 #define LC_CTYPE_MASK (1 << LC_CTYPE) #define LC_NUMERIC_MASK (1 << LC_NUMERIC) diff --git a/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h b/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h index cf2c1fc..c579969 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h +++ b/9/platforms/android-19/arch-arm64/usr/include/machine/ieee.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee.h,v 1.1 2004/02/01 05:09:49 drahn Exp $ */ +/* $OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $ */ /* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */ /* @@ -45,147 +45,74 @@ * @(#)ieee.h 8.1 (Berkeley) 6/11/93 */ -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ - -/* - * The ARM has two sets of FP data formats. The FPA supports 32-bit, 64-bit - * and 96-bit IEEE formats, with the words in big-endian order. VFP supports - * 32-bin and 64-bit IEEE formats with the words in the CPU's native byte - * order. - * - * The FPA also has two packed decimal formats, but we ignore them here. - */ +#ifndef _MACHINE_IEEE_H_ +#define _MACHINE_IEEE_H_ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 +#include -#define DBL_EXPBITS 11 -#define DBL_FRACBITS 52 +__BEGIN_DECLS -#ifndef __VFP_FP__ -#define E80_EXPBITS 15 -#define E80_FRACBITS 64 +#define SNG_EXPBITS 8 +#define SNG_FRACBITS 23 -#define EXT_EXPBITS 15 -#define EXT_FRACBITS 112 -#endif +#define SNG_EXP_INFNAN 255 +#define SNG_EXP_BIAS 127 struct ieee_single { - u_int sng_frac:23; - u_int sng_exponent:8; - u_int sng_sign:1; + unsigned sng_frac:23; + unsigned sng_exp:8; + unsigned sng_sign:1; }; -#ifdef __VFP_FP__ -struct ieee_double { -#ifdef __AARCH64EB__ - u_int dbl_sign:1; - u_int dbl_exp:11; - u_int dbl_frach:20; - u_int dbl_fracl; -#else /* !__AARCH64EB__ */ - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -#endif /* !__AARCH64EB__ */ -}; -#else /* !__VFP_FP__ */ +#define DBL_EXPBITS 11 +#define DBL_FRACHBITS 20 +#define DBL_FRACLBITS 32 +#define DBL_FRACBITS 52 + +#define DBL_EXP_INFNAN 2047 +#define DBL_EXP_BIAS 1023 + struct ieee_double { - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; - u_int dbl_fracl; + unsigned dbl_fracl; + unsigned dbl_frach:20; + unsigned dbl_exp:11; + unsigned dbl_sign:1; }; -union ieee_double_u { - double dblu_d; - struct ieee_double dblu_dbl; -}; +#if __LP64__ +/* 64-bit Android uses ld128 long doubles. */ -struct ieee_e80 { - u_int e80_exp:15; - u_int e80_zero:16; - u_int e80_sign:1; - u_int e80_frach:31; - u_int e80_j:1; - u_int e80_fracl; -}; +#define EXT_EXPBITS 15 +#define EXT_FRACHBITS 16 +#define EXT_FRACHMBITS 32 +#define EXT_FRACLMBITS 32 +#define EXT_FRACLBITS 32 +#define EXT_FRACBITS 112 + +#define EXT_EXP_INFNAN 32767 +#define EXT_EXP_BIAS 16383 + +#define EXT_IMPLICIT_NBIT + +#define EXT_TO_ARRAY32(p, a) do { \ + (a)[0] = (uint32_t)(p)->ext_fracl; \ + (a)[1] = (uint32_t)(p)->ext_fraclm; \ + (a)[2] = (uint32_t)(p)->ext_frachm; \ + (a)[3] = (uint32_t)(p)->ext_frach; \ +} while(0) struct ieee_ext { - u_int ext_frach:16; - u_int ext_exp:15; - u_int ext_sign:1; - u_int ext_frachm; - u_int ext_fraclm; - u_int ext_fracl; + unsigned ext_fracl; + unsigned ext_fraclm; + unsigned ext_frachm; + unsigned ext_frach:16; + unsigned ext_exp:15; + unsigned ext_sign:1; }; -#endif /* !__VFP_FP__ */ -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 -#ifndef __VFP_FP__ -#define E80_EXP_INFNAN 32767 -#define EXT_EXP_INFNAN 32767 -#endif /* !__VFP_FP__ */ - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#ifndef __VFP_FP__ -#define E80_QUIETNAN (1 << 15) -#define EXT_QUIETNAN (1 << 15) -#endif /* !__VFP_FP__ */ #endif -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 -#ifndef __VFP_FP__ -#define E80_EXP_BIAS 16383 -#define EXT_EXP_BIAS 16383 -#endif /* !__VFP_FP__ */ +__END_DECLS + +#endif /* _MACHINE_IEEE_H_ */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h b/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h new file mode 100644 index 0000000..94cbd7e --- /dev/null +++ b/9/platforms/android-19/arch-arm64/usr/include/machine/wchar_limits.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _MACHINE_WCHAR_LIMITS_H_ +#define _MACHINE_WCHAR_LIMITS_H_ + +/* Both GCC and clang define __WCHAR_MAX__. */ +#define WCHAR_MAX __WCHAR_MAX__ + +/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */ +#if defined(__WCHAR_UNSIGNED__) +# define WCHAR_MIN L'\0' +#else +# define WCHAR_MIN (-(WCHAR_MAX) - 1) +#endif + +#endif /* _MACHINE_WCHAR_LIMITS_H_ */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/math.h b/9/platforms/android-19/arch-arm64/usr/include/math.h index bd0241b..c264583 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/math.h +++ b/9/platforms/android-19/arch-arm64/usr/include/math.h @@ -396,16 +396,23 @@ float significandf(float); * long double versions of ISO/POSIX math functions */ #if __ISO_C_VISIBLE >= 1999 +long double acoshl(long double); long double acosl(long double); +long double asinhl(long double); long double asinl(long double); long double atan2l(long double, long double); +long double atanhl(long double); long double atanl(long double); long double cbrtl(long double); long double ceill(long double); long double copysignl(long double, long double) __pure2; +long double coshl(long double); long double cosl(long double); +long double erfcl(long double); +long double erfl(long double); long double exp2l(long double); long double expl(long double); +long double expm1l(long double); long double fabsl(long double) __pure2; long double fdiml(long double, long double); long double floorl(long double); @@ -417,9 +424,14 @@ long double frexpl(long double value, int *); /* fundamentally !__pure2 */ long double hypotl(long double, long double); int ilogbl(long double) __pure2; long double ldexpl(long double, int); +long double lgammal(long double); long long llrintl(long double); long long llroundl(long double); +long double log10l(long double); +long double log1pl(long double); +long double log2l(long double); long double logbl(long double); +long double logl(long double); long lrintl(long double); long lroundl(long double); long double modfl(long double, long double *); /* fundamentally !__pure2 */ @@ -429,53 +441,29 @@ long double nextafterl(long double, long double); double nexttoward(double, long double); float nexttowardf(float, long double); long double nexttowardl(long double, long double); +long double powl(long double, long double); long double remainderl(long double, long double); long double remquol(long double, long double, int *); long double rintl(long double); long double roundl(long double); long double scalblnl(long double, long); long double scalbnl(long double, int); +long double sinhl(long double); long double sinl(long double); long double sqrtl(long double); +long double tanhl(long double); long double tanl(long double); +long double tgammal(long double); long double truncl(long double); #endif /* __ISO_C_VISIBLE >= 1999 */ -__END_DECLS - -#endif /* !_MATH_H_ */ - -/* separate header for cmath */ -#ifndef _MATH_EXTRA_H_ -#if __ISO_C_VISIBLE >= 1999 -#if _DECLARE_C99_LDBL_MATH - -#define _MATH_EXTRA_H_ -/* - * extra long double versions of math functions for C99 and cmath - */ -__BEGIN_DECLS - -long double acoshl(long double); -long double asinhl(long double); -long double atanhl(long double); -long double coshl(long double); -long double erfcl(long double); -long double erfl(long double); -long double expm1l(long double); -long double lgammal(long double); -long double log10l(long double); -long double log1pl(long double); -long double log2l(long double); -long double logl(long double); -long double powl(long double, long double); -long double sinhl(long double); -long double tanhl(long double); -long double tgammal(long double); +#if defined(_GNU_SOURCE) +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); +#endif /* _GNU_SOURCE */ __END_DECLS -#endif /* !_DECLARE_C99_LDBL_MATH */ -#endif /* __ISO_C_VISIBLE >= 1999 */ -#endif /* !_MATH_EXTRA_H_ */ +#endif /* !_MATH_H_ */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/pthread.h b/9/platforms/android-19/arch-arm64/usr/include/pthread.h index f93f9e9..7b8de81 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/pthread.h +++ b/9/platforms/android-19/arch-arm64/usr/include/pthread.h @@ -35,17 +35,26 @@ #include #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/9/platforms/android-19/arch-arm64/usr/include/sched.h b/9/platforms/android-19/arch-arm64/usr/include/sched.h index 7649e83..68115bb 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/sched.h +++ b/9/platforms/android-19/arch-arm64/usr/include/sched.h @@ -59,151 +59,90 @@ extern int unshare(int); extern int sched_getcpu(void); extern int setns(int, int); -/* Our implementation supports up to 32 independent CPUs, which is also - * the maximum supported by the kernel at the moment. GLibc uses 1024 by - * default. - * - * If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE() - * and the CPU_XXX_S() macro variants. - */ -#define CPU_SETSIZE 32 +#ifdef __LP32__ +#define CPU_SETSIZE 32 +#else +#define CPU_SETSIZE 1024 +#endif -#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ -#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */ -#define __CPU_BITS (1 << __CPU_BITSHIFT) -#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT) -#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1))) +#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ +#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE)) +#define __CPU_ELT(x) ((x) / __CPU_BITS) +#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1))) typedef struct { - __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; + __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; } cpu_set_t; extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set); extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set); -/* Provide optimized implementation for 32-bit cpu_set_t */ -#if CPU_SETSIZE == __CPU_BITS - -# define CPU_ZERO(set_) \ - do{ \ - (set_)->__bits[0] = 0; \ - }while(0) - -# define CPU_SET(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] |= __CPU_MASK(__cpu); \ - }while (0) - -# define CPU_CLR(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] &= ~__CPU_MASK(__cpu); \ - }while (0) - -# define CPU_ISSET(cpu_, set_) \ - (__extension__({\ - size_t __cpu = (cpu_); \ - (cpu_ < CPU_SETSIZE) \ - ? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -# define CPU_EQUAL(set1_, set2_) \ - ((set1_)->__bits[0] == (set2_)->__bits[0]) - -# define __CPU_OP(dst_, set1_, set2_, op_) \ - do { \ - (dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \ - } while (0) - -# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0]) - -#else /* CPU_SETSIZE != __CPU_BITS */ - -# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_) -# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_) -# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_) - -# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_) +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) +#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) +#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) +#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2) -#endif /* CPU_SETSIZE != __CPU_BITS */ +#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &) +#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |) +#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^) -#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&) -#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|) -#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^) +#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op) /* Support for dynamically-allocated cpu_set_t */ #define CPU_ALLOC_SIZE(count) \ - __CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE) + __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE) -#define CPU_ALLOC(count) __sched_cpualloc((count)); -#define CPU_FREE(set) __sched_cpufree((set)) +#define CPU_ALLOC(count) __sched_cpualloc((count)) +#define CPU_FREE(set) __sched_cpufree((set)) extern cpu_set_t* __sched_cpualloc(size_t count); extern void __sched_cpufree(cpu_set_t* set); -#define CPU_ZERO_S(setsize_,set_) \ - do { \ - size_t __nn = 0; \ - size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (set_)->__bits[__nn] = 0; \ - } while (0) - -#define CPU_SET_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ - } while (0) - -#define CPU_CLR_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ - } while (0) - -#define CPU_ISSET_S(cpu_, setsize_, set_) \ - (__extension__ ({ \ - size_t __cpu = (cpu_); \ - (__cpu < 8*(setsize_)) \ - ? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -#define CPU_EQUAL_S(setsize_, set1_, set2_) \ - (__extension__ ({ \ - __const __CPU_BITTYPE* __src1 = (set1_)->__bits; \ - __const __CPU_BITTYPE* __src2 = (set2_)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) { \ - if (__src1[__nn] != __src2[__nn]) \ - break; \ - } \ - __nn == __nn_max; \ - })) - -#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \ - do { \ - cpu_set_t* __dst = (dstset); \ - const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ - const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ - } while (0) - -#define CPU_COUNT_S(setsize_, set_) \ - __sched_cpucount((setsize_), (set_)) +#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize) + +#define CPU_SET_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ + } while (0) + +#define CPU_CLR_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ + } while (0) + +#define CPU_ISSET_S(cpu, setsize, set) \ + (__extension__ ({ \ + size_t __cpu = (cpu); \ + (__cpu < 8 * (setsize)) \ + ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ + : 0; \ + })) + +#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0) + +#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &) +#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |) +#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^) + +#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \ + do { \ + cpu_set_t* __dst = (dstset); \ + const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ + const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ + size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \ + for (; __nn < __nn_max; __nn++) \ + (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ + } while (0) + +#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set)) extern int __sched_cpucount(size_t setsize, cpu_set_t* set); diff --git a/9/platforms/android-19/arch-arm64/usr/include/semaphore.h b/9/platforms/android-19/arch-arm64/usr/include/semaphore.h index 30e3123..7ae3c3a 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/semaphore.h +++ b/9/platforms/android-19/arch-arm64/usr/include/semaphore.h @@ -33,10 +33,13 @@ __BEGIN_DECLS typedef struct { - volatile unsigned int count; + volatile unsigned int count; +#ifdef __LP64__ + int __reserved[3]; +#endif } sem_t; -#define SEM_FAILED NULL +#define SEM_FAILED NULL extern int sem_init(sem_t *sem, int pshared, unsigned int value); diff --git a/9/platforms/android-19/arch-arm64/usr/include/signal.h b/9/platforms/android-19/arch-arm64/usr/include/signal.h index 267f3e6..45c1cda 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/signal.h +++ b/9/platforms/android-19/arch-arm64/usr/include/signal.h @@ -60,6 +60,12 @@ typedef int sig_atomic_t; #define _NSIG (_KERNEL__NSIG + 1) #define NSIG _NSIG +/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */ +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) +extern int __libc_current_sigrtmin(void); +extern int __libc_current_sigrtmax(void); + extern const char* const sys_siglist[]; extern const char* const sys_signame[]; /* BSD compatibility. */ diff --git a/9/platforms/android-19/arch-arm64/usr/include/stdint.h b/9/platforms/android-19/arch-arm64/usr/include/stdint.h index 1f3d003..f34843c 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/stdint.h +++ b/9/platforms/android-19/arch-arm64/usr/include/stdint.h @@ -30,6 +30,7 @@ #define _STDINT_H #include +#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/9/platforms/android-19/arch-arm64/usr/include/stdlib.h b/9/platforms/android-19/arch-arm64/usr/include/stdlib.h index 2c797c5..834dcda 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/stdlib.h +++ b/9/platforms/android-19/arch-arm64/usr/include/stdlib.h @@ -46,10 +46,15 @@ extern __noreturn void exit(int); extern __noreturn void _Exit(int); extern int atexit(void (*)(void)); -extern char *getenv(const char *); -extern int putenv(const char *); -extern int setenv(const char *, const char *, int); -extern int unsetenv(const char *); +#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L +int at_quick_exit(void (*)(void)); +void quick_exit(int) __noreturn; +#endif + +extern char* getenv(const char*); +extern int putenv(char*); +extern int setenv(const char*, const char*, int); +extern int unsetenv(const char*); extern int clearenv(void); extern char* mkdtemp(char*); @@ -65,9 +70,10 @@ extern unsigned long long strtoull(const char *, char **, int); extern int posix_memalign(void **memptr, size_t alignment, size_t size); extern double atof(const char*); -extern double strtod(const char*, char**); -extern float strtof(const char*, char**); -extern long double strtold(const char*, char**); + +extern double strtod(const char*, char**) __LIBC_ABI_PUBLIC__; +extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__; +extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__; extern int atoi(const char*) __purefunc; extern long atol(const char*) __purefunc; diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h b/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h index bb846b7..0479230 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h +++ b/9/platforms/android-19/arch-arm64/usr/include/sys/cdefs_elf.h @@ -32,7 +32,7 @@ #ifdef __LEADING_UNDERSCORE #define _C_LABEL(x) __CONCAT(_,x) -#define _C_LABEL_STRING(x) "_"x +#define _C_LABEL_STRING(x) "_" x #else #define _C_LABEL(x) x #define _C_LABEL_STRING(x) x @@ -61,24 +61,11 @@ #define __SECTIONSTRING(_sec, _str) \ __asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous") -/* GCC visibility helper macro */ -/* This must be used to tag non-static functions that are private, i.e. - * never exposed by the shared library. */ -#define __LIBC_HIDDEN__ \ - __attribute__ ((visibility ("hidden"))) - -/* This must be used to tag non-static functions that are public, i.e. - * exposed by the shared library, and part of the stable NDK ABI */ -#define __LIBC_ABI_PUBLIC__ \ - __attribute__ ((visibility ("default"))) - -/* This must be used to tag non-static functions that must be exported - * by the shared library, but whose implementation is private to the - * platform. For now this is equivalent to __LIBC_ABI_PUBLIC__, but we - * may want to change this later. - */ -#define __LIBC_ABI_PRIVATE__ \ - __attribute__ ((visibility ("default"))) +/* Used to tag non-static symbols that are private and never exposed by the shared library. */ +#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) + +/* Used to tag non-static symbols that are public and exposed by the shared library. */ +#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) #define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s) diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h b/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h index c06a081..4a5a37c 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h +++ b/9/platforms/android-19/arch-arm64/usr/include/sys/epoll.h @@ -67,7 +67,11 @@ typedef union epoll_data { struct epoll_event { uint32_t events; epoll_data_t data; -}; +} +#ifdef __x86_64__ +__packed +#endif +; int epoll_create(int); int epoll_create1(int); diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/types.h b/9/platforms/android-19/arch-arm64/usr/include/sys/types.h index dc847d2..9a76ad2 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/sys/types.h +++ b/9/platforms/android-19/arch-arm64/usr/include/sys/types.h @@ -63,7 +63,7 @@ typedef __mode_t mode_t; typedef __kernel_key_t __key_t; typedef __key_t key_t; -typedef uint32_t __ino_t; +typedef __kernel_ino_t __ino_t; typedef __ino_t ino_t; typedef uint32_t __nlink_t; @@ -72,9 +72,10 @@ typedef __nlink_t nlink_t; typedef void* __timer_t; typedef __timer_t timer_t; -typedef int32_t __suseconds_t; +typedef __kernel_suseconds_t __suseconds_t; typedef __suseconds_t suseconds_t; +/* useconds_t is 32-bit on both LP32 and LP64. */ typedef uint32_t __useconds_t; typedef __useconds_t useconds_t; diff --git a/9/platforms/android-19/arch-arm64/usr/include/sys/user.h b/9/platforms/android-19/arch-arm64/usr/include/sys/user.h index 5348dd8..c578a6f 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/sys/user.h +++ b/9/platforms/android-19/arch-arm64/usr/include/sys/user.h @@ -36,7 +36,7 @@ __BEGIN_DECLS #if __i386__ -struct user_i387_struct { +struct user_fpregs_struct { long cwd; long swd; long twd; @@ -83,7 +83,7 @@ struct user_regs_struct { struct user { struct user_regs_struct regs; int u_fpvalid; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -92,7 +92,7 @@ struct user { long int signal; int reserved; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; int u_debugreg[8]; @@ -100,7 +100,7 @@ struct user { #elif defined(__x86_64__) -struct user_i387_struct { +struct user_fpregs_struct { unsigned short cwd; unsigned short swd; unsigned short twd; @@ -146,7 +146,7 @@ struct user { struct user_regs_struct regs; int u_fpvalid; int pad0; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -156,7 +156,7 @@ struct user { int reserved; int pad1; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; unsigned long u_debugreg[8]; diff --git a/9/platforms/android-19/arch-arm64/usr/include/time64.h b/9/platforms/android-19/arch-arm64/usr/include/time64.h index 7ec05af..905669d 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/time64.h +++ b/9/platforms/android-19/arch-arm64/usr/include/time64.h @@ -31,29 +31,36 @@ Modified for Bionic by the Android Open Source Project #ifndef TIME64_H #define TIME64_H +#if defined(__LP64__) + +#error Your time_t is already 64-bit. + +#else + +/* Legacy cruft for LP32 where time_t was 32-bit. */ + #include #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/9/platforms/android-19/arch-arm64/usr/include/unistd.h b/9/platforms/android-19/arch-arm64/usr/include/unistd.h index d21f23d..6cb36d8 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/unistd.h +++ b/9/platforms/android-19/arch-arm64/usr/include/unistd.h @@ -47,7 +47,8 @@ __BEGIN_DECLS #define SEEK_CUR 1 #define SEEK_END 2 -extern char **environ; +extern char** environ; + extern __noreturn void _exit(int); extern pid_t fork(void); diff --git a/9/platforms/android-19/arch-arm64/usr/include/utmp.h b/9/platforms/android-19/arch-arm64/usr/include/utmp.h index ffd3c92..d764227 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/utmp.h +++ b/9/platforms/android-19/arch-arm64/usr/include/utmp.h @@ -36,9 +36,15 @@ #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 +#ifdef __LP64__ +#define UT_NAMESIZE 32 +#define UT_LINESIZE 32 +#define UT_HOSTSIZE 256 +#else +#define UT_NAMESIZE 8 +#define UT_LINESIZE 8 +#define UT_HOSTSIZE 16 +#endif #define USER_PROCESS 7 diff --git a/9/platforms/android-19/arch-arm64/usr/include/wchar.h b/9/platforms/android-19/arch-arm64/usr/include/wchar.h index 89c6fb6..fe2fe07 100644 --- a/9/platforms/android-19/arch-arm64/usr/include/wchar.h +++ b/9/platforms/android-19/arch-arm64/usr/include/wchar.h @@ -34,12 +34,20 @@ #include #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); diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o index 03629d2..b8c3e04 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o and b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_dynamic.o differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o index ae913aa..93f4f91 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o and b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_so.o differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o index 03629d2..b8c3e04 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o and b/9/platforms/android-19/arch-arm64/usr/lib/crtbegin_static.o differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o b/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o index a8bbf0d..a5bf084 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o and b/9/platforms/android-19/arch-arm64/usr/lib/crtend_android.o differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o b/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o index 84a2f46..8330c9d 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o and b/9/platforms/android-19/arch-arm64/usr/lib/crtend_so.o differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so b/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so index 8d12e8f..1e15167 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so and b/9/platforms/android-19/arch-arm64/usr/lib/libEGL.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so index 69ee24d..c9fb7c9 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so and b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv1_CM.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so index 5ac6347..c153102 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so and b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv2.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so index b0ab4f6..e0c4fca 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so and b/9/platforms/android-19/arch-arm64/usr/lib/libGLESv3.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so b/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so index 40665c5..1339835 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so and b/9/platforms/android-19/arch-arm64/usr/lib/libOpenMAXAL.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so b/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so index 5b6d7e3..a7f2935 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so and b/9/platforms/android-19/arch-arm64/usr/lib/libOpenSLES.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so b/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so index 3a78f16..ebba01d 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so and b/9/platforms/android-19/arch-arm64/usr/lib/libandroid.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libc.a b/9/platforms/android-19/arch-arm64/usr/lib/libc.a index 244f178..737b48d 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libc.a and b/9/platforms/android-19/arch-arm64/usr/lib/libc.a differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libc.so b/9/platforms/android-19/arch-arm64/usr/lib/libc.so index 7041545..3dadbfc 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libc.so and b/9/platforms/android-19/arch-arm64/usr/lib/libc.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libdl.so b/9/platforms/android-19/arch-arm64/usr/lib/libdl.so index 6aed7c1..364775d 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libdl.so and b/9/platforms/android-19/arch-arm64/usr/lib/libdl.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so b/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so index 4c47cb4..37268de 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so and b/9/platforms/android-19/arch-arm64/usr/lib/libjnigraphics.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/liblog.so b/9/platforms/android-19/arch-arm64/usr/lib/liblog.so index 11aafff..214ee45 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/liblog.so and b/9/platforms/android-19/arch-arm64/usr/lib/liblog.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libm.a b/9/platforms/android-19/arch-arm64/usr/lib/libm.a index 1ef1f14..2c5d4f8 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libm.a and b/9/platforms/android-19/arch-arm64/usr/lib/libm.a differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libm.so b/9/platforms/android-19/arch-arm64/usr/lib/libm.so index c9a409a..a63d39a 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libm.so and b/9/platforms/android-19/arch-arm64/usr/lib/libm.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a index c60c482..35b02d5 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a and b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.a differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so index 4bcbe9b..1fafc4b 100755 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so and b/9/platforms/android-19/arch-arm64/usr/lib/libstdc++.so differ diff --git a/9/platforms/android-19/arch-arm64/usr/lib/libz.a b/9/platforms/android-19/arch-arm64/usr/lib/libz.a index 616d6fd..c6b60b0 100644 Binary files a/9/platforms/android-19/arch-arm64/usr/lib/libz.a and b/9/platforms/android-19/arch-arm64/usr/lib/libz.a differ diff --git a/9/platforms/android-19/arch-mips64/usr/include/android/dlext.h b/9/platforms/android-19/arch-mips64/usr/include/android/dlext.h new file mode 100644 index 0000000..90962fa --- /dev/null +++ b/9/platforms/android-19/arch-mips64/usr/include/android/dlext.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __ANDROID_DLEXT_H__ +#define __ANDROID_DLEXT_H__ + +#include +#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/9/platforms/android-19/arch-mips64/usr/include/asm-generic/signal.h b/9/platforms/android-19/arch-mips64/usr/include/asm-generic/signal.h index fe7d9a0..e103240 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/asm-generic/signal.h +++ b/9/platforms/android-19/arch-mips64/usr/include/asm-generic/signal.h @@ -66,9 +66,9 @@ #define SIGSYS 31 #define SIGUNUSED 31 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#ifndef SIGRTMAX -#define SIGRTMAX _KERNEL__NSIG +#define __SIGRTMIN 32 +#ifndef __SIGRTMAX +#define __SIGRTMAX _KERNEL__NSIG #endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SA_NOCLDSTOP 0x00000001 diff --git a/9/platforms/android-19/arch-mips64/usr/include/asm/siginfo.h b/9/platforms/android-19/arch-mips64/usr/include/asm/siginfo.h index 45b418a..5397c62 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/asm/siginfo.h +++ b/9/platforms/android-19/arch-mips64/usr/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/9/platforms/android-19/arch-mips64/usr/include/asm/signal.h b/9/platforms/android-19/arch-mips64/usr/include/asm/signal.h index 53f5015..b774a66 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/asm/signal.h +++ b/9/platforms/android-19/arch-mips64/usr/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/9/platforms/android-19/arch-mips64/usr/include/ctype.h b/9/platforms/android-19/arch-mips64/usr/include/ctype.h index 5557e31..7edd8cc 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/ctype.h +++ b/9/platforms/android-19/arch-mips64/usr/include/ctype.h @@ -44,12 +44,16 @@ #define _CTYPE_U 0x01 #define _CTYPE_L 0x02 -#define _CTYPE_N 0x04 +#define _CTYPE_D 0x04 #define _CTYPE_S 0x08 #define _CTYPE_P 0x10 #define _CTYPE_C 0x20 #define _CTYPE_X 0x40 #define _CTYPE_B 0x80 +#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B) +#define _CTYPE_A (_CTYPE_L|_CTYPE_U) + +#define _CTYPE_N _CTYPE_D __BEGIN_DECLS @@ -57,17 +61,6 @@ extern const char *_ctype_; extern const short *_tolower_tab_; extern const short *_toupper_tab_; -/* extern __inline is a GNU C extension */ -#ifdef __GNUC__ -# if defined(__GNUC_STDC_INLINE__) -#define __CTYPE_INLINE extern __inline __attribute__((__gnu_inline__)) -# else -#define __CTYPE_INLINE extern __inline -# endif -#else -#define __CTYPE_INLINE static __inline -#endif - #if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint) int isalnum(int); int isalpha(int); @@ -97,111 +90,6 @@ int _toupper(int); #endif /* __GNUC__ || _ANSI_LIBRARY || lint */ -#if defined(NDEBUG) - -__CTYPE_INLINE int isalnum(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int isalpha(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L))); -} - -__CTYPE_INLINE int iscntrl(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_C)); -} - -__CTYPE_INLINE int isdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_N)); -} - -__CTYPE_INLINE int isgraph(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int islower(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_L)); -} - -__CTYPE_INLINE int isprint(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B))); -} - -__CTYPE_INLINE int ispunct(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_P)); -} - -__CTYPE_INLINE int isspace(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_S)); -} - -__CTYPE_INLINE int isupper(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_U)); -} - -__CTYPE_INLINE int isxdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_N|_CTYPE_X))); -} - -__CTYPE_INLINE int tolower(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_tolower_tab_ + 1)[c]); -} - -__CTYPE_INLINE int toupper(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_toupper_tab_ + 1)[c]); -} - -#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \ - || __XPG_VISIBLE > 600 -__CTYPE_INLINE int isblank(int c) -{ - return (c == ' ' || c == '\t'); -} -#endif - -#if __BSD_VISIBLE || __XPG_VISIBLE -__CTYPE_INLINE int isascii(int c) -{ - return ((unsigned int)c <= 0177); -} - -__CTYPE_INLINE int toascii(int c) -{ - return (c & 0177); -} - -__CTYPE_INLINE int _tolower(int c) -{ - return (c - 'A' + 'a'); -} - -__CTYPE_INLINE int _toupper(int c) -{ - return (c - 'a' + 'A'); -} -#endif /* __BSD_VISIBLE || __XPG_VISIBLE */ - -#endif /* NDEBUG */ - __END_DECLS -#undef __CTYPE_INLINE - #endif /* !_CTYPE_H_ */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/inttypes.h b/9/platforms/android-19/arch-mips64/usr/include/inttypes.h index 2fd2415..8853c08 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/inttypes.h +++ b/9/platforms/android-19/arch-mips64/usr/include/inttypes.h @@ -254,16 +254,14 @@ typedef struct { } imaxdiv_t; __BEGIN_DECLS - intmax_t imaxabs(intmax_t) __pure2; imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2; - intmax_t strtoimax(const char *, char **, int); uintmax_t strtoumax(const char *, char **, int); - -intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n); -uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n); - +intmax_t wcstoimax(const wchar_t * __restrict, + wchar_t ** __restrict, int); +uintmax_t wcstoumax(const wchar_t * __restrict, + wchar_t ** __restrict, int); __END_DECLS #endif /* _INTTYPES_H_ */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/limits.h b/9/platforms/android-19/arch-mips64/usr/include/limits.h index a70021a..dc45902 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/limits.h +++ b/9/platforms/android-19/arch-mips64/usr/include/limits.h @@ -112,7 +112,7 @@ #define SSIZE_MAX LONG_MAX -#define MB_LEN_MAX 1 /* No multibyte characters. */ +#define MB_LEN_MAX 6 /* New code should use sysconf(_SC_PAGE_SIZE) instead. */ #ifndef PAGE_SIZE diff --git a/9/platforms/android-19/arch-mips64/usr/include/linux/prctl.h b/9/platforms/android-19/arch-mips64/usr/include/linux/prctl.h index 87c7e2f..baa597e 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/linux/prctl.h +++ b/9/platforms/android-19/arch-mips64/usr/include/linux/prctl.h @@ -117,7 +117,8 @@ #define PR_GET_NO_NEW_PRIVS 39 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PR_GET_TID_ADDRESS 40 +#define PR_SET_TIMERSLACK_PID 41 #define PR_SET_VMA 0x53564d41 #define PR_SET_VMA_ANON_NAME 0 -#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/9/platforms/android-19/arch-mips64/usr/include/locale.h b/9/platforms/android-19/arch-mips64/usr/include/locale.h index 6989851..7fd8c2c 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/locale.h +++ b/9/platforms/android-19/arch-mips64/usr/include/locale.h @@ -33,21 +33,19 @@ __BEGIN_DECLS -enum { - LC_CTYPE = 0, - LC_NUMERIC = 1, - LC_TIME = 2, - LC_COLLATE = 3, - LC_MONETARY = 4, - LC_MESSAGES = 5, - LC_ALL = 6, - LC_PAPER = 7, - LC_NAME = 8, - LC_ADDRESS = 9, - LC_TELEPHONE = 10, - LC_MEASUREMENT = 11, - LC_IDENTIFICATION = 12 -}; +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 +#define LC_PAPER 7 +#define LC_NAME 8 +#define LC_ADDRESS 9 +#define LC_TELEPHONE 10 +#define LC_MEASUREMENT 11 +#define LC_IDENTIFICATION 12 #define LC_CTYPE_MASK (1 << LC_CTYPE) #define LC_NUMERIC_MASK (1 << LC_NUMERIC) diff --git a/9/platforms/android-19/arch-mips64/usr/include/machine/ieee.h b/9/platforms/android-19/arch-mips64/usr/include/machine/ieee.h index 520a77b..c579969 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/machine/ieee.h +++ b/9/platforms/android-19/arch-mips64/usr/include/machine/ieee.h @@ -1,4 +1,5 @@ -/* $OpenBSD: ieee.h,v 1.4 2010/01/23 19:11:21 miod Exp $ */ +/* $OpenBSD: ieee.h,v 1.4 2011/11/08 17:06:51 deraadt Exp $ */ +/* $NetBSD: ieee.h,v 1.2 2001/02/21 17:43:50 bjh21 Exp $ */ /* * Copyright (c) 1992, 1993 @@ -21,7 +22,11 @@ * 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 + * 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. * @@ -40,130 +45,74 @@ * @(#)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. - */ +#ifndef _MACHINE_IEEE_H_ +#define _MACHINE_IEEE_H_ -/* - * 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) +#include + +__BEGIN_DECLS + +#define SNG_EXPBITS 8 +#define SNG_FRACBITS 23 + +#define SNG_EXP_INFNAN 255 +#define SNG_EXP_BIAS 127 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 + 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 { -#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 + 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 { -#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 + unsigned ext_fracl; + unsigned ext_fraclm; + unsigned ext_frachm; + unsigned ext_frach:16; + unsigned ext_exp:15; + unsigned ext_sign:1; }; -/* - * 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 +__END_DECLS + +#endif /* _MACHINE_IEEE_H_ */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/machine/wchar_limits.h b/9/platforms/android-19/arch-mips64/usr/include/machine/wchar_limits.h new file mode 100644 index 0000000..94cbd7e --- /dev/null +++ b/9/platforms/android-19/arch-mips64/usr/include/machine/wchar_limits.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _MACHINE_WCHAR_LIMITS_H_ +#define _MACHINE_WCHAR_LIMITS_H_ + +/* Both GCC and clang define __WCHAR_MAX__. */ +#define WCHAR_MAX __WCHAR_MAX__ + +/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */ +#if defined(__WCHAR_UNSIGNED__) +# define WCHAR_MIN L'\0' +#else +# define WCHAR_MIN (-(WCHAR_MAX) - 1) +#endif + +#endif /* _MACHINE_WCHAR_LIMITS_H_ */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/math.h b/9/platforms/android-19/arch-mips64/usr/include/math.h index bd0241b..c264583 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/math.h +++ b/9/platforms/android-19/arch-mips64/usr/include/math.h @@ -396,16 +396,23 @@ float significandf(float); * long double versions of ISO/POSIX math functions */ #if __ISO_C_VISIBLE >= 1999 +long double acoshl(long double); long double acosl(long double); +long double asinhl(long double); long double asinl(long double); long double atan2l(long double, long double); +long double atanhl(long double); long double atanl(long double); long double cbrtl(long double); long double ceill(long double); long double copysignl(long double, long double) __pure2; +long double coshl(long double); long double cosl(long double); +long double erfcl(long double); +long double erfl(long double); long double exp2l(long double); long double expl(long double); +long double expm1l(long double); long double fabsl(long double) __pure2; long double fdiml(long double, long double); long double floorl(long double); @@ -417,9 +424,14 @@ long double frexpl(long double value, int *); /* fundamentally !__pure2 */ long double hypotl(long double, long double); int ilogbl(long double) __pure2; long double ldexpl(long double, int); +long double lgammal(long double); long long llrintl(long double); long long llroundl(long double); +long double log10l(long double); +long double log1pl(long double); +long double log2l(long double); long double logbl(long double); +long double logl(long double); long lrintl(long double); long lroundl(long double); long double modfl(long double, long double *); /* fundamentally !__pure2 */ @@ -429,53 +441,29 @@ long double nextafterl(long double, long double); double nexttoward(double, long double); float nexttowardf(float, long double); long double nexttowardl(long double, long double); +long double powl(long double, long double); long double remainderl(long double, long double); long double remquol(long double, long double, int *); long double rintl(long double); long double roundl(long double); long double scalblnl(long double, long); long double scalbnl(long double, int); +long double sinhl(long double); long double sinl(long double); long double sqrtl(long double); +long double tanhl(long double); long double tanl(long double); +long double tgammal(long double); long double truncl(long double); #endif /* __ISO_C_VISIBLE >= 1999 */ -__END_DECLS - -#endif /* !_MATH_H_ */ - -/* separate header for cmath */ -#ifndef _MATH_EXTRA_H_ -#if __ISO_C_VISIBLE >= 1999 -#if _DECLARE_C99_LDBL_MATH - -#define _MATH_EXTRA_H_ -/* - * extra long double versions of math functions for C99 and cmath - */ -__BEGIN_DECLS - -long double acoshl(long double); -long double asinhl(long double); -long double atanhl(long double); -long double coshl(long double); -long double erfcl(long double); -long double erfl(long double); -long double expm1l(long double); -long double lgammal(long double); -long double log10l(long double); -long double log1pl(long double); -long double log2l(long double); -long double logl(long double); -long double powl(long double, long double); -long double sinhl(long double); -long double tanhl(long double); -long double tgammal(long double); +#if defined(_GNU_SOURCE) +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); +#endif /* _GNU_SOURCE */ __END_DECLS -#endif /* !_DECLARE_C99_LDBL_MATH */ -#endif /* __ISO_C_VISIBLE >= 1999 */ -#endif /* !_MATH_EXTRA_H_ */ +#endif /* !_MATH_H_ */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/pthread.h b/9/platforms/android-19/arch-mips64/usr/include/pthread.h index f93f9e9..7b8de81 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/pthread.h +++ b/9/platforms/android-19/arch-mips64/usr/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/9/platforms/android-19/arch-mips64/usr/include/sched.h b/9/platforms/android-19/arch-mips64/usr/include/sched.h index 7649e83..68115bb 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/sched.h +++ b/9/platforms/android-19/arch-mips64/usr/include/sched.h @@ -59,151 +59,90 @@ extern int unshare(int); extern int sched_getcpu(void); extern int setns(int, int); -/* Our implementation supports up to 32 independent CPUs, which is also - * the maximum supported by the kernel at the moment. GLibc uses 1024 by - * default. - * - * If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE() - * and the CPU_XXX_S() macro variants. - */ -#define CPU_SETSIZE 32 +#ifdef __LP32__ +#define CPU_SETSIZE 32 +#else +#define CPU_SETSIZE 1024 +#endif -#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ -#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */ -#define __CPU_BITS (1 << __CPU_BITSHIFT) -#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT) -#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1))) +#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ +#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE)) +#define __CPU_ELT(x) ((x) / __CPU_BITS) +#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1))) typedef struct { - __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; + __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; } cpu_set_t; extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set); extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set); -/* Provide optimized implementation for 32-bit cpu_set_t */ -#if CPU_SETSIZE == __CPU_BITS - -# define CPU_ZERO(set_) \ - do{ \ - (set_)->__bits[0] = 0; \ - }while(0) - -# define CPU_SET(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] |= __CPU_MASK(__cpu); \ - }while (0) - -# define CPU_CLR(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] &= ~__CPU_MASK(__cpu); \ - }while (0) - -# define CPU_ISSET(cpu_, set_) \ - (__extension__({\ - size_t __cpu = (cpu_); \ - (cpu_ < CPU_SETSIZE) \ - ? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -# define CPU_EQUAL(set1_, set2_) \ - ((set1_)->__bits[0] == (set2_)->__bits[0]) - -# define __CPU_OP(dst_, set1_, set2_, op_) \ - do { \ - (dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \ - } while (0) - -# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0]) - -#else /* CPU_SETSIZE != __CPU_BITS */ - -# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_) -# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_) -# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_) - -# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_) +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) +#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) +#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) +#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2) -#endif /* CPU_SETSIZE != __CPU_BITS */ +#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &) +#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |) +#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^) -#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&) -#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|) -#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^) +#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op) /* Support for dynamically-allocated cpu_set_t */ #define CPU_ALLOC_SIZE(count) \ - __CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE) + __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE) -#define CPU_ALLOC(count) __sched_cpualloc((count)); -#define CPU_FREE(set) __sched_cpufree((set)) +#define CPU_ALLOC(count) __sched_cpualloc((count)) +#define CPU_FREE(set) __sched_cpufree((set)) extern cpu_set_t* __sched_cpualloc(size_t count); extern void __sched_cpufree(cpu_set_t* set); -#define CPU_ZERO_S(setsize_,set_) \ - do { \ - size_t __nn = 0; \ - size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (set_)->__bits[__nn] = 0; \ - } while (0) - -#define CPU_SET_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ - } while (0) - -#define CPU_CLR_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ - } while (0) - -#define CPU_ISSET_S(cpu_, setsize_, set_) \ - (__extension__ ({ \ - size_t __cpu = (cpu_); \ - (__cpu < 8*(setsize_)) \ - ? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -#define CPU_EQUAL_S(setsize_, set1_, set2_) \ - (__extension__ ({ \ - __const __CPU_BITTYPE* __src1 = (set1_)->__bits; \ - __const __CPU_BITTYPE* __src2 = (set2_)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) { \ - if (__src1[__nn] != __src2[__nn]) \ - break; \ - } \ - __nn == __nn_max; \ - })) - -#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \ - do { \ - cpu_set_t* __dst = (dstset); \ - const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ - const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ - } while (0) - -#define CPU_COUNT_S(setsize_, set_) \ - __sched_cpucount((setsize_), (set_)) +#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize) + +#define CPU_SET_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ + } while (0) + +#define CPU_CLR_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ + } while (0) + +#define CPU_ISSET_S(cpu, setsize, set) \ + (__extension__ ({ \ + size_t __cpu = (cpu); \ + (__cpu < 8 * (setsize)) \ + ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ + : 0; \ + })) + +#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0) + +#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &) +#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |) +#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^) + +#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \ + do { \ + cpu_set_t* __dst = (dstset); \ + const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ + const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ + size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \ + for (; __nn < __nn_max; __nn++) \ + (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ + } while (0) + +#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set)) extern int __sched_cpucount(size_t setsize, cpu_set_t* set); diff --git a/9/platforms/android-19/arch-mips64/usr/include/semaphore.h b/9/platforms/android-19/arch-mips64/usr/include/semaphore.h index 30e3123..7ae3c3a 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/semaphore.h +++ b/9/platforms/android-19/arch-mips64/usr/include/semaphore.h @@ -33,10 +33,13 @@ __BEGIN_DECLS typedef struct { - volatile unsigned int count; + volatile unsigned int count; +#ifdef __LP64__ + int __reserved[3]; +#endif } sem_t; -#define SEM_FAILED NULL +#define SEM_FAILED NULL extern int sem_init(sem_t *sem, int pshared, unsigned int value); diff --git a/9/platforms/android-19/arch-mips64/usr/include/signal.h b/9/platforms/android-19/arch-mips64/usr/include/signal.h index 267f3e6..45c1cda 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/signal.h +++ b/9/platforms/android-19/arch-mips64/usr/include/signal.h @@ -60,6 +60,12 @@ typedef int sig_atomic_t; #define _NSIG (_KERNEL__NSIG + 1) #define NSIG _NSIG +/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */ +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) +extern int __libc_current_sigrtmin(void); +extern int __libc_current_sigrtmax(void); + extern const char* const sys_siglist[]; extern const char* const sys_signame[]; /* BSD compatibility. */ diff --git a/9/platforms/android-19/arch-mips64/usr/include/stdint.h b/9/platforms/android-19/arch-mips64/usr/include/stdint.h index 1f3d003..f34843c 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/stdint.h +++ b/9/platforms/android-19/arch-mips64/usr/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/9/platforms/android-19/arch-mips64/usr/include/stdlib.h b/9/platforms/android-19/arch-mips64/usr/include/stdlib.h index 2c797c5..834dcda 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/stdlib.h +++ b/9/platforms/android-19/arch-mips64/usr/include/stdlib.h @@ -46,10 +46,15 @@ extern __noreturn void exit(int); extern __noreturn void _Exit(int); extern int atexit(void (*)(void)); -extern char *getenv(const char *); -extern int putenv(const char *); -extern int setenv(const char *, const char *, int); -extern int unsetenv(const char *); +#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L +int at_quick_exit(void (*)(void)); +void quick_exit(int) __noreturn; +#endif + +extern char* getenv(const char*); +extern int putenv(char*); +extern int setenv(const char*, const char*, int); +extern int unsetenv(const char*); extern int clearenv(void); extern char* mkdtemp(char*); @@ -65,9 +70,10 @@ extern unsigned long long strtoull(const char *, char **, int); extern int posix_memalign(void **memptr, size_t alignment, size_t size); extern double atof(const char*); -extern double strtod(const char*, char**); -extern float strtof(const char*, char**); -extern long double strtold(const char*, char**); + +extern double strtod(const char*, char**) __LIBC_ABI_PUBLIC__; +extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__; +extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__; extern int atoi(const char*) __purefunc; extern long atol(const char*) __purefunc; diff --git a/9/platforms/android-19/arch-mips64/usr/include/sys/cdefs_elf.h b/9/platforms/android-19/arch-mips64/usr/include/sys/cdefs_elf.h index bb846b7..0479230 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/sys/cdefs_elf.h +++ b/9/platforms/android-19/arch-mips64/usr/include/sys/cdefs_elf.h @@ -32,7 +32,7 @@ #ifdef __LEADING_UNDERSCORE #define _C_LABEL(x) __CONCAT(_,x) -#define _C_LABEL_STRING(x) "_"x +#define _C_LABEL_STRING(x) "_" x #else #define _C_LABEL(x) x #define _C_LABEL_STRING(x) x @@ -61,24 +61,11 @@ #define __SECTIONSTRING(_sec, _str) \ __asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous") -/* GCC visibility helper macro */ -/* This must be used to tag non-static functions that are private, i.e. - * never exposed by the shared library. */ -#define __LIBC_HIDDEN__ \ - __attribute__ ((visibility ("hidden"))) - -/* This must be used to tag non-static functions that are public, i.e. - * exposed by the shared library, and part of the stable NDK ABI */ -#define __LIBC_ABI_PUBLIC__ \ - __attribute__ ((visibility ("default"))) - -/* This must be used to tag non-static functions that must be exported - * by the shared library, but whose implementation is private to the - * platform. For now this is equivalent to __LIBC_ABI_PUBLIC__, but we - * may want to change this later. - */ -#define __LIBC_ABI_PRIVATE__ \ - __attribute__ ((visibility ("default"))) +/* Used to tag non-static symbols that are private and never exposed by the shared library. */ +#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) + +/* Used to tag non-static symbols that are public and exposed by the shared library. */ +#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) #define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s) diff --git a/9/platforms/android-19/arch-mips64/usr/include/sys/epoll.h b/9/platforms/android-19/arch-mips64/usr/include/sys/epoll.h index c06a081..4a5a37c 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/sys/epoll.h +++ b/9/platforms/android-19/arch-mips64/usr/include/sys/epoll.h @@ -67,7 +67,11 @@ typedef union epoll_data { struct epoll_event { uint32_t events; epoll_data_t data; -}; +} +#ifdef __x86_64__ +__packed +#endif +; int epoll_create(int); int epoll_create1(int); diff --git a/9/platforms/android-19/arch-mips64/usr/include/sys/types.h b/9/platforms/android-19/arch-mips64/usr/include/sys/types.h index dc847d2..9a76ad2 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/sys/types.h +++ b/9/platforms/android-19/arch-mips64/usr/include/sys/types.h @@ -63,7 +63,7 @@ typedef __mode_t mode_t; typedef __kernel_key_t __key_t; typedef __key_t key_t; -typedef uint32_t __ino_t; +typedef __kernel_ino_t __ino_t; typedef __ino_t ino_t; typedef uint32_t __nlink_t; @@ -72,9 +72,10 @@ typedef __nlink_t nlink_t; typedef void* __timer_t; typedef __timer_t timer_t; -typedef int32_t __suseconds_t; +typedef __kernel_suseconds_t __suseconds_t; typedef __suseconds_t suseconds_t; +/* useconds_t is 32-bit on both LP32 and LP64. */ typedef uint32_t __useconds_t; typedef __useconds_t useconds_t; diff --git a/9/platforms/android-19/arch-mips64/usr/include/sys/user.h b/9/platforms/android-19/arch-mips64/usr/include/sys/user.h index 5348dd8..c578a6f 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/sys/user.h +++ b/9/platforms/android-19/arch-mips64/usr/include/sys/user.h @@ -36,7 +36,7 @@ __BEGIN_DECLS #if __i386__ -struct user_i387_struct { +struct user_fpregs_struct { long cwd; long swd; long twd; @@ -83,7 +83,7 @@ struct user_regs_struct { struct user { struct user_regs_struct regs; int u_fpvalid; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -92,7 +92,7 @@ struct user { long int signal; int reserved; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; int u_debugreg[8]; @@ -100,7 +100,7 @@ struct user { #elif defined(__x86_64__) -struct user_i387_struct { +struct user_fpregs_struct { unsigned short cwd; unsigned short swd; unsigned short twd; @@ -146,7 +146,7 @@ struct user { struct user_regs_struct regs; int u_fpvalid; int pad0; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -156,7 +156,7 @@ struct user { int reserved; int pad1; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; unsigned long u_debugreg[8]; diff --git a/9/platforms/android-19/arch-mips64/usr/include/time64.h b/9/platforms/android-19/arch-mips64/usr/include/time64.h index 7ec05af..905669d 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/time64.h +++ b/9/platforms/android-19/arch-mips64/usr/include/time64.h @@ -31,29 +31,36 @@ Modified for Bionic by the Android Open Source Project #ifndef TIME64_H #define TIME64_H +#if defined(__LP64__) + +#error Your time_t is already 64-bit. + +#else + +/* Legacy cruft for LP32 where time_t was 32-bit. */ + #include #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/9/platforms/android-19/arch-mips64/usr/include/unistd.h b/9/platforms/android-19/arch-mips64/usr/include/unistd.h index d21f23d..6cb36d8 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/unistd.h +++ b/9/platforms/android-19/arch-mips64/usr/include/unistd.h @@ -47,7 +47,8 @@ __BEGIN_DECLS #define SEEK_CUR 1 #define SEEK_END 2 -extern char **environ; +extern char** environ; + extern __noreturn void _exit(int); extern pid_t fork(void); diff --git a/9/platforms/android-19/arch-mips64/usr/include/utmp.h b/9/platforms/android-19/arch-mips64/usr/include/utmp.h index ffd3c92..d764227 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/utmp.h +++ b/9/platforms/android-19/arch-mips64/usr/include/utmp.h @@ -36,9 +36,15 @@ #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 +#ifdef __LP64__ +#define UT_NAMESIZE 32 +#define UT_LINESIZE 32 +#define UT_HOSTSIZE 256 +#else +#define UT_NAMESIZE 8 +#define UT_LINESIZE 8 +#define UT_HOSTSIZE 16 +#endif #define USER_PROCESS 7 diff --git a/9/platforms/android-19/arch-mips64/usr/include/wchar.h b/9/platforms/android-19/arch-mips64/usr/include/wchar.h index 89c6fb6..fe2fe07 100644 --- a/9/platforms/android-19/arch-mips64/usr/include/wchar.h +++ b/9/platforms/android-19/arch-mips64/usr/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); diff --git a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_dynamic.o b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_dynamic.o index 9beaa1e..50fae0e 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_dynamic.o and b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_dynamic.o differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_so.o b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_so.o index db3db62..2ceaeaf 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_so.o and b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_so.o differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_static.o b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_static.o index 9beaa1e..50fae0e 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_static.o and b/9/platforms/android-19/arch-mips64/usr/lib/crtbegin_static.o differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/crtend_android.o b/9/platforms/android-19/arch-mips64/usr/lib/crtend_android.o index e0df8d0..b0f2ebe 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/crtend_android.o and b/9/platforms/android-19/arch-mips64/usr/lib/crtend_android.o differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/crtend_so.o b/9/platforms/android-19/arch-mips64/usr/lib/crtend_so.o index 5ddfa34..df274e5 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/crtend_so.o and b/9/platforms/android-19/arch-mips64/usr/lib/crtend_so.o differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libEGL.so b/9/platforms/android-19/arch-mips64/usr/lib/libEGL.so index c84ca24..06ec580 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libEGL.so and b/9/platforms/android-19/arch-mips64/usr/lib/libEGL.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv1_CM.so b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv1_CM.so index 5d63aeb..a1dc42e 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv1_CM.so and b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv1_CM.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv2.so b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv2.so index e4ee672..6abacf1 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv2.so and b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv2.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv3.so b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv3.so index 38f7f60..412d028 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libGLESv3.so and b/9/platforms/android-19/arch-mips64/usr/lib/libGLESv3.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libOpenMAXAL.so b/9/platforms/android-19/arch-mips64/usr/lib/libOpenMAXAL.so index e4da56c..744cc99 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libOpenMAXAL.so and b/9/platforms/android-19/arch-mips64/usr/lib/libOpenMAXAL.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libOpenSLES.so b/9/platforms/android-19/arch-mips64/usr/lib/libOpenSLES.so index f6fb5f6..0a9e081 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libOpenSLES.so and b/9/platforms/android-19/arch-mips64/usr/lib/libOpenSLES.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libandroid.so b/9/platforms/android-19/arch-mips64/usr/lib/libandroid.so index e2327b3..86c2273 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libandroid.so and b/9/platforms/android-19/arch-mips64/usr/lib/libandroid.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libc.a b/9/platforms/android-19/arch-mips64/usr/lib/libc.a index 09b2558..277ae8d 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libc.a and b/9/platforms/android-19/arch-mips64/usr/lib/libc.a differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libc.so b/9/platforms/android-19/arch-mips64/usr/lib/libc.so index 11d6438..a84fc91 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libc.so and b/9/platforms/android-19/arch-mips64/usr/lib/libc.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libdl.so b/9/platforms/android-19/arch-mips64/usr/lib/libdl.so index d6240b3..b364515 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libdl.so and b/9/platforms/android-19/arch-mips64/usr/lib/libdl.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libjnigraphics.so b/9/platforms/android-19/arch-mips64/usr/lib/libjnigraphics.so index 382f792..0e05f4d 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libjnigraphics.so and b/9/platforms/android-19/arch-mips64/usr/lib/libjnigraphics.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/liblog.so b/9/platforms/android-19/arch-mips64/usr/lib/liblog.so index 617f50f..30af96a 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/liblog.so and b/9/platforms/android-19/arch-mips64/usr/lib/liblog.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libm.a b/9/platforms/android-19/arch-mips64/usr/lib/libm.a index ae9dc4e..e2bd16d 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libm.a and b/9/platforms/android-19/arch-mips64/usr/lib/libm.a differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libm.so b/9/platforms/android-19/arch-mips64/usr/lib/libm.so index c5b97ea..2e8d062 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libm.so and b/9/platforms/android-19/arch-mips64/usr/lib/libm.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.a b/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.a index 63df4a8..e1df123 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.a and b/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.a differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.so b/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.so index 802e808..bb3fbde 100755 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.so and b/9/platforms/android-19/arch-mips64/usr/lib/libstdc++.so differ diff --git a/9/platforms/android-19/arch-mips64/usr/lib/libz.a b/9/platforms/android-19/arch-mips64/usr/lib/libz.a index 712b818..7363542 100644 Binary files a/9/platforms/android-19/arch-mips64/usr/lib/libz.a and b/9/platforms/android-19/arch-mips64/usr/lib/libz.a differ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/android/dlext.h b/9/platforms/android-19/arch-x86_64/usr/include/android/dlext.h new file mode 100644 index 0000000..90962fa --- /dev/null +++ b/9/platforms/android-19/arch-x86_64/usr/include/android/dlext.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __ANDROID_DLEXT_H__ +#define __ANDROID_DLEXT_H__ + +#include +#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/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/signal.h b/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/signal.h index fe7d9a0..e103240 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/signal.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/asm-generic/signal.h @@ -66,9 +66,9 @@ #define SIGSYS 31 #define SIGUNUSED 31 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ -#define SIGRTMIN 32 -#ifndef SIGRTMAX -#define SIGRTMAX _KERNEL__NSIG +#define __SIGRTMIN 32 +#ifndef __SIGRTMAX +#define __SIGRTMAX _KERNEL__NSIG #endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SA_NOCLDSTOP 0x00000001 diff --git a/9/platforms/android-19/arch-x86_64/usr/include/asm/signal.h b/9/platforms/android-19/arch-x86_64/usr/include/asm/signal.h index 6f5b435..308c7a9 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/asm/signal.h +++ b/9/platforms/android-19/arch-x86_64/usr/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/9/platforms/android-19/arch-x86_64/usr/include/ctype.h b/9/platforms/android-19/arch-x86_64/usr/include/ctype.h index 5557e31..7edd8cc 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/ctype.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/ctype.h @@ -44,12 +44,16 @@ #define _CTYPE_U 0x01 #define _CTYPE_L 0x02 -#define _CTYPE_N 0x04 +#define _CTYPE_D 0x04 #define _CTYPE_S 0x08 #define _CTYPE_P 0x10 #define _CTYPE_C 0x20 #define _CTYPE_X 0x40 #define _CTYPE_B 0x80 +#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B) +#define _CTYPE_A (_CTYPE_L|_CTYPE_U) + +#define _CTYPE_N _CTYPE_D __BEGIN_DECLS @@ -57,17 +61,6 @@ extern const char *_ctype_; extern const short *_tolower_tab_; extern const short *_toupper_tab_; -/* extern __inline is a GNU C extension */ -#ifdef __GNUC__ -# if defined(__GNUC_STDC_INLINE__) -#define __CTYPE_INLINE extern __inline __attribute__((__gnu_inline__)) -# else -#define __CTYPE_INLINE extern __inline -# endif -#else -#define __CTYPE_INLINE static __inline -#endif - #if defined(__GNUC__) || defined(_ANSI_LIBRARY) || defined(lint) int isalnum(int); int isalpha(int); @@ -97,111 +90,6 @@ int _toupper(int); #endif /* __GNUC__ || _ANSI_LIBRARY || lint */ -#if defined(NDEBUG) - -__CTYPE_INLINE int isalnum(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int isalpha(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_U|_CTYPE_L))); -} - -__CTYPE_INLINE int iscntrl(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_C)); -} - -__CTYPE_INLINE int isdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_N)); -} - -__CTYPE_INLINE int isgraph(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N))); -} - -__CTYPE_INLINE int islower(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_L)); -} - -__CTYPE_INLINE int isprint(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B))); -} - -__CTYPE_INLINE int ispunct(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_P)); -} - -__CTYPE_INLINE int isspace(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_S)); -} - -__CTYPE_INLINE int isupper(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & _CTYPE_U)); -} - -__CTYPE_INLINE int isxdigit(int c) -{ - return (c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)c] & (_CTYPE_N|_CTYPE_X))); -} - -__CTYPE_INLINE int tolower(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_tolower_tab_ + 1)[c]); -} - -__CTYPE_INLINE int toupper(int c) -{ - if ((unsigned int)c > 255) - return (c); - return ((_toupper_tab_ + 1)[c]); -} - -#if __BSD_VISIBLE || __ISO_C_VISIBLE >= 1999 || __POSIX_VISIBLE > 200112 \ - || __XPG_VISIBLE > 600 -__CTYPE_INLINE int isblank(int c) -{ - return (c == ' ' || c == '\t'); -} -#endif - -#if __BSD_VISIBLE || __XPG_VISIBLE -__CTYPE_INLINE int isascii(int c) -{ - return ((unsigned int)c <= 0177); -} - -__CTYPE_INLINE int toascii(int c) -{ - return (c & 0177); -} - -__CTYPE_INLINE int _tolower(int c) -{ - return (c - 'A' + 'a'); -} - -__CTYPE_INLINE int _toupper(int c) -{ - return (c - 'a' + 'A'); -} -#endif /* __BSD_VISIBLE || __XPG_VISIBLE */ - -#endif /* NDEBUG */ - __END_DECLS -#undef __CTYPE_INLINE - #endif /* !_CTYPE_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/inttypes.h b/9/platforms/android-19/arch-x86_64/usr/include/inttypes.h index 2fd2415..8853c08 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/inttypes.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/inttypes.h @@ -254,16 +254,14 @@ typedef struct { } imaxdiv_t; __BEGIN_DECLS - intmax_t imaxabs(intmax_t) __pure2; imaxdiv_t imaxdiv(intmax_t, intmax_t) __pure2; - intmax_t strtoimax(const char *, char **, int); uintmax_t strtoumax(const char *, char **, int); - -intmax_t strntoimax(const char *nptr, char **endptr, int base, size_t n); -uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n); - +intmax_t wcstoimax(const wchar_t * __restrict, + wchar_t ** __restrict, int); +uintmax_t wcstoumax(const wchar_t * __restrict, + wchar_t ** __restrict, int); __END_DECLS #endif /* _INTTYPES_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/limits.h b/9/platforms/android-19/arch-x86_64/usr/include/limits.h index a70021a..dc45902 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/limits.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/limits.h @@ -112,7 +112,7 @@ #define SSIZE_MAX LONG_MAX -#define MB_LEN_MAX 1 /* No multibyte characters. */ +#define MB_LEN_MAX 6 /* New code should use sysconf(_SC_PAGE_SIZE) instead. */ #ifndef PAGE_SIZE diff --git a/9/platforms/android-19/arch-x86_64/usr/include/linux/prctl.h b/9/platforms/android-19/arch-x86_64/usr/include/linux/prctl.h index 87c7e2f..baa597e 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/linux/prctl.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/linux/prctl.h @@ -117,7 +117,8 @@ #define PR_GET_NO_NEW_PRIVS 39 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PR_GET_TID_ADDRESS 40 +#define PR_SET_TIMERSLACK_PID 41 #define PR_SET_VMA 0x53564d41 #define PR_SET_VMA_ANON_NAME 0 -#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/9/platforms/android-19/arch-x86_64/usr/include/locale.h b/9/platforms/android-19/arch-x86_64/usr/include/locale.h index 6989851..7fd8c2c 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/locale.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/locale.h @@ -33,21 +33,19 @@ __BEGIN_DECLS -enum { - LC_CTYPE = 0, - LC_NUMERIC = 1, - LC_TIME = 2, - LC_COLLATE = 3, - LC_MONETARY = 4, - LC_MESSAGES = 5, - LC_ALL = 6, - LC_PAPER = 7, - LC_NAME = 8, - LC_ADDRESS = 9, - LC_TELEPHONE = 10, - LC_MEASUREMENT = 11, - LC_IDENTIFICATION = 12 -}; +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 +#define LC_PAPER 7 +#define LC_NAME 8 +#define LC_ADDRESS 9 +#define LC_TELEPHONE 10 +#define LC_MEASUREMENT 11 +#define LC_IDENTIFICATION 12 #define LC_CTYPE_MASK (1 << LC_CTYPE) #define LC_NUMERIC_MASK (1 << LC_NUMERIC) diff --git a/9/platforms/android-19/arch-x86_64/usr/include/machine/ieee.h b/9/platforms/android-19/arch-x86_64/usr/include/machine/ieee.h index 74856b2..c579969 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/machine/ieee.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/machine/ieee.h @@ -1,5 +1,5 @@ -/* $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 $ */ +/* $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 @@ -22,7 +22,11 @@ * 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 + * 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. * @@ -41,102 +45,74 @@ * @(#)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. - */ +#ifndef _MACHINE_IEEE_H_ +#define _MACHINE_IEEE_H_ -/* - * 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) +#include + +__BEGIN_DECLS + +#define SNG_EXPBITS 8 +#define SNG_FRACBITS 23 + +#define SNG_EXP_INFNAN 255 +#define SNG_EXP_BIAS 127 struct ieee_single { - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; + 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 { - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; + 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 { - 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; + unsigned ext_fracl; + unsigned ext_fraclm; + unsigned ext_frachm; + unsigned ext_frach:16; + unsigned ext_exp:15; + unsigned ext_sign:1; }; -/* - * 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 +__END_DECLS + +#endif /* _MACHINE_IEEE_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/machine/wchar_limits.h b/9/platforms/android-19/arch-x86_64/usr/include/machine/wchar_limits.h new file mode 100644 index 0000000..94cbd7e --- /dev/null +++ b/9/platforms/android-19/arch-x86_64/usr/include/machine/wchar_limits.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _MACHINE_WCHAR_LIMITS_H_ +#define _MACHINE_WCHAR_LIMITS_H_ + +/* Both GCC and clang define __WCHAR_MAX__. */ +#define WCHAR_MAX __WCHAR_MAX__ + +/* As of 3.4, clang still doesn't define __WCHAR_MIN__. */ +#if defined(__WCHAR_UNSIGNED__) +# define WCHAR_MIN L'\0' +#else +# define WCHAR_MIN (-(WCHAR_MAX) - 1) +#endif + +#endif /* _MACHINE_WCHAR_LIMITS_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/math.h b/9/platforms/android-19/arch-x86_64/usr/include/math.h index bd0241b..c264583 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/math.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/math.h @@ -396,16 +396,23 @@ float significandf(float); * long double versions of ISO/POSIX math functions */ #if __ISO_C_VISIBLE >= 1999 +long double acoshl(long double); long double acosl(long double); +long double asinhl(long double); long double asinl(long double); long double atan2l(long double, long double); +long double atanhl(long double); long double atanl(long double); long double cbrtl(long double); long double ceill(long double); long double copysignl(long double, long double) __pure2; +long double coshl(long double); long double cosl(long double); +long double erfcl(long double); +long double erfl(long double); long double exp2l(long double); long double expl(long double); +long double expm1l(long double); long double fabsl(long double) __pure2; long double fdiml(long double, long double); long double floorl(long double); @@ -417,9 +424,14 @@ long double frexpl(long double value, int *); /* fundamentally !__pure2 */ long double hypotl(long double, long double); int ilogbl(long double) __pure2; long double ldexpl(long double, int); +long double lgammal(long double); long long llrintl(long double); long long llroundl(long double); +long double log10l(long double); +long double log1pl(long double); +long double log2l(long double); long double logbl(long double); +long double logl(long double); long lrintl(long double); long lroundl(long double); long double modfl(long double, long double *); /* fundamentally !__pure2 */ @@ -429,53 +441,29 @@ long double nextafterl(long double, long double); double nexttoward(double, long double); float nexttowardf(float, long double); long double nexttowardl(long double, long double); +long double powl(long double, long double); long double remainderl(long double, long double); long double remquol(long double, long double, int *); long double rintl(long double); long double roundl(long double); long double scalblnl(long double, long); long double scalbnl(long double, int); +long double sinhl(long double); long double sinl(long double); long double sqrtl(long double); +long double tanhl(long double); long double tanl(long double); +long double tgammal(long double); long double truncl(long double); #endif /* __ISO_C_VISIBLE >= 1999 */ -__END_DECLS - -#endif /* !_MATH_H_ */ - -/* separate header for cmath */ -#ifndef _MATH_EXTRA_H_ -#if __ISO_C_VISIBLE >= 1999 -#if _DECLARE_C99_LDBL_MATH - -#define _MATH_EXTRA_H_ -/* - * extra long double versions of math functions for C99 and cmath - */ -__BEGIN_DECLS - -long double acoshl(long double); -long double asinhl(long double); -long double atanhl(long double); -long double coshl(long double); -long double erfcl(long double); -long double erfl(long double); -long double expm1l(long double); -long double lgammal(long double); -long double log10l(long double); -long double log1pl(long double); -long double log2l(long double); -long double logl(long double); -long double powl(long double, long double); -long double sinhl(long double); -long double tanhl(long double); -long double tgammal(long double); +#if defined(_GNU_SOURCE) +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); +#endif /* _GNU_SOURCE */ __END_DECLS -#endif /* !_DECLARE_C99_LDBL_MATH */ -#endif /* __ISO_C_VISIBLE >= 1999 */ -#endif /* !_MATH_EXTRA_H_ */ +#endif /* !_MATH_H_ */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/pthread.h b/9/platforms/android-19/arch-x86_64/usr/include/pthread.h index f93f9e9..7b8de81 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/pthread.h +++ b/9/platforms/android-19/arch-x86_64/usr/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/9/platforms/android-19/arch-x86_64/usr/include/sched.h b/9/platforms/android-19/arch-x86_64/usr/include/sched.h index 7649e83..68115bb 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sched.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sched.h @@ -59,151 +59,90 @@ extern int unshare(int); extern int sched_getcpu(void); extern int setns(int, int); -/* Our implementation supports up to 32 independent CPUs, which is also - * the maximum supported by the kernel at the moment. GLibc uses 1024 by - * default. - * - * If you want to use more than that, you should use CPU_ALLOC() / CPU_FREE() - * and the CPU_XXX_S() macro variants. - */ -#define CPU_SETSIZE 32 +#ifdef __LP32__ +#define CPU_SETSIZE 32 +#else +#define CPU_SETSIZE 1024 +#endif -#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ -#define __CPU_BITSHIFT 5 /* should be log2(BITTYPE) */ -#define __CPU_BITS (1 << __CPU_BITSHIFT) -#define __CPU_ELT(x) ((x) >> __CPU_BITSHIFT) -#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS-1))) +#define __CPU_BITTYPE unsigned long int /* mandated by the kernel */ +#define __CPU_BITS (8 * sizeof(__CPU_BITTYPE)) +#define __CPU_ELT(x) ((x) / __CPU_BITS) +#define __CPU_MASK(x) ((__CPU_BITTYPE)1 << ((x) & (__CPU_BITS - 1))) typedef struct { - __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; + __CPU_BITTYPE __bits[ CPU_SETSIZE / __CPU_BITS ]; } cpu_set_t; extern int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set); extern int sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set); -/* Provide optimized implementation for 32-bit cpu_set_t */ -#if CPU_SETSIZE == __CPU_BITS - -# define CPU_ZERO(set_) \ - do{ \ - (set_)->__bits[0] = 0; \ - }while(0) - -# define CPU_SET(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] |= __CPU_MASK(__cpu); \ - }while (0) - -# define CPU_CLR(cpu_,set_) \ - do {\ - size_t __cpu = (cpu_); \ - if (__cpu < CPU_SETSIZE) \ - (set_)->__bits[0] &= ~__CPU_MASK(__cpu); \ - }while (0) - -# define CPU_ISSET(cpu_, set_) \ - (__extension__({\ - size_t __cpu = (cpu_); \ - (cpu_ < CPU_SETSIZE) \ - ? ((set_)->__bits[0] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -# define CPU_EQUAL(set1_, set2_) \ - ((set1_)->__bits[0] == (set2_)->__bits[0]) - -# define __CPU_OP(dst_, set1_, set2_, op_) \ - do { \ - (dst_)->__bits[0] = (set1_)->__bits[0] op_ (set2_)->__bits[0]; \ - } while (0) - -# define CPU_COUNT(set_) __builtin_popcountl((set_)->__bits[0]) - -#else /* CPU_SETSIZE != __CPU_BITS */ - -# define CPU_ZERO(set_) CPU_ZERO_S(sizeof(cpu_set_t), set_) -# define CPU_SET(cpu_,set_) CPU_SET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_CLR(cpu_,set_) CPU_CLR_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_ISSET(cpu_,set_) CPU_ISSET_S(cpu_,sizeof(cpu_set_t),set_) -# define CPU_COUNT(set_) CPU_COUNT_S(sizeof(cpu_set_t),set_) -# define CPU_EQUAL(set1_,set2_) CPU_EQUAL_S(sizeof(cpu_set_t),set1_,set2_) - -# define __CPU_OP(dst_,set1_,set2_,op_) __CPU_OP_S(sizeof(cpu_set_t),dst_,set1_,set2_,op_) +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t), set) +#define CPU_SET(cpu, set) CPU_SET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_CLR(cpu, set) CPU_CLR_S(cpu, sizeof(cpu_set_t), set) +#define CPU_ISSET(cpu, set) CPU_ISSET_S(cpu, sizeof(cpu_set_t), set) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t), set) +#define CPU_EQUAL(set1, set2) CPU_EQUAL_S(sizeof(cpu_set_t), set1, set2) -#endif /* CPU_SETSIZE != __CPU_BITS */ +#define CPU_AND(dst, set1, set2) __CPU_OP(dst, set1, set2, &) +#define CPU_OR(dst, set1, set2) __CPU_OP(dst, set1, set2, |) +#define CPU_XOR(dst, set1, set2) __CPU_OP(dst, set1, set2, ^) -#define CPU_AND(set1_,set2_) __CPU_OP(set1_,set2_,&) -#define CPU_OR(set1_,set2_) __CPU_OP(set1_,set2_,|) -#define CPU_XOR(set1_,set2_) __CPU_OP(set1_,set2_,^) +#define __CPU_OP(dst, set1, set2, op) __CPU_OP_S(sizeof(cpu_set_t), dst, set1, set2, op) /* Support for dynamically-allocated cpu_set_t */ #define CPU_ALLOC_SIZE(count) \ - __CPU_ELT((count) + (__CPU_BITS-1))*sizeof(__CPU_BITTYPE) + __CPU_ELT((count) + (__CPU_BITS - 1)) * sizeof(__CPU_BITTYPE) -#define CPU_ALLOC(count) __sched_cpualloc((count)); -#define CPU_FREE(set) __sched_cpufree((set)) +#define CPU_ALLOC(count) __sched_cpualloc((count)) +#define CPU_FREE(set) __sched_cpufree((set)) extern cpu_set_t* __sched_cpualloc(size_t count); extern void __sched_cpufree(cpu_set_t* set); -#define CPU_ZERO_S(setsize_,set_) \ - do { \ - size_t __nn = 0; \ - size_t __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (set_)->__bits[__nn] = 0; \ - } while (0) - -#define CPU_SET_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ - } while (0) - -#define CPU_CLR_S(cpu_,setsize_,set_) \ - do { \ - size_t __cpu = (cpu_); \ - if (__cpu < 8*(setsize_)) \ - (set_)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ - } while (0) - -#define CPU_ISSET_S(cpu_, setsize_, set_) \ - (__extension__ ({ \ - size_t __cpu = (cpu_); \ - (__cpu < 8*(setsize_)) \ - ? ((set_)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ - : 0; \ - })) - -#define CPU_EQUAL_S(setsize_, set1_, set2_) \ - (__extension__ ({ \ - __const __CPU_BITTYPE* __src1 = (set1_)->__bits; \ - __const __CPU_BITTYPE* __src2 = (set2_)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) { \ - if (__src1[__nn] != __src2[__nn]) \ - break; \ - } \ - __nn == __nn_max; \ - })) - -#define __CPU_OP_S(setsize_, dstset_, srcset1_, srcset2_, op) \ - do { \ - cpu_set_t* __dst = (dstset); \ - const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ - const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ - size_t __nn = 0, __nn_max = (setsize_)/sizeof(__CPU_BITTYPE); \ - for (; __nn < __nn_max; __nn++) \ - (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ - } while (0) - -#define CPU_COUNT_S(setsize_, set_) \ - __sched_cpucount((setsize_), (set_)) +#define CPU_ZERO_S(setsize, set) __builtin_memset(set, 0, setsize) + +#define CPU_SET_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] |= __CPU_MASK(__cpu); \ + } while (0) + +#define CPU_CLR_S(cpu, setsize, set) \ + do { \ + size_t __cpu = (cpu); \ + if (__cpu < 8 * (setsize)) \ + (set)->__bits[__CPU_ELT(__cpu)] &= ~__CPU_MASK(__cpu); \ + } while (0) + +#define CPU_ISSET_S(cpu, setsize, set) \ + (__extension__ ({ \ + size_t __cpu = (cpu); \ + (__cpu < 8 * (setsize)) \ + ? ((set)->__bits[__CPU_ELT(__cpu)] & __CPU_MASK(__cpu)) != 0 \ + : 0; \ + })) + +#define CPU_EQUAL_S(setsize, set1, set2) (__builtin_memcmp(set1, set2, setsize) == 0) + +#define CPU_AND_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, &) +#define CPU_OR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, |) +#define CPU_XOR_S(setsize, dst, set1, set2) __CPU_OP_S(setsize, dst, set1, set2, ^) + +#define __CPU_OP_S(setsize, dstset, srcset1, srcset2, op) \ + do { \ + cpu_set_t* __dst = (dstset); \ + const __CPU_BITTYPE* __src1 = (srcset1)->__bits; \ + const __CPU_BITTYPE* __src2 = (srcset2)->__bits; \ + size_t __nn = 0, __nn_max = (setsize)/sizeof(__CPU_BITTYPE); \ + for (; __nn < __nn_max; __nn++) \ + (__dst)->__bits[__nn] = __src1[__nn] op __src2[__nn]; \ + } while (0) + +#define CPU_COUNT_S(setsize, set) __sched_cpucount((setsize), (set)) extern int __sched_cpucount(size_t setsize, cpu_set_t* set); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/semaphore.h b/9/platforms/android-19/arch-x86_64/usr/include/semaphore.h index 30e3123..7ae3c3a 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/semaphore.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/semaphore.h @@ -33,10 +33,13 @@ __BEGIN_DECLS typedef struct { - volatile unsigned int count; + volatile unsigned int count; +#ifdef __LP64__ + int __reserved[3]; +#endif } sem_t; -#define SEM_FAILED NULL +#define SEM_FAILED NULL extern int sem_init(sem_t *sem, int pshared, unsigned int value); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/signal.h b/9/platforms/android-19/arch-x86_64/usr/include/signal.h index 267f3e6..45c1cda 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/signal.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/signal.h @@ -60,6 +60,12 @@ typedef int sig_atomic_t; #define _NSIG (_KERNEL__NSIG + 1) #define NSIG _NSIG +/* We take a few real-time signals for ourselves. May as well use the same names as glibc. */ +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) +extern int __libc_current_sigrtmin(void); +extern int __libc_current_sigrtmax(void); + extern const char* const sys_siglist[]; extern const char* const sys_signame[]; /* BSD compatibility. */ diff --git a/9/platforms/android-19/arch-x86_64/usr/include/stdint.h b/9/platforms/android-19/arch-x86_64/usr/include/stdint.h index 1f3d003..f34843c 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/stdint.h +++ b/9/platforms/android-19/arch-x86_64/usr/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/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h b/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h index 2c797c5..834dcda 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/stdlib.h @@ -46,10 +46,15 @@ extern __noreturn void exit(int); extern __noreturn void _Exit(int); extern int atexit(void (*)(void)); -extern char *getenv(const char *); -extern int putenv(const char *); -extern int setenv(const char *, const char *, int); -extern int unsetenv(const char *); +#if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L +int at_quick_exit(void (*)(void)); +void quick_exit(int) __noreturn; +#endif + +extern char* getenv(const char*); +extern int putenv(char*); +extern int setenv(const char*, const char*, int); +extern int unsetenv(const char*); extern int clearenv(void); extern char* mkdtemp(char*); @@ -65,9 +70,10 @@ extern unsigned long long strtoull(const char *, char **, int); extern int posix_memalign(void **memptr, size_t alignment, size_t size); extern double atof(const char*); -extern double strtod(const char*, char**); -extern float strtof(const char*, char**); -extern long double strtold(const char*, char**); + +extern double strtod(const char*, char**) __LIBC_ABI_PUBLIC__; +extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__; +extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__; extern int atoi(const char*) __purefunc; extern long atol(const char*) __purefunc; diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs_elf.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs_elf.h index bb846b7..0479230 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs_elf.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/cdefs_elf.h @@ -32,7 +32,7 @@ #ifdef __LEADING_UNDERSCORE #define _C_LABEL(x) __CONCAT(_,x) -#define _C_LABEL_STRING(x) "_"x +#define _C_LABEL_STRING(x) "_" x #else #define _C_LABEL(x) x #define _C_LABEL_STRING(x) x @@ -61,24 +61,11 @@ #define __SECTIONSTRING(_sec, _str) \ __asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous") -/* GCC visibility helper macro */ -/* This must be used to tag non-static functions that are private, i.e. - * never exposed by the shared library. */ -#define __LIBC_HIDDEN__ \ - __attribute__ ((visibility ("hidden"))) - -/* This must be used to tag non-static functions that are public, i.e. - * exposed by the shared library, and part of the stable NDK ABI */ -#define __LIBC_ABI_PUBLIC__ \ - __attribute__ ((visibility ("default"))) - -/* This must be used to tag non-static functions that must be exported - * by the shared library, but whose implementation is private to the - * platform. For now this is equivalent to __LIBC_ABI_PUBLIC__, but we - * may want to change this later. - */ -#define __LIBC_ABI_PRIVATE__ \ - __attribute__ ((visibility ("default"))) +/* Used to tag non-static symbols that are private and never exposed by the shared library. */ +#define __LIBC_HIDDEN__ __attribute__((visibility ("hidden"))) + +/* Used to tag non-static symbols that are public and exposed by the shared library. */ +#define __LIBC_ABI_PUBLIC__ __attribute__((visibility ("default"))) #define __IDSTRING(_n,_s) __SECTIONSTRING(.ident,_s) diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/epoll.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/epoll.h index c06a081..4a5a37c 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/epoll.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/epoll.h @@ -67,7 +67,11 @@ typedef union epoll_data { struct epoll_event { uint32_t events; epoll_data_t data; -}; +} +#ifdef __x86_64__ +__packed +#endif +; int epoll_create(int); int epoll_create1(int); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/types.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/types.h index dc847d2..9a76ad2 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/types.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/types.h @@ -63,7 +63,7 @@ typedef __mode_t mode_t; typedef __kernel_key_t __key_t; typedef __key_t key_t; -typedef uint32_t __ino_t; +typedef __kernel_ino_t __ino_t; typedef __ino_t ino_t; typedef uint32_t __nlink_t; @@ -72,9 +72,10 @@ typedef __nlink_t nlink_t; typedef void* __timer_t; typedef __timer_t timer_t; -typedef int32_t __suseconds_t; +typedef __kernel_suseconds_t __suseconds_t; typedef __suseconds_t suseconds_t; +/* useconds_t is 32-bit on both LP32 and LP64. */ typedef uint32_t __useconds_t; typedef __useconds_t useconds_t; diff --git a/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h b/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h index 5348dd8..c578a6f 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/sys/user.h @@ -36,7 +36,7 @@ __BEGIN_DECLS #if __i386__ -struct user_i387_struct { +struct user_fpregs_struct { long cwd; long swd; long twd; @@ -83,7 +83,7 @@ struct user_regs_struct { struct user { struct user_regs_struct regs; int u_fpvalid; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -92,7 +92,7 @@ struct user { long int signal; int reserved; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; int u_debugreg[8]; @@ -100,7 +100,7 @@ struct user { #elif defined(__x86_64__) -struct user_i387_struct { +struct user_fpregs_struct { unsigned short cwd; unsigned short swd; unsigned short twd; @@ -146,7 +146,7 @@ struct user { struct user_regs_struct regs; int u_fpvalid; int pad0; - struct user_i387_struct i387; + struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; @@ -156,7 +156,7 @@ struct user { int reserved; int pad1; unsigned long u_ar0; - struct user_i387_struct* u_fpstate; + struct user_fpregs_struct* u_fpstate; unsigned long magic; char u_comm[32]; unsigned long u_debugreg[8]; diff --git a/9/platforms/android-19/arch-x86_64/usr/include/time64.h b/9/platforms/android-19/arch-x86_64/usr/include/time64.h index 7ec05af..905669d 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/time64.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/time64.h @@ -31,29 +31,36 @@ Modified for Bionic by the Android Open Source Project #ifndef TIME64_H #define TIME64_H +#if defined(__LP64__) + +#error Your time_t is already 64-bit. + +#else + +/* Legacy cruft for LP32 where time_t was 32-bit. */ + #include #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/9/platforms/android-19/arch-x86_64/usr/include/unistd.h b/9/platforms/android-19/arch-x86_64/usr/include/unistd.h index d21f23d..6cb36d8 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/unistd.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/unistd.h @@ -47,7 +47,8 @@ __BEGIN_DECLS #define SEEK_CUR 1 #define SEEK_END 2 -extern char **environ; +extern char** environ; + extern __noreturn void _exit(int); extern pid_t fork(void); diff --git a/9/platforms/android-19/arch-x86_64/usr/include/utmp.h b/9/platforms/android-19/arch-x86_64/usr/include/utmp.h index ffd3c92..d764227 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/utmp.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/utmp.h @@ -36,9 +36,15 @@ #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 +#ifdef __LP64__ +#define UT_NAMESIZE 32 +#define UT_LINESIZE 32 +#define UT_HOSTSIZE 256 +#else +#define UT_NAMESIZE 8 +#define UT_LINESIZE 8 +#define UT_HOSTSIZE 16 +#endif #define USER_PROCESS 7 diff --git a/9/platforms/android-19/arch-x86_64/usr/include/wchar.h b/9/platforms/android-19/arch-x86_64/usr/include/wchar.h index 89c6fb6..fe2fe07 100644 --- a/9/platforms/android-19/arch-x86_64/usr/include/wchar.h +++ b/9/platforms/android-19/arch-x86_64/usr/include/wchar.h @@ -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); diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_dynamic.o b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_dynamic.o index 03cbdea..ba6df6e 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_dynamic.o and b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_dynamic.o differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_so.o b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_so.o index d6768bf..7523940 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_so.o and b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_so.o differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_static.o b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_static.o index 03cbdea..ba6df6e 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_static.o and b/9/platforms/android-19/arch-x86_64/usr/lib64/crtbegin_static.o differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_android.o b/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_android.o index 2149bf1..1c39bb4 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_android.o and b/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_android.o differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_so.o b/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_so.o index e0041da..0de25a4 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_so.o and b/9/platforms/android-19/arch-x86_64/usr/lib64/crtend_so.o differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libEGL.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libEGL.so index da6d74e..4202ae5 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libEGL.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libEGL.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv1_CM.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv1_CM.so index 16a7659..2b7c271 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv1_CM.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv1_CM.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv2.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv2.so index 57104ab..869d0fb 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv2.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv2.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv3.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv3.so index 70c97cb..96867fb 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv3.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libGLESv3.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenMAXAL.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenMAXAL.so index ac27304..4330696 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenMAXAL.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenMAXAL.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenSLES.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenSLES.so index 95ecb48..fc0bf45 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenSLES.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libOpenSLES.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libandroid.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libandroid.so index a7a40ef..c7f412a 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libandroid.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libandroid.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libc.a b/9/platforms/android-19/arch-x86_64/usr/lib64/libc.a index 58c1a03..f26b0ef 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libc.a and b/9/platforms/android-19/arch-x86_64/usr/lib64/libc.a differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libc.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libc.so index 24fac15..ed64078 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libc.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libc.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libdl.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libdl.so index afeda71..d1da8b0 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libdl.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libdl.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libjnigraphics.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libjnigraphics.so index 0ba220e..f54e0c4 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libjnigraphics.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libjnigraphics.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/liblog.so b/9/platforms/android-19/arch-x86_64/usr/lib64/liblog.so index 007044d..43d75cb 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/liblog.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/liblog.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libm.a b/9/platforms/android-19/arch-x86_64/usr/lib64/libm.a index 0fd1900..a3f8af6 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libm.a and b/9/platforms/android-19/arch-x86_64/usr/lib64/libm.a differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libm.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libm.so index d07c215..f762946 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libm.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libm.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.a b/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.a index 91b8ae2..b54d0f9 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.a and b/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.a differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.so b/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.so index 9fa5287..fc35a00 100755 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.so and b/9/platforms/android-19/arch-x86_64/usr/lib64/libstdc++.so differ diff --git a/9/platforms/android-19/arch-x86_64/usr/lib64/libz.a b/9/platforms/android-19/arch-x86_64/usr/lib64/libz.a index a715308..55f47cb 100644 Binary files a/9/platforms/android-19/arch-x86_64/usr/lib64/libz.a and b/9/platforms/android-19/arch-x86_64/usr/lib64/libz.a differ diff --git a/9/sources/android/support/include/locale.h b/9/sources/android/support/include/locale.h index d7bd677..7dda229 100644 --- a/9/sources/android/support/include/locale.h +++ b/9/sources/android/support/include/locale.h @@ -36,6 +36,8 @@ #include /* Define all LC_XXX to itself. Sounds silly but libc++ expects it's defined, not in enum */ +#include +#if __ANDROID_API__ < 19 #define LC_CTYPE LC_CTYPE #define LC_NUMERIC LC_NUMERIC #define LC_TIME LC_TIME @@ -49,6 +51,7 @@ #define LC_TELEPHONE LC_TELEPHONE #define LC_MEASUREMENT LC_MEASUREMENT #define LC_IDENTIFICATION LC_IDENTIFICATION +#endif #ifdef __cplusplus extern "C" { diff --git a/9/sources/cxx-stl/EH/gabi++/include/gabixx_config.h b/9/sources/cxx-stl/EH/gabi++/include/gabixx_config.h index 718b919..d16a6be 100644 --- a/9/sources/cxx-stl/EH/gabi++/include/gabixx_config.h +++ b/9/sources/cxx-stl/EH/gabi++/include/gabixx_config.h @@ -53,6 +53,9 @@ // never be exposed to client code. #define _GABIXX_HIDDEN __attribute__((__visibility__("hidden"))) +// Use _GABIXX_DEFAULT to prevent user command -fvisibility=hidden +#define _GABIXX_DEFAULT __attribute__((__visibility__("default"))) + // Use _GABIXX_WEAK to define a symbol with weak linkage. #define _GABIXX_WEAK __attribute__((__weak__)) diff --git a/9/sources/cxx-stl/EH/gabi++/include/new b/9/sources/cxx-stl/EH/gabi++/include/new index 1643e01..935731d 100644 --- a/9/sources/cxx-stl/EH/gabi++/include/new +++ b/9/sources/cxx-stl/EH/gabi++/include/new @@ -48,6 +48,23 @@ public: virtual const char* what() const throw(); }; +class bad_array_new_length : public bad_alloc { +public: + bad_array_new_length() throw(); + virtual ~bad_array_new_length() throw(); + virtual const char* what() const throw(); +}; + +#if __cplusplus > 201103L +// C++14 stuff +class bad_array_length : public bad_alloc { +public: + bad_array_length() throw(); + virtual ~bad_array_length() throw(); + virtual const char* what() const throw(); +}; +#endif + typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); new_handler get_new_handler() throw(); diff --git a/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_shared.so index e3fce3d..8be0a04 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_static.a index 5f6f285..147aa64 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/arm64-v8a/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_shared.so index 0a2ab96..a36160d 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_static.a index c3cc91a..f39af75 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_shared.so new file mode 100755 index 0000000..b5a5fcc Binary files /dev/null and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_static.a new file mode 100644 index 0000000..b45fdbc Binary files /dev/null and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi-v7a/thumb/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_shared.so index db1ec08..7ab5bad 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_static.a index 5c11732..f5fcda3 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_shared.so new file mode 100755 index 0000000..1fb4b76 Binary files /dev/null and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_static.a new file mode 100644 index 0000000..5e57fe5 Binary files /dev/null and b/9/sources/cxx-stl/EH/gabi++/libs/armeabi/thumb/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_shared.so index 2bb1c76..eed48a3 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_static.a index 4e851c7..dfbdb5f 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/mips/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_shared.so index 35747d3..aa6aae7 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_static.a index 63523de..ab05fa2 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/mips64/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_shared.so index d2029d4..021d8f5 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_static.a index 11f3cd3..c070dbe 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/x86/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_shared.so b/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_shared.so index 236ae2c..ae1e391 100755 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_shared.so and b/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_shared.so differ diff --git a/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_static.a b/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_static.a index fcd7cca..a01b19d 100644 Binary files a/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_static.a and b/9/sources/cxx-stl/EH/gabi++/libs/x86_64/libgabi++_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_shared.so index 97993fb..f0562a2 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_static.a index a0f36cf..dbdc63a 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/arm64-v8a/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_shared.so index ea96aec..e08bfb1 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_static.a index fe9fb0f..5df48c3 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_shared.so new file mode 100755 index 0000000..c56babf Binary files /dev/null and b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_static.a new file mode 100644 index 0000000..37d7bd8 Binary files /dev/null and b/9/sources/cxx-stl/EH/stlport/libs/armeabi-v7a/thumb/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_shared.so index 15d2dbd..89b403b 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_static.a index af09bf4..aaf4391 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/armeabi/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_shared.so new file mode 100755 index 0000000..cd41ca2 Binary files /dev/null and b/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_static.a new file mode 100644 index 0000000..f1830e8 Binary files /dev/null and b/9/sources/cxx-stl/EH/stlport/libs/armeabi/thumb/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_shared.so index 536cb61..b56cd59 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_static.a index 5144f21..718206c 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/mips/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_shared.so index 35f9e4d..651fdfd 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_static.a index d3b7354..a7843b0 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/mips64/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_shared.so index 3a24efe..18eea32 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_static.a index 9e06ae0..7e93c1f 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/x86/libstlport_static.a differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_shared.so b/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_shared.so index 1732a66..47084de 100755 Binary files a/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_shared.so and b/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_shared.so differ diff --git a/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_static.a b/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_static.a index bca5998..cc2f905 100644 Binary files a/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_static.a and b/9/sources/cxx-stl/EH/stlport/libs/x86_64/libstlport_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include/bits/ctype_base.h index 926b233..64a3bc5 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include/bits/ctype_base.h index 926b233..64a3bc5 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/mips/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/mips/include/bits/ctype_base.h index 926b233..64a3bc5 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/mips/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/mips/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/x86/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/x86/include/bits/ctype_base.h index 926b233..64a3bc5 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/x86/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.6/libs/x86/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/opt_random.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/opt_random.h deleted file mode 100644 index 76c9155..0000000 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/opt_random.h +++ /dev/null @@ -1,38 +0,0 @@ -// Optimizations for random number handling, generic version -*- C++ -*- - -// Copyright (C) 2012-2013 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -/** @file bits/opt_random.h - * This is an internal header file, included by other library headers. - * Do not attempt to use it directly. @headername{random} - */ - -#ifndef _BITS_OPT_RANDOM_H -#define _BITS_OPT_RANDOM_H 1 - -#pragma GCC system_header - - - - -#endif // _BITS_OPT_RANDOM_H diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/atomicity.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/atomicity.h index 88698bb..a439627 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/atomicity.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/atomicity.h @@ -43,8 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // To abstract locking primitives across all thread policies, use: // __exchange_and_add_dispatch // __atomic_add_dispatch -#if defined(_GLIBCXX_ATOMIC_BUILTINS) && (!defined(__clang__) || defined(__i386__)) - // NOTE: clang arm/mips can't compile the following two library calls yet. +#ifdef _GLIBCXX_ATOMIC_BUILTINS static inline _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); } diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/opt_random.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/opt_random.h deleted file mode 100644 index 61f47de..0000000 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/opt_random.h +++ /dev/null @@ -1,38 +0,0 @@ -// Optimizations for random number extensions, generic version -*- C++ -*- - -// Copyright (C) 2012-2013 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -/** @file ext/opt_random.h - * This is an internal header file, included by other library headers. - * Do not attempt to use it directly. @headername{ext/random} - */ - -#ifndef _EXT_OPT_RANDOM_H -#define _EXT_OPT_RANDOM_H 1 - -#pragma GCC system_header - - - - -#endif // _EXT_OPT_RANDOM_H diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/type_traits b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/type_traits index b5f8c79..9b7b986 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/include/type_traits +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/include/type_traits @@ -264,7 +264,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __is_floating_point_helper : public true_type { }; -#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__clang__) +#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && (!defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) template<> struct __is_floating_point_helper<__float128> : public true_type { }; diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/include/bits/c++config.h index 1fa46a5..ddf4ed9 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/include/bits/c++config.h @@ -470,13 +470,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -491,7 +491,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -515,10 +515,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -689,7 +689,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -728,13 +728,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -767,7 +767,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -779,13 +779,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -794,10 +794,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -900,10 +900,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -918,19 +918,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1261,7 +1261,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1269,7 +1269,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_shared.so index d09ad91..3acb7b7 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_static.a index 470123e..1af89cd 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libsupc++.a index e110f67..cc011fc 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/arm64-v8a/libsupc++.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h index 2cfd69e..d33e9f6 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include/bits/ctype_base.h index 2cfd69e..d33e9f6 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include/bits/ctype_base.h index 2cfd69e..d33e9f6 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/include/bits/c++config.h index 1fa46a5..ddf4ed9 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/include/bits/c++config.h @@ -470,13 +470,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -491,7 +491,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -515,10 +515,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -689,7 +689,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -728,13 +728,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -767,7 +767,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -779,13 +779,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -794,10 +794,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -900,10 +900,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -918,19 +918,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1261,7 +1261,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1269,7 +1269,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_shared.so index b3c3e2c..ab31a5d 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_static.a index a3b5b19..68a9cfb 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libsupc++.a index 97cb30e..a28f8b3 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips64/libsupc++.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include/bits/ctype_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include/bits/ctype_base.h index 2cfd69e..d33e9f6 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include/bits/ctype_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include/bits/ctype_base.h @@ -30,6 +30,20 @@ // Support for Solaris 2.5.1 +#if !defined(_U) +#if !defined(_CTYPE_U) +#error Bionic header ctype.h does not define either _U nor _CTYPE_U +#endif +#define _U _CTYPE_U +#define _L _CTYPE_L +#define _N _CTYPE_N +#define _S _CTYPE_S +#define _P _CTYPE_P +#define _C _CTYPE_C +#define _X _CTYPE_X +#define _B _CTYPE_B +#endif + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/include/bits/c++config.h index 15f2467..389758c 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/include/bits/c++config.h @@ -470,13 +470,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -491,7 +491,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -515,10 +515,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -689,7 +689,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -728,13 +728,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -767,7 +767,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -779,13 +779,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -794,10 +794,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -900,10 +900,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -918,19 +918,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1261,7 +1261,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1269,7 +1269,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_shared.so index d86bdb3..787b008 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_static.a index e51e015..98a78b5 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libsupc++.a index 44a6c3a..1cb7360 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/libsupc++.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/atomic_base.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/atomic_base.h index 7d2ba75..242459a 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/atomic_base.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/atomic_base.h @@ -768,11 +768,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool is_lock_free() const noexcept - { return __atomic_is_lock_free(_M_type_size(1), nullptr); } + { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } bool is_lock_free() const volatile noexcept - { return __atomic_is_lock_free(_M_type_size(1), nullptr); } + { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } _GLIBCXX_ALWAYS_INLINE void store(__pointer_type __p, diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/iomanip b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/iomanip index b2c7b95..73822db 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/iomanip +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/iomanip @@ -415,8 +415,6 @@ _GLIBCXX_END_NAMESPACE_VERSION const _Quoted_string&, _CharT>& __str) { - __str._M_string.clear(); - _CharT __c; __is >> __c; if (!__is.good()) @@ -427,6 +425,7 @@ _GLIBCXX_END_NAMESPACE_VERSION __is >> __str._M_string; return __is; } + __str._M_string.clear(); std::ios_base::fmtflags __flags = __is.flags(__is.flags() & ~std::ios_base::skipws); do diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/type_traits b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/type_traits index 0261c7d..86fde9e 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/include/type_traits +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/include/type_traits @@ -259,7 +259,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __is_floating_point_helper : public true_type { }; -#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) +#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && (!defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) template<> struct __is_floating_point_helper<__float128> : public true_type { }; diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include/bits/c++config.h index 99057ea..103fa47 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE @@ -474,13 +474,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -495,7 +495,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -519,10 +519,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -693,7 +693,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -732,13 +732,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -771,7 +771,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -783,13 +783,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -798,10 +798,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -904,10 +904,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -922,19 +922,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1265,7 +1265,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1273,7 +1273,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so index b998a74..9c28e0a 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a index 30ac46e..24d5885 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a index 7ce29d1..75ee34b 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/bits/c++config.h index 3500133..a31d1dd 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include/bits/c++config.h index 3500133..a31d1dd 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/include/bits/c++config.h index 3500133..a31d1dd 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include/bits/c++config.h index 99057ea..103fa47 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE @@ -474,13 +474,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -495,7 +495,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -519,10 +519,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -693,7 +693,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -732,13 +732,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -771,7 +771,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -783,13 +783,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -798,10 +798,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -904,10 +904,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -922,19 +922,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1265,7 +1265,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1273,7 +1273,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_shared.so index f7bbec4..1027125 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_static.a index 9d11e57..03b05b4 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libsupc++.a index b2cb3d1..94187b2 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/libsupc++.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include/bits/c++config.h index 8f12d8c..6200953 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include/bits/c++config.h b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include/bits/c++config.h index 356809d..a8dc524 100644 --- a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include/bits/c++config.h +++ b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20140324 +#define __GLIBCXX__ 20140422 // Macros for various attributes. // _GLIBCXX_PURE @@ -474,13 +474,13 @@ namespace std #define _GLIBCXX_HAVE_ACOSF 1 /* Define to 1 if you have the `acosl' function. */ -/* #undef _GLIBCXX_HAVE_ACOSL */ +#define _GLIBCXX_HAVE_ACOSL 1 /* Define to 1 if you have the `asinf' function. */ #define _GLIBCXX_HAVE_ASINF 1 /* Define to 1 if you have the `asinl' function. */ -/* #undef _GLIBCXX_HAVE_ASINL */ +#define _GLIBCXX_HAVE_ASINL 1 /* Define to 1 if the target assembler supports .symver directive. */ #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 @@ -495,7 +495,7 @@ namespace std #define _GLIBCXX_HAVE_ATANF 1 /* Define to 1 if you have the `atanl' function. */ -/* #undef _GLIBCXX_HAVE_ATANL */ +#define _GLIBCXX_HAVE_ATANL 1 /* Define to 1 if you have the `at_quick_exit' function. */ /* #undef _GLIBCXX_HAVE_AT_QUICK_EXIT */ @@ -519,10 +519,10 @@ namespace std #define _GLIBCXX_HAVE_COSHF 1 /* Define to 1 if you have the `coshl' function. */ -/* #undef _GLIBCXX_HAVE_COSHL */ +#define _GLIBCXX_HAVE_COSHL 1 /* Define to 1 if you have the `cosl' function. */ -/* #undef _GLIBCXX_HAVE_COSL */ +#define _GLIBCXX_HAVE_COSL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_DLFCN_H 1 @@ -693,7 +693,7 @@ namespace std /* #undef _GLIBCXX_HAVE_ISNANL */ /* Defined if iswblank exists. */ -/* #undef _GLIBCXX_HAVE_ISWBLANK */ +#define _GLIBCXX_HAVE_ISWBLANK 1 /* Define if LC_MESSAGES is available in . */ #define _GLIBCXX_HAVE_LC_MESSAGES 1 @@ -732,13 +732,13 @@ namespace std #define _GLIBCXX_HAVE_LOG10F 1 /* Define to 1 if you have the `log10l' function. */ -/* #undef _GLIBCXX_HAVE_LOG10L */ +#define _GLIBCXX_HAVE_LOG10L 1 /* Define to 1 if you have the `logf' function. */ #define _GLIBCXX_HAVE_LOGF 1 /* Define to 1 if you have the `logl' function. */ -/* #undef _GLIBCXX_HAVE_LOGL */ +#define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 @@ -771,7 +771,7 @@ namespace std #define _GLIBCXX_HAVE_POWF 1 /* Define to 1 if you have the `powl' function. */ -/* #undef _GLIBCXX_HAVE_POWL */ +#define _GLIBCXX_HAVE_POWL 1 /* Define to 1 if you have the `qfpclass' function. */ /* #undef _GLIBCXX_HAVE_QFPCLASS */ @@ -783,13 +783,13 @@ namespace std /* #undef _GLIBCXX_HAVE_SETENV */ /* Define to 1 if you have the `sincos' function. */ -/* #undef _GLIBCXX_HAVE_SINCOS */ +#define _GLIBCXX_HAVE_SINCOS 1 /* Define to 1 if you have the `sincosf' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSF */ +#define _GLIBCXX_HAVE_SINCOSF 1 /* Define to 1 if you have the `sincosl' function. */ -/* #undef _GLIBCXX_HAVE_SINCOSL */ +#define _GLIBCXX_HAVE_SINCOSL 1 /* Define to 1 if you have the `sinf' function. */ #define _GLIBCXX_HAVE_SINF 1 @@ -798,10 +798,10 @@ namespace std #define _GLIBCXX_HAVE_SINHF 1 /* Define to 1 if you have the `sinhl' function. */ -/* #undef _GLIBCXX_HAVE_SINHL */ +#define _GLIBCXX_HAVE_SINHL 1 /* Define to 1 if you have the `sinl' function. */ -/* #undef _GLIBCXX_HAVE_SINL */ +#define _GLIBCXX_HAVE_SINL 1 /* Defined if sleep exists. */ /* #undef _GLIBCXX_HAVE_SLEEP */ @@ -904,10 +904,10 @@ namespace std #define _GLIBCXX_HAVE_TANHF 1 /* Define to 1 if you have the `tanhl' function. */ -/* #undef _GLIBCXX_HAVE_TANHL */ +#define _GLIBCXX_HAVE_TANHL 1 /* Define to 1 if you have the `tanl' function. */ -/* #undef _GLIBCXX_HAVE_TANL */ +#define _GLIBCXX_HAVE_TANL 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_TGMATH_H */ @@ -922,19 +922,19 @@ namespace std /* #undef _GLIBCXX_HAVE_USLEEP */ /* Defined if vfwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VFWSCANF */ +#define _GLIBCXX_HAVE_VFWSCANF 1 /* Defined if vswscanf exists. */ -/* #undef _GLIBCXX_HAVE_VSWSCANF */ +#define _GLIBCXX_HAVE_VSWSCANF 1 /* Defined if vwscanf exists. */ -/* #undef _GLIBCXX_HAVE_VWSCANF */ +#define _GLIBCXX_HAVE_VWSCANF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCHAR_H 1 /* Defined if wcstof exists. */ -/* #undef _GLIBCXX_HAVE_WCSTOF */ +#define _GLIBCXX_HAVE_WCSTOF 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_WCTYPE_H 1 @@ -1265,7 +1265,7 @@ namespace std /* Define if wchar_t C99 functions in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 /* Define if C99 functions or macros in should be imported in in namespace std. */ @@ -1273,7 +1273,7 @@ namespace std /* Define if C99 functions or macros in should be imported in in namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 /* Define if C99 types in should be imported in in namespace std::tr1. */ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_shared.so b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_shared.so index a63d987..0a33be7 100755 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_shared.so and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_shared.so differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_static.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_static.a index 37af57a..5d96f9e 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_static.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_static.a differ diff --git a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libsupc++.a b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libsupc++.a index ad3df6d..31b9c68 100644 Binary files a/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libsupc++.a and b/9/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libsupc++.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__config b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__config index 31cbcd4..1eb734c 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__config +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__config @@ -199,10 +199,16 @@ #ifndef _LIBCPP_ALWAYS_INLINE #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__visibility__("hidden"), __always_inline__)) +#define _LIBCPP_ALWAYS_INLINE_EXCEPT_GCC49 _LIBCPP_ALWAYS_INLINE #endif #if defined(__clang__) +#if defined(__APPLE__) && !defined(__i386__) && !defined(__x86_64__) && \ + !defined(__arm__) +#define _LIBCPP_ALTERNATE_STRING_LAYOUT +#endif + #if __has_feature(cxx_alignas) # define _ALIGNAS_TYPE(x) alignas(x) # define _ALIGNAS(x) alignas(x) @@ -215,7 +221,7 @@ #define _LIBCPP_HAS_NO_TEMPLATE_ALIASES #endif -#ifndef __GXX_EXPERIMENTAL_CXX0X__ +#if __cplusplus < 201103L #ifdef __linux__ #define _LIBCPP_HAS_NO_UNICODE_CHARS #else @@ -347,8 +353,18 @@ namespace std { } } +#if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer) +#define _LIBCPP_HAS_NO_ASAN +#endif + #elif defined(__GNUC__) +// FixME: GCC4.9 fails some always_inline cases +# if (_GNUC_VER == 409) +#undef _LIBCPP_ALWAYS_INLINE_EXCEPT_GCC49 +#define _LIBCPP_ALWAYS_INLINE_EXCEPT_GCC49 inline +#endif + #define _ALIGNAS(x) __attribute__((__aligned__(x))) #define _ALIGNAS_TYPE(x) __attribute__((__aligned__(__alignof(x)))) @@ -421,13 +437,18 @@ namespace _LIBCPP_NAMESPACE { using namespace _LIBCPP_NAMESPACE __attribute__((__strong__)); } +#if !defined(_LIBCPP_HAS_NO_ASAN) && !defined(__SANITIZE_ADDRESS__) +#define _LIBCPP_HAS_NO_ASAN +#endif + // Emulation of clang's __has_feature() for GCC on known cases #ifndef __has_feature #define __gxx__cxx_access_control_sfinae !defined(_LIBCPP_HAS_NO_TRAILING_RETURN) || !defined(_LIBCPP_HAS_NO_ADVANCED_SFINAE) // Also see usage in 7 tests #define __gxx__cxx_alias_templates !defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) +#define __gxx__cxx_address_sanitizer !defined(_LIBCPP_HAS_NO_ASAN) #define __gxx__cxx_alignas 0 // Not sure, doesn't matter. -#define __gxx__cxx_atomic 0 // In c11-atomic branch targeted for GCC 4.9. Also see usages in 20+ places +#define __gxx__cxx_atomic 0 // (_GNUC_VER >= 409) seems to support _Atomic in -std=c11 not -std=c++11 ! #define __gxx__cxx_attributes 0 // Not sure. Also see usage in libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp #define __gxx__cxx_auto_type !defined(_LIBCPP_HAS_NO_AUTO_TYPE) #define __gxx__cxx_constexpr !defined(_LIBCPP_HAS_NO_CONSTEXPR) @@ -440,7 +461,7 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__)); #define __gxx__cxx_lambdas !defined(_LIBCPP_HAS_NO_LAMBDAS) #define __gxx__cxx_noexcept 0 // Not sure, doesn't matter. #define __gxx__cxx_nullptr !defined(_LIBCPP_HAS_NO_NULLPTR) -#define __gxx__cxx_reference_qualified_functions (_GNUC_VER > 408) || ((_GNUC_VER == 408) && (__GNUC_PATCHLEVEL__ >= 1)) // See usage in libcxx/include/type_traits +#define __gxx__cxx_reference_qualified_functions (_GNUC_VER >= 408) // Since 4.8.1 #ifdef _LIBCPP_NO_RTTI #define __gxx__cxx_rtti 0 #else @@ -493,7 +514,7 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__)); #define _ALIGNAS(x) __declspec(align(x)) #define _LIBCPP_HAS_NO_VARIADICS -#define _NOEXCEPT throw() +#define _NOEXCEPT throw () #define _NOEXCEPT_(x) #define _NOEXCEPT_OR_FALSE(x) false @@ -505,6 +526,8 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__)); namespace std { } +#define _LIBCPP_HAS_NO_ASAN + #elif defined(__IBMCPP__) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -537,6 +560,8 @@ namespace std { } } +#define _LIBCPP_HAS_NO_ASAN + #endif // __clang__ || __GNUC__ || _MSC_VER || __IBMCPP__ #ifdef _LIBCPP_HAS_NO_UNICODE_CHARS @@ -544,6 +569,10 @@ typedef unsigned short char16_t; typedef unsigned int char32_t; #endif // _LIBCPP_HAS_NO_UNICODE_CHARS +#ifndef __SIZEOF_INT128__ +#define _LIBCPP_HAS_NO_INT128 +#endif + #ifdef _LIBCPP_HAS_NO_STATIC_ASSERT template struct __static_assert_test; @@ -619,6 +648,10 @@ template struct __static_assert_check {}; #define _LIBCPP_EXTERN_TEMPLATE2(...) extern template __VA_ARGS__; #endif +#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__) +#define _LIBCPP_NONUNIQUE_RTTI_BIT (1ULL << 63) +#endif + #if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__) || defined(__NetBSD__) #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__locale b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__locale index 5c33038..d078810 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__locale +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__locale @@ -21,7 +21,7 @@ #include #if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) # include -#elif _AIX +#elif defined(_AIX) # include #elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(__EMSCRIPTEN__) || defined(__IBMCPP__) # include diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__mutex_base b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__mutex_base index abb1c12..293fead 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__mutex_base +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__mutex_base @@ -282,7 +282,7 @@ public: void notify_one() _NOEXCEPT; void notify_all() _NOEXCEPT; - void wait(unique_lock& __lk); + void wait(unique_lock& __lk) _NOEXCEPT; template void wait(unique_lock& __lk, _Predicate __pred); @@ -313,7 +313,7 @@ public: private: void __do_timed_wait(unique_lock& __lk, - chrono::time_point); + chrono::time_point) _NOEXCEPT; }; template diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__tree b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__tree index acf8759..8e5447a 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/__tree +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/__tree @@ -1980,9 +1980,9 @@ __tree<_Tp, _Compare, _Allocator>::erase(const_iterator __p) __begin_node() = __r.__ptr_; --size(); __node_allocator& __na = __node_alloc(); - __node_traits::destroy(__na, const_cast(_VSTD::addressof(*__p))); __tree_remove(__end_node()->__left_, static_cast<__node_base_pointer>(__np)); + __node_traits::destroy(__na, const_cast(_VSTD::addressof(*__p))); __node_traits::deallocate(__na, __np, 1); return __r; } diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/algorithm b/9/sources/cxx-stl/llvm-libc++/libcxx/include/algorithm index 367489f..303ec7d 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/algorithm +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/algorithm @@ -281,11 +281,12 @@ template template void - random_shuffle(RandomAccessIterator first, RandomAccessIterator last); + random_shuffle(RandomAccessIterator first, RandomAccessIterator last); // deprecated in C++14 template void - random_shuffle(RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator& rand); + random_shuffle(RandomAccessIterator first, RandomAccessIterator last, + RandomNumberGenerator& rand); // deprecated in C++14 template void shuffle(RandomAccessIterator first, RandomAccessIterator last, @@ -528,19 +529,19 @@ template template const T& - min(const T& a, const T& b); + min(const T& a, const T& b); // constexpr in C++14 template const T& - min(const T& a, const T& b, Compare comp); + min(const T& a, const T& b, Compare comp); // constexpr in C++14 template T - min(initializer_list t); + min(initializer_list t); // constexpr in C++14 template T - min(initializer_list t, Compare comp); + min(initializer_list t, Compare comp); // constexpr in C++14 template ForwardIterator @@ -552,19 +553,19 @@ template template const T& - max(const T& a, const T& b); + max(const T& a, const T& b); // constexpr in C++14 template const T& - max(const T& a, const T& b, Compare comp); + max(const T& a, const T& b, Compare comp); // constexpr in C++14 template T - max(initializer_list t); + max(initializer_list t); // constexpr in C++14 template T - max(initializer_list t, Compare comp); + max(initializer_list t, Compare comp); // constexpr in C++14 template pair @@ -576,19 +577,19 @@ template template pair - minmax(const T& a, const T& b); + minmax(const T& a, const T& b); // constexpr in C++14 template pair - minmax(const T& a, const T& b, Compare comp); + minmax(const T& a, const T& b, Compare comp); // constexpr in C++14 template pair - minmax(initializer_list t); + minmax(initializer_list t); // constexpr in C++14 template pair - minmax(initializer_list t, Compare comp); + minmax(initializer_list t, Compare comp); // constexpr in C++14 template bool @@ -643,6 +644,9 @@ template _LIBCPP_BEGIN_NAMESPACE_STD +// I'd like to replace these with _VSTD::equal_to, but can't because: +// * That only works with C++14 and later, and +// * We haven't included here. template struct __equal_to { @@ -655,46 +659,59 @@ struct __equal_to template struct __equal_to<_T1, _T1> { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} }; template struct __equal_to { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} }; template struct __equal_to<_T1, const _T1> { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;} }; template struct __less { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T2& __y) const {return __x < __y;} - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T2& __x, const _T1& __y) const {return __x < __y;} - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T2& __x, const _T2& __y) const {return __x < __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} + + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T2& __y) const {return __x < __y;} + + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T2& __x, const _T1& __y) const {return __x < __y;} + + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T2& __x, const _T2& __y) const {return __x < __y;} }; template struct __less<_T1, _T1> { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} }; template struct __less { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} }; template struct __less<_T1, const _T1> { - _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;} }; template @@ -2505,9 +2522,9 @@ rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterato // min_element template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _ForwardIterator -min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) +__min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first != __last) { @@ -2519,19 +2536,27 @@ min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) return __first; } +template +inline _LIBCPP_INLINE_VISIBILITY +_ForwardIterator +min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) +{ + return __min_element(__first, __last, __comp); +} + template inline _LIBCPP_INLINE_VISIBILITY _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last) { - return _VSTD::min_element(__first, __last, + return __min_element(__first, __last, __less::value_type>()); } // min template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { @@ -2539,7 +2564,7 @@ min(const _Tp& __a, const _Tp& __b, _Compare __comp) } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Tp& min(const _Tp& __a, const _Tp& __b) { @@ -2549,19 +2574,19 @@ min(const _Tp& __a, const _Tp& __b) #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp min(initializer_list<_Tp> __t, _Compare __comp) { - return *_VSTD::min_element(__t.begin(), __t.end(), __comp); + return *__min_element(__t.begin(), __t.end(), __comp); } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp min(initializer_list<_Tp> __t) { - return *_VSTD::min_element(__t.begin(), __t.end()); + return *__min_element(__t.begin(), __t.end(), __less<_Tp>()); } #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS @@ -2569,9 +2594,9 @@ min(initializer_list<_Tp> __t) // max_element template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _ForwardIterator -max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) +__max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first != __last) { @@ -2583,19 +2608,28 @@ max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) return __first; } + +template +inline _LIBCPP_INLINE_VISIBILITY +_ForwardIterator +max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) +{ + return __max_element(__first, __last, __comp); +} + template inline _LIBCPP_INLINE_VISIBILITY _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { - return _VSTD::max_element(__first, __last, + return __max_element(__first, __last, __less::value_type>()); } // max template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { @@ -2603,7 +2637,7 @@ max(const _Tp& __a, const _Tp& __b, _Compare __comp) } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const _Tp& max(const _Tp& __a, const _Tp& __b) { @@ -2613,19 +2647,19 @@ max(const _Tp& __a, const _Tp& __b) #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp max(initializer_list<_Tp> __t, _Compare __comp) { - return *_VSTD::max_element(__t.begin(), __t.end(), __comp); + return *__max_element(__t.begin(), __t.end(), __comp); } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp max(initializer_list<_Tp> __t) { - return *_VSTD::max_element(__t.begin(), __t.end()); + return *__max_element(__t.begin(), __t.end(), __less<_Tp>()); } #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS @@ -2684,13 +2718,14 @@ inline _LIBCPP_INLINE_VISIBILITY std::pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last) { - return _VSTD::minmax_element(__first, __last, __less::value_type>()); + return _VSTD::minmax_element(__first, __last, + __less::value_type>()); } // minmax template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 pair minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) { @@ -2699,7 +2734,7 @@ minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 pair minmax(const _Tp& __a, const _Tp& __b) { @@ -2708,24 +2743,49 @@ minmax(const _Tp& __a, const _Tp& __b) #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -template -inline _LIBCPP_INLINE_VISIBILITY +template +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 pair<_Tp, _Tp> -minmax(initializer_list<_Tp> __t) +minmax(initializer_list<_Tp> __t, _Compare __comp) { - pair __p = - _VSTD::minmax_element(__t.begin(), __t.end()); - return pair<_Tp, _Tp>(*__p.first, *__p.second); + typedef typename initializer_list<_Tp>::const_iterator _Iter; + _Iter __first = __t.begin(); + _Iter __last = __t.end(); + std::pair<_Tp, _Tp> __result ( *__first, *__first ); + + ++__first; + if (__t.size() % 2 == 0) + { + if (__comp(*__first, __result.first)) + __result.first = *__first; + else + __result.second = *__first; + ++__first; + } + + while (__first != __last) + { + _Tp __prev = *__first++; + if (__comp(__prev, *__first)) { + if (__comp(__prev, __result.first)) __result.first = __prev; + if (__comp(__result.second, *__first)) __result.second = *__first; + } + else { + if (__comp(*__first, __result.first)) __result.first = *__first; + if (__comp(__result.second, __prev)) __result.second = __prev; + } + + __first++; + } + return __result; } -template -inline _LIBCPP_INLINE_VISIBILITY +template +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 pair<_Tp, _Tp> -minmax(initializer_list<_Tp> __t, _Compare __comp) +minmax(initializer_list<_Tp> __t) { - pair __p = - _VSTD::minmax_element(__t.begin(), __t.end(), __comp); - return pair<_Tp, _Tp>(*__p.first, *__p.second); + return _VSTD::minmax(__t, __less<_Tp>()); } #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cmath b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cmath index def49c0..964c672 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cmath +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cmath @@ -1208,11 +1208,7 @@ fdim(_A1 __x, _A2 __y) _NOEXCEPT // fma -inline _LIBCPP_INLINE_VISIBILITY float fmaf(float __x, float __y, float __z) _NOEXCEPT {return (float)((double)__x*__y + __z);} -#ifndef FP_FAST_FMAF -#define FP_FAST_FMAF -#endif - +using ::fmaf; using ::fma; inline _LIBCPP_INLINE_VISIBILITY float fma(float __x, float __y, float __z) _NOEXCEPT {return fmaf(__x, __y, __z);} diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstddef b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstddef index 7ef16ff..0030ec2 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstddef +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstddef @@ -52,7 +52,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD using ::ptrdiff_t; using ::size_t; +#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T) +// Re-use the compiler's max_align_t where possible. +using ::max_align_t; +#else typedef long double max_align_t; +#endif #ifdef _LIBCPP_HAS_NO_NULLPTR diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstdio b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstdio index 7787fad..8f2a7b0 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstdio +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/cstdio @@ -126,6 +126,19 @@ inline _LIBCPP_INLINE_VISIBILITY int __libcpp_putc(int __c, FILE* __stream) {ret inline _LIBCPP_INLINE_VISIBILITY int putc(int __c, FILE* __stream) {return __libcpp_putc(__c, __stream);} #endif // putc +#ifdef __ANDROID__ +// In bionic's stdio.h, putchar appears as both a function prototype and a macro (later +// in the same header). Because it's defined as a macro, the following code snippet replaces +// it with a function but with *different* visibility. GCC 4.x complains [-Wattributes] +// +// include/stdio.h:236:5: warning: conflicts with previous declaration here [-Wattributes] +// int putchar(int); +// +// Undefine putchar to avoid redefinition, and putchar does exist in libc.so +// +#undef putchar +#endif + #ifdef putchar inline _LIBCPP_INLINE_VISIBILITY int __libcpp_putchar(int __c) {return putchar(__c);} #undef putchar diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/deque b/9/sources/cxx-stl/llvm-libc++/libcxx/include/deque index f099000..9b256b7 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/deque +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/deque @@ -1208,7 +1208,7 @@ public: deque() _NOEXCEPT_(is_nothrow_default_constructible::value) {} - _LIBCPP_INLINE_VISIBILITY deque(const allocator_type& __a) : __base(__a) {} + _LIBCPP_INLINE_VISIBILITY explicit deque(const allocator_type& __a) : __base(__a) {} explicit deque(size_type __n); #if _LIBCPP_STD_VER > 11 explicit deque(size_type __n, const _Allocator& __a); diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/__hash b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/__hash index c0523cc..5675d54 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/__hash +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/__hash @@ -19,8 +19,7 @@ namespace __gnu_cxx { using namespace std; -template struct _LIBCPP_TYPE_VIS_ONLY hash : public std::hash<_Tp> - { }; +template struct _LIBCPP_TYPE_VIS_ONLY hash { }; template <> struct _LIBCPP_TYPE_VIS_ONLY hash : public unary_function @@ -41,6 +40,96 @@ template <> struct _LIBCPP_TYPE_VIS_ONLY hash return __do_string_hash(__c, __c + strlen(__c)); } }; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(char __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(signed char __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(unsigned char __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(short __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(unsigned short __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(int __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(unsigned int __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(long __c) const _NOEXCEPT + { + return __c; + } +}; + +template <> struct _LIBCPP_TYPE_VIS_ONLY hash + : public unary_function +{ + _LIBCPP_INLINE_VISIBILITY + size_t operator()(unsigned long __c) const _NOEXCEPT + { + return __c; + } +}; } #endif // _LIBCPP_EXT_HASH diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/hash_map b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/hash_map index 225b72b..36cd595 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/hash_map +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ext/hash_map @@ -430,9 +430,9 @@ public: typedef const value_type& reference; typedef typename __pointer_traits::template #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES - rebind + rebind #else - rebind::other + rebind::other #endif pointer; diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/functional b/9/sources/cxx-stl/llvm-libc++/libcxx/include/functional index 891ed46..167790b 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/functional +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/functional @@ -1617,21 +1617,22 @@ function<_Rp(_ArgTypes...)>::function(allocator_arg_t, const _Alloc& __a0, _Fp _ if (__not_null(__f)) { typedef __function::__func<_Fp, _Alloc, _Rp(_ArgTypes...)> _FF; - if (sizeof(_FF) <= sizeof(__buf_) && is_nothrow_copy_constructible<_Fp>::value) + typedef typename __alloc_traits::template +#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES + rebind_alloc<_FF> +#else + rebind_alloc<_FF>::other +#endif + _Ap; + _Ap __a(__a0); + if (sizeof(_FF) <= sizeof(__buf_) && + is_nothrow_copy_constructible<_Fp>::value && is_nothrow_copy_constructible<_Ap>::value) { __f_ = (__base*)&__buf_; - ::new (__f_) _FF(_VSTD::move(__f)); + ::new (__f_) _FF(_VSTD::move(__f), _Alloc(__a)); } else { - typedef typename __alloc_traits::template -#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES - rebind_alloc<_FF> -#else - rebind_alloc<_FF>::other -#endif - _Ap; - _Ap __a(__a0); typedef __allocator_destructor<_Ap> _Dp; unique_ptr<__base, _Dp> __hold(__a.allocate(1), _Dp(__a, 1)); ::new (__hold.get()) _FF(_VSTD::move(__f), _Alloc(__a)); diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/future b/9/sources/cxx-stl/llvm-libc++/libcxx/include/future index 73d5456..de00f25 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/future +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/future @@ -1872,7 +1872,7 @@ template __packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function(_Fp&& __f) : __f_(nullptr) { - typedef typename remove_reference<_Fp>::type _FR; + typedef typename remove_reference::type>::type _FR; typedef __packaged_task_func<_FR, allocator<_FR>, _Rp(_ArgTypes...)> _FF; if (sizeof(_FF) <= sizeof(__buf_)) { @@ -1897,7 +1897,7 @@ __packaged_task_function<_Rp(_ArgTypes...)>::__packaged_task_function( : __f_(nullptr) { typedef allocator_traits<_Alloc> __alloc_traits; - typedef typename remove_reference<_Fp>::type _FR; + typedef typename remove_reference::type>::type _FR; typedef __packaged_task_func<_FR, _Alloc, _Rp(_ArgTypes...)> _FF; if (sizeof(_FF) <= sizeof(__buf_)) { diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/iomanip b/9/sources/cxx-stl/llvm-libc++/libcxx/include/iomanip index e334c7d..a5042c7 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/iomanip +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/iomanip @@ -519,15 +519,16 @@ std::basic_ostream<_CharT, _Traits> & __quoted_output ( basic_ostream<_CharT, _Traits> &__os, _ForwardIterator __first, _ForwardIterator __last, _CharT __delim, _CharT __escape ) { - __os << __delim; + _VSTD::basic_string<_CharT, _Traits> __str; + __str.push_back(__delim); for ( ; __first != __last; ++ __first ) { if (_Traits::eq (*__first, __escape) || _Traits::eq (*__first, __delim)) - __os << __escape; - __os << *__first; + __str.push_back(__escape); + __str.push_back(*__first); } - __os << __delim; - return __os; + __str.push_back(__delim); + return __put_character_sequence(__os, __str.data(), __str.size()); } template diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/iterator b/9/sources/cxx-stl/llvm-libc++/libcxx/include/iterator index c6dd033..f338e01 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/iterator +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/iterator @@ -138,6 +138,8 @@ template reverse_iterator operator+(typename reverse_iterator::difference_type n, const reverse_iterator& x); +template reverse_iterator make_reverse_iterator(Iterator i); // C++14 + template class back_insert_iterator { @@ -327,6 +329,7 @@ template auto crend(const C& c) -> decltype(std::rend(c)); // */ #include <__config> +#include <__functional_base> #include #include #include @@ -534,7 +537,7 @@ class _LIBCPP_TYPE_VIS_ONLY reverse_iterator typename iterator_traits<_Iter>::reference> { private: - mutable _Iter __t; + mutable _Iter __t; // no longer used as of LWG #2360, not removed due to ABI break protected: _Iter current; public: @@ -548,8 +551,8 @@ public: template _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u) : __t(__u.base()), current(__u.base()) {} _LIBCPP_INLINE_VISIBILITY _Iter base() const {return current;} - _LIBCPP_INLINE_VISIBILITY reference operator*() const {__t = current; return *--__t;} - _LIBCPP_INLINE_VISIBILITY pointer operator->() const {return &(operator*());} + _LIBCPP_INLINE_VISIBILITY reference operator*() const {_Iter __tmp = current; return *--__tmp;} + _LIBCPP_INLINE_VISIBILITY pointer operator->() const {return _VSTD::addressof(operator*());} _LIBCPP_INLINE_VISIBILITY reverse_iterator& operator++() {--current; return *this;} _LIBCPP_INLINE_VISIBILITY reverse_iterator operator++(int) {reverse_iterator __tmp(*this); --current; return __tmp;} @@ -632,6 +635,15 @@ operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_i return reverse_iterator<_Iter>(__x.base() - __n); } +#if _LIBCPP_STD_VER > 11 +template +inline _LIBCPP_INLINE_VISIBILITY +reverse_iterator<_Iter> make_reverse_iterator(_Iter __i) +{ + return reverse_iterator<_Iter>(__i); +} +#endif + template class _LIBCPP_TYPE_VIS_ONLY back_insert_iterator : public iteratorpush_back(__value_); return *this;} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -678,7 +690,7 @@ protected: public: typedef _Container container_type; - _LIBCPP_INLINE_VISIBILITY explicit front_insert_iterator(_Container& __x) : container(&__x) {} + _LIBCPP_INLINE_VISIBILITY explicit front_insert_iterator(_Container& __x) : container(_VSTD::addressof(__x)) {} _LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator=(const typename _Container::value_type& __value_) {container->push_front(__value_); return *this;} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -713,7 +725,7 @@ public: typedef _Container container_type; _LIBCPP_INLINE_VISIBILITY insert_iterator(_Container& __x, typename _Container::iterator __i) - : container(&__x), iter(__i) {} + : container(_VSTD::addressof(__x)), iter(__i) {} _LIBCPP_INLINE_VISIBILITY insert_iterator& operator=(const typename _Container::value_type& __value_) {iter = container->insert(iter, __value_); ++iter; return *this;} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -1386,7 +1398,7 @@ operator+(typename __wrap_iter<_Iter>::difference_type __n, } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp* begin(_Tp (&__array)[_Np]) { @@ -1394,7 +1406,7 @@ begin(_Tp (&__array)[_Np]) } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 _Tp* end(_Tp (&__array)[_Np]) { @@ -1466,17 +1478,17 @@ reverse_iterator rend(initializer_list<_Ep> __il) } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 auto cbegin(const _Cp& __c) -> decltype(begin(__c)) { - return _VSTD::begin(__c); + return begin(__c); } template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 auto cend(const _Cp& __c) -> decltype(end(__c)) { - return _VSTD::end(__c); + return end(__c); } template diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/locale b/9/sources/cxx-stl/llvm-libc++/libcxx/include/locale index cdfe120..7a94613 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/locale +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/locale @@ -2799,7 +2799,7 @@ public: explicit moneypunct_byname(const char* __nm, size_t __refs = 0) : moneypunct<_CharT, _International>(__refs) {init(__nm);} - _LIBCPP_ALWAYS_INLINE + _LIBCPP_ALWAYS_INLINE_EXCEPT_GCC49 explicit moneypunct_byname(const string& __nm, size_t __refs = 0) : moneypunct<_CharT, _International>(__refs) {init(__nm.c_str());} diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/map b/9/sources/cxx-stl/llvm-libc++/libcxx/include/map index 9779b70..5534e40 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/map +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/map @@ -835,11 +835,18 @@ public: typedef _VSTD::reverse_iterator const_reverse_iterator; _LIBCPP_INLINE_VISIBILITY - explicit map(const key_compare& __comp = key_compare()) + map() _NOEXCEPT_( is_nothrow_default_constructible::value && is_nothrow_default_constructible::value && is_nothrow_copy_constructible::value) + : __tree_(__vc(key_compare())) {} + + _LIBCPP_INLINE_VISIBILITY + explicit map(const key_compare& __comp) + _NOEXCEPT_( + is_nothrow_default_constructible::value && + is_nothrow_copy_constructible::value) : __tree_(__vc(__comp)) {} _LIBCPP_INLINE_VISIBILITY @@ -1568,11 +1575,18 @@ public: typedef _VSTD::reverse_iterator const_reverse_iterator; _LIBCPP_INLINE_VISIBILITY - explicit multimap(const key_compare& __comp = key_compare()) + multimap() _NOEXCEPT_( is_nothrow_default_constructible::value && is_nothrow_default_constructible::value && is_nothrow_copy_constructible::value) + : __tree_(__vc(key_compare())) {} + + _LIBCPP_INLINE_VISIBILITY + explicit multimap(const key_compare& __comp) + _NOEXCEPT_( + is_nothrow_default_constructible::value && + is_nothrow_copy_constructible::value) : __tree_(__vc(__comp)) {} _LIBCPP_INLINE_VISIBILITY diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/memory b/9/sources/cxx-stl/llvm-libc++/libcxx/include/memory index b9f61c2..d19bb7f 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/memory +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/memory @@ -479,6 +479,8 @@ public: template weak_ptr(shared_ptr const& r) noexcept; weak_ptr(weak_ptr const& r) noexcept; template weak_ptr(weak_ptr const& r) noexcept; + weak_ptr(weak_ptr&& r) noexcept; // C++14 + template weak_ptr(weak_ptr&& r) noexcept; // C++14 // destructor ~weak_ptr(); @@ -487,6 +489,8 @@ public: weak_ptr& operator=(weak_ptr const& r) noexcept; template weak_ptr& operator=(weak_ptr const& r) noexcept; template weak_ptr& operator=(shared_ptr const& r) noexcept; + weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14 + template weak_ptr& operator=(weak_ptr&& r) noexcept; // C++14 // modifiers void swap(weak_ptr& r) noexcept; @@ -2397,13 +2401,14 @@ template struct __same_or_less_cv_qualified_imp<_Ptr1, _Ptr2, false> : false_type {}; -template ::value && - !is_pointer<_Ptr1>::value> +template ::value || + is_same<_Ptr1, _Ptr2>::value || + __has_element_type<_Ptr1>::value> struct __same_or_less_cv_qualified : __same_or_less_cv_qualified_imp<_Ptr1, _Ptr2> {}; template -struct __same_or_less_cv_qualified<_Ptr1, _Ptr2, true> +struct __same_or_less_cv_qualified<_Ptr1, _Ptr2, false> : false_type {}; // default_delete diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ostream b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ostream index 20587a1..9d96fd8 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/ostream +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/ostream @@ -765,7 +765,7 @@ template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c) { - return _VSTD::__put_character_sequence(__os, &__c, 1); + return _VSTD::__put_character_sequence(__os, &__c, 1); } template @@ -805,28 +805,28 @@ template basic_ostream& operator<<(basic_ostream& __os, char __c) { - return _VSTD::__put_character_sequence(__os, &__c, 1); + return _VSTD::__put_character_sequence(__os, &__c, 1); } template basic_ostream& operator<<(basic_ostream& __os, signed char __c) { - return _VSTD::__put_character_sequence(__os, (char *) &__c, 1); + return _VSTD::__put_character_sequence(__os, (char *) &__c, 1); } template basic_ostream& operator<<(basic_ostream& __os, unsigned char __c) { - return _VSTD::__put_character_sequence(__os, (char *) &__c, 1); + return _VSTD::__put_character_sequence(__os, (char *) &__c, 1); } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __str) { - return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str)); + return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str)); } template @@ -879,23 +879,23 @@ template basic_ostream& operator<<(basic_ostream& __os, const char* __str) { - return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str)); + return _VSTD::__put_character_sequence(__os, __str, _Traits::length(__str)); } template basic_ostream& operator<<(basic_ostream& __os, const signed char* __str) { - const char *__s = (const char *) __str; - return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s)); + const char *__s = (const char *) __str; + return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s)); } template basic_ostream& operator<<(basic_ostream& __os, const unsigned char* __str) { - const char *__s = (const char *) __str; - return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s)); + const char *__s = (const char *) __str; + return _VSTD::__put_character_sequence(__os, __s, _Traits::length(__s)); } template @@ -1065,7 +1065,7 @@ basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Allocator>& __str) { - return _VSTD::__put_character_sequence(__os, __str.data(), __str.size()); + return _VSTD::__put_character_sequence(__os, __str.data(), __str.size()); } template diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/regex b/9/sources/cxx-stl/llvm-libc++/libcxx/include/regex index 8c95145..26ade48 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/regex +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/regex @@ -437,7 +437,7 @@ class match_results public: typedef sub_match value_type; typedef const value_type& const_reference; - typedef const_reference reference; + typedef value_type& reference; typedef /implementation-defined/ const_iterator; typedef const_iterator iterator; typedef typename iterator_traits::difference_type difference_type; @@ -546,6 +546,13 @@ template const basic_regex& e, regex_constants::match_flag_type flags = regex_constants::match_default); +template + bool + regex_match(const basic_string&& s, + match_results::const_iterator, Allocator>& m, + const basic_regex& e, + regex_constants::match_flag_type flags = regex_constants::match_default) = delete; // C++14 + template bool regex_match(const charT* str, const basic_regex& e, @@ -594,6 +601,13 @@ template const basic_regex& e, regex_constants::match_flag_type flags = regex_constants::match_default); +template + bool + regex_search(const basic_string&& s, + match_results::const_iterator, Allocator>& m, + const basic_regex& e, + regex_constants::match_flag_type flags = regex_constants::match_default) = delete; // C++14 + template OutputIterator @@ -655,6 +669,10 @@ public: regex_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, regex_constants::match_flag_type m = regex_constants::match_default); + regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, + const regex_type&& __re, + regex_constants::match_flag_type __m + = regex_constants::match_default) = delete; // C++14 regex_iterator(const regex_iterator&); regex_iterator& operator=(const regex_iterator&); @@ -691,15 +709,28 @@ public: const regex_type& re, int submatch = 0, regex_constants::match_flag_type m = regex_constants::match_default); regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, + const regex_type&& re, int submatch = 0, + regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14 + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const vector& submatches, regex_constants::match_flag_type m = regex_constants::match_default); regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, + const regex_type&& re, const vector& submatches, + regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14 + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, initializer_list submatches, regex_constants::match_flag_type m = regex_constants::match_default); + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, + const regex_type&& re, initializer_list submatches, + regex_constants::match_flag_type m = regex_constants::match_default) = delete; // C++14 template regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, const regex_type& re, const int (&submatches)[N], regex_constants::match_flag_type m = regex_constants::match_default); + template + regex_token_iterator(BidirectionalIterator a, BidirectionalIterator b, + const regex_type& re, const int (&submatches)[N], + regex_constants::match_flag_type m = regex_constants::match_default) = delete // C++14; regex_token_iterator(const regex_token_iterator&); regex_token_iterator& operator=(const regex_token_iterator&); @@ -5232,7 +5263,7 @@ private: public: _BidirectionalIterator __position_start_; typedef const value_type& const_reference; - typedef const_reference reference; + typedef value_type& reference; typedef typename __container_type::const_iterator const_iterator; typedef const_iterator iterator; typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type; @@ -5943,6 +5974,15 @@ regex_search(const basic_string<_CharT, _ST, _SA>& __s, return __r; } +#if _LIBCPP_STD_VER > 11 +template +bool +regex_search(const basic_string<_Cp, _ST, _SA>&& __s, + match_results::const_iterator, _Ap>&, + const basic_regex<_Cp, _Tp>& __e, + regex_constants::match_flag_type __flags = regex_constants::match_default) = delete; +#endif + // regex_match template @@ -5995,6 +6035,16 @@ regex_match(const basic_string<_CharT, _ST, _SA>& __s, return _VSTD::regex_match(__s.begin(), __s.end(), __m, __e, __flags); } +#if _LIBCPP_STD_VER > 11 +template +inline _LIBCPP_INLINE_VISIBILITY +bool +regex_match(const basic_string<_CharT, _ST, _SA>&& __s, + match_results::const_iterator, _Allocator>& __m, + const basic_regex<_CharT, _Traits>& __e, + regex_constants::match_flag_type __flags = regex_constants::match_default) = delete; +#endif + template inline _LIBCPP_INLINE_VISIBILITY bool @@ -6040,7 +6090,14 @@ public: regex_iterator(); regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, const regex_type& __re, - regex_constants::match_flag_type __m = regex_constants::match_default); + regex_constants::match_flag_type __m + = regex_constants::match_default); +#if _LIBCPP_STD_VER > 11 + regex_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, + const regex_type&& __re, + regex_constants::match_flag_type __m + = regex_constants::match_default) = delete; +#endif bool operator==(const regex_iterator& __x) const; _LIBCPP_INLINE_VISIBILITY @@ -6156,16 +6213,38 @@ public: const regex_type& __re, int __submatch = 0, regex_constants::match_flag_type __m = regex_constants::match_default); +#if _LIBCPP_STD_VER > 11 + regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, + const regex_type&& __re, int __submatch = 0, + regex_constants::match_flag_type __m = + regex_constants::match_default) = delete; +#endif + regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, const regex_type& __re, const vector& __submatches, regex_constants::match_flag_type __m = regex_constants::match_default); +#if _LIBCPP_STD_VER > 11 + regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, + const regex_type&& __re, const vector& __submatches, + regex_constants::match_flag_type __m = + regex_constants::match_default) = delete; +#endif + #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, const regex_type& __re, initializer_list __submatches, regex_constants::match_flag_type __m = regex_constants::match_default); + +#if _LIBCPP_STD_VER > 11 + regex_token_iterator(_BidirectionalIterator __a, _BidirectionalIterator __b, + const regex_type&& __re, + initializer_list __submatches, + regex_constants::match_flag_type __m = + regex_constants::match_default) = delete; +#endif #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template regex_token_iterator(_BidirectionalIterator __a, @@ -6174,6 +6253,16 @@ public: const int (&__submatches)[_Np], regex_constants::match_flag_type __m = regex_constants::match_default); +#if _LIBCPP_STD_VER > 11 + template + regex_token_iterator(_BidirectionalIterator __a, + _BidirectionalIterator __b, + const regex_type&& __re, + const int (&__submatches)[_Np], + regex_constants::match_flag_type __m = + regex_constants::match_default) = delete; +#endif + regex_token_iterator(const regex_token_iterator&); regex_token_iterator& operator=(const regex_token_iterator&); diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/set b/9/sources/cxx-stl/llvm-libc++/libcxx/include/set index a537c5f..b9e776d 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/set +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/set @@ -425,14 +425,22 @@ public: typedef _VSTD::reverse_iterator const_reverse_iterator; _LIBCPP_INLINE_VISIBILITY - explicit set(const value_compare& __comp = value_compare()) + set() _NOEXCEPT_( is_nothrow_default_constructible::value && is_nothrow_default_constructible::value && is_nothrow_copy_constructible::value) + : __tree_(value_compare()) {} + + _LIBCPP_INLINE_VISIBILITY + explicit set(const value_compare& __comp) + _NOEXCEPT_( + is_nothrow_default_constructible::value && + is_nothrow_copy_constructible::value) : __tree_(__comp) {} + _LIBCPP_INLINE_VISIBILITY - set(const value_compare& __comp, const allocator_type& __a) + explicit set(const value_compare& __comp, const allocator_type& __a) : __tree_(__comp, __a) {} template _LIBCPP_INLINE_VISIBILITY @@ -822,14 +830,22 @@ public: // construct/copy/destroy: _LIBCPP_INLINE_VISIBILITY - explicit multiset(const value_compare& __comp = value_compare()) + multiset() _NOEXCEPT_( is_nothrow_default_constructible::value && is_nothrow_default_constructible::value && is_nothrow_copy_constructible::value) + : __tree_(value_compare()) {} + + _LIBCPP_INLINE_VISIBILITY + explicit multiset(const value_compare& __comp) + _NOEXCEPT_( + is_nothrow_default_constructible::value && + is_nothrow_copy_constructible::value) : __tree_(__comp) {} + _LIBCPP_INLINE_VISIBILITY - multiset(const value_compare& __comp, const allocator_type& __a) + explicit multiset(const value_compare& __comp, const allocator_type& __a) : __tree_(__comp, __a) {} template _LIBCPP_INLINE_VISIBILITY diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/shared_mutex b/9/sources/cxx-stl/llvm-libc++/libcxx/include/shared_mutex index 5b1f53a..7661054 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/shared_mutex +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/shared_mutex @@ -19,14 +19,14 @@ namespace std { -class shared_mutex +class shared_timed_mutex { public: - shared_mutex(); - ~shared_mutex(); + shared_timed_mutex(); + ~shared_timed_mutex(); - shared_mutex(const shared_mutex&) = delete; - shared_mutex& operator=(const shared_mutex&) = delete; + shared_timed_mutex(const shared_timed_mutex&) = delete; + shared_timed_mutex& operator=(const shared_timed_mutex&) = delete; // Exclusive ownership void lock(); // blocking @@ -114,7 +114,7 @@ template _LIBCPP_BEGIN_NAMESPACE_STD -class _LIBCPP_TYPE_VIS shared_mutex +class _LIBCPP_TYPE_VIS shared_timed_mutex { mutex __mut_; condition_variable __gate1_; @@ -124,11 +124,11 @@ class _LIBCPP_TYPE_VIS shared_mutex static const unsigned __write_entered_ = 1U << (sizeof(unsigned)*__CHAR_BIT__ - 1); static const unsigned __n_readers_ = ~__write_entered_; public: - shared_mutex(); - _LIBCPP_INLINE_VISIBILITY ~shared_mutex() = default; + shared_timed_mutex(); + _LIBCPP_INLINE_VISIBILITY ~shared_timed_mutex() = default; - shared_mutex(const shared_mutex&) = delete; - shared_mutex& operator=(const shared_mutex&) = delete; + shared_timed_mutex(const shared_timed_mutex&) = delete; + shared_timed_mutex& operator=(const shared_timed_mutex&) = delete; // Exclusive ownership void lock(); @@ -163,7 +163,7 @@ public: template bool -shared_mutex::try_lock_until( +shared_timed_mutex::try_lock_until( const chrono::time_point<_Clock, _Duration>& __abs_time) { unique_lock __lk(__mut_); @@ -198,7 +198,7 @@ shared_mutex::try_lock_until( template bool -shared_mutex::try_lock_shared_until( +shared_timed_mutex::try_lock_shared_until( const chrono::time_point<_Clock, _Duration>& __abs_time) { unique_lock __lk(__mut_); diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/string b/9/sources/cxx-stl/llvm-libc++/libcxx/include/string index f93fac1..7e61909 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/string +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/string @@ -161,7 +161,7 @@ public: basic_string& operator+=(initializer_list); basic_string& append(const basic_string& str); - basic_string& append(const basic_string& str, size_type pos, size_type n); + basic_string& append(const basic_string& str, size_type pos, size_type n=npos); //C++14 basic_string& append(const value_type* s, size_type n); basic_string& append(const value_type* s); basic_string& append(size_type n, value_type c); @@ -178,7 +178,7 @@ public: basic_string& assign(const basic_string& str); basic_string& assign(basic_string&& str); - basic_string& assign(const basic_string& str, size_type pos, size_type n); + basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++14 basic_string& assign(const value_type* s, size_type n); basic_string& assign(const value_type* s); basic_string& assign(size_type n, value_type c); @@ -189,7 +189,7 @@ public: basic_string& insert(size_type pos1, const basic_string& str); basic_string& insert(size_type pos1, const basic_string& str, size_type pos2, size_type n); - basic_string& insert(size_type pos, const value_type* s, size_type n); + basic_string& insert(size_type pos, const value_type* s, size_type n=npos); //C++14 basic_string& insert(size_type pos, const value_type* s); basic_string& insert(size_type pos, size_type n, value_type c); iterator insert(const_iterator p, value_type c); @@ -204,7 +204,7 @@ public: basic_string& replace(size_type pos1, size_type n1, const basic_string& str); basic_string& replace(size_type pos1, size_type n1, const basic_string& str, - size_type pos2, size_type n2); + size_type pos2, size_type n2=npos); // C++14 basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2); basic_string& replace(size_type pos, size_type n1, const value_type* s); basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c); @@ -261,7 +261,7 @@ public: int compare(const basic_string& str) const noexcept; int compare(size_type pos1, size_type n1, const basic_string& str) const; int compare(size_type pos1, size_type n1, const basic_string& str, - size_type pos2, size_type n2) const; + size_type pos2, size_type n2=npos) const; // C++14 int compare(const value_type* s) const noexcept; int compare(size_type pos1, size_type n1, const value_type* s) const; int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const; @@ -1426,7 +1426,7 @@ public: _LIBCPP_INLINE_VISIBILITY basic_string& append(const basic_string& __str); - basic_string& append(const basic_string& __str, size_type __pos, size_type __n); + basic_string& append(const basic_string& __str, size_type __pos, size_type __n=npos); basic_string& append(const value_type* __s, size_type __n); basic_string& append(const value_type* __s); basic_string& append(size_type __n, value_type __c); @@ -1465,7 +1465,7 @@ public: basic_string& assign(basic_string&& str) {*this = _VSTD::move(str); return *this;} #endif - basic_string& assign(const basic_string& __str, size_type __pos, size_type __n); + basic_string& assign(const basic_string& __str, size_type __pos, size_type __n=npos); basic_string& assign(const value_type* __s, size_type __n); basic_string& assign(const value_type* __s); basic_string& assign(size_type __n, value_type __c); @@ -1491,7 +1491,7 @@ public: _LIBCPP_INLINE_VISIBILITY basic_string& insert(size_type __pos1, const basic_string& __str); - basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n); + basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n=npos); basic_string& insert(size_type __pos, const value_type* __s, size_type __n); basic_string& insert(size_type __pos, const value_type* __s); basic_string& insert(size_type __pos, size_type __n, value_type __c); @@ -1527,7 +1527,7 @@ public: _LIBCPP_INLINE_VISIBILITY basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str); - basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2); + basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2=npos); basic_string& replace(size_type __pos, size_type __n1, const value_type* __s, size_type __n2); basic_string& replace(size_type __pos, size_type __n1, const value_type* __s); basic_string& replace(size_type __pos, size_type __n1, size_type __n2, value_type __c); @@ -1619,7 +1619,7 @@ public: int compare(const basic_string& __str) const _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY int compare(size_type __pos1, size_type __n1, const basic_string& __str) const; - int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; + int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2=npos) const; int compare(const value_type* __s) const _NOEXCEPT; int compare(size_type __pos1, size_type __n1, const value_type* __s) const; int compare(size_type __pos1, size_type __n1, const value_type* __s, size_type __n2) const; @@ -3467,7 +3467,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s, { _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_first_of(): recieved nullptr"); return _VSTD::__find_first_of - (data(), size(), __s, __pos, __n); + (data(), size(), __s, __pos, __n); } template @@ -3477,7 +3477,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_of(const basic_string& __s size_type __pos) const _NOEXCEPT { return _VSTD::__find_first_of - (data(), size(), __str.data(), __pos, __str.size()); + (data(), size(), __str.data(), __pos, __str.size()); } template @@ -3488,7 +3488,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_of(const value_type* __s, { _LIBCPP_ASSERT(__s != nullptr, "string::find_first_of(): recieved nullptr"); return _VSTD::__find_first_of - (data(), size(), __s, __pos, traits_type::length(__s)); + (data(), size(), __s, __pos, traits_type::length(__s)); } template @@ -3510,7 +3510,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s, { _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_last_of(): recieved nullptr"); return _VSTD::__find_last_of - (data(), size(), __s, __pos, __n); + (data(), size(), __s, __pos, __n); } template @@ -3520,7 +3520,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_of(const basic_string& __st size_type __pos) const _NOEXCEPT { return _VSTD::__find_last_of - (data(), size(), __str.data(), __pos, __str.size()); + (data(), size(), __str.data(), __pos, __str.size()); } template @@ -3531,7 +3531,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_of(const value_type* __s, { _LIBCPP_ASSERT(__s != nullptr, "string::find_last_of(): recieved nullptr"); return _VSTD::__find_last_of - (data(), size(), __s, __pos, traits_type::length(__s)); + (data(), size(), __s, __pos, traits_type::length(__s)); } template @@ -3553,7 +3553,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* _ { _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_first_not_of(): recieved nullptr"); return _VSTD::__find_first_not_of - (data(), size(), __s, __pos, __n); + (data(), size(), __s, __pos, __n); } template @@ -3563,7 +3563,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const basic_string& size_type __pos) const _NOEXCEPT { return _VSTD::__find_first_not_of - (data(), size(), __str.data(), __pos, __str.size()); + (data(), size(), __str.data(), __pos, __str.size()); } template @@ -3574,7 +3574,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(const value_type* _ { _LIBCPP_ASSERT(__s != nullptr, "string::find_first_not_of(): recieved nullptr"); return _VSTD::__find_first_not_of - (data(), size(), __s, __pos, traits_type::length(__s)); + (data(), size(), __s, __pos, traits_type::length(__s)); } template @@ -3584,7 +3584,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_first_not_of(value_type __c, size_type __pos) const _NOEXCEPT { return _VSTD::__find_first_not_of - (data(), size(), __c, __pos); + (data(), size(), __c, __pos); } // find_last_not_of @@ -3597,7 +3597,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __ { _LIBCPP_ASSERT(__n == 0 || __s != nullptr, "string::find_last_not_of(): recieved nullptr"); return _VSTD::__find_last_not_of - (data(), size(), __s, __pos, __n); + (data(), size(), __s, __pos, __n); } template @@ -3607,7 +3607,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const basic_string& size_type __pos) const _NOEXCEPT { return _VSTD::__find_last_not_of - (data(), size(), __str.data(), __pos, __str.size()); + (data(), size(), __str.data(), __pos, __str.size()); } template @@ -3618,7 +3618,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(const value_type* __ { _LIBCPP_ASSERT(__s != nullptr, "string::find_last_not_of(): recieved nullptr"); return _VSTD::__find_last_not_of - (data(), size(), __s, __pos, traits_type::length(__s)); + (data(), size(), __s, __pos, traits_type::length(__s)); } template @@ -3628,7 +3628,7 @@ basic_string<_CharT, _Traits, _Allocator>::find_last_not_of(value_type __c, size_type __pos) const _NOEXCEPT { return _VSTD::__find_last_not_of - (data(), size(), __c, __pos); + (data(), size(), __c, __pos); } // compare diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/tuple b/9/sources/cxx-stl/llvm-libc++/libcxx/include/tuple index 24e086d..27a5a46 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/tuple +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/tuple @@ -74,7 +74,7 @@ const unspecified ignore; template tuple make_tuple(T&&...); // constexpr in C++14 template tuple forward_as_tuple(T&&...) noexcept; // constexpr in C++14 -template tuple tie(T&...) noexcept; +template tuple tie(T&...) noexcept; // constexpr in C++14 template tuple tuple_cat(Tuples&&... tpls); // constexpr in C++14 // 20.4.1.4, tuple helper classes: @@ -82,13 +82,15 @@ template class tuple_size; // undefined template class tuple_size>; template class tuple_element; // undefined template class tuple_element>; +template + using tuple_element_t = typename tuple_element <_Ip, _Tp...>::type; // C++14 // 20.4.1.5, element access: template typename tuple_element>::type& get(tuple&) noexcept; // constexpr in C++14 template - typename tuple_element>::type const& + typename const tuple_element>::type & get(const tuple&) noexcept; // constexpr in C++14 template typename tuple_element>::type&& @@ -152,6 +154,11 @@ public: typedef typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type; }; +#if _LIBCPP_STD_VER > 11 +template +using tuple_element_t = typename tuple_element <_Ip, _Tp...>::type; +#endif + // __tuple_leaf template ::value @@ -261,17 +268,8 @@ public: >::value)), "Attempted to construct a reference element in a tuple with an rvalue");} - _LIBCPP_INLINE_VISIBILITY - _LIBCPP_CONSTEXPR_AFTER_CXX11 - __tuple_leaf(const __tuple_leaf& __t) _NOEXCEPT_(is_nothrow_copy_constructible<_Hp>::value) - : value(__t.get()) - {static_assert(!is_rvalue_reference<_Hp>::value, "Can not copy a tuple with rvalue reference member");} - - _LIBCPP_INLINE_VISIBILITY - _LIBCPP_CONSTEXPR_AFTER_CXX11 - __tuple_leaf(__tuple_leaf&& __t) _NOEXCEPT_(is_nothrow_move_constructible<_Hp>::value) - : value(_VSTD::forward<_Hp>(__t.get())) - {} + __tuple_leaf(const __tuple_leaf& __t) = default; + __tuple_leaf(__tuple_leaf&& __t) = default; template _LIBCPP_INLINE_VISIBILITY @@ -796,7 +794,7 @@ constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept // tie template -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 tuple<_Tp&...> tie(_Tp&... __t) _NOEXCEPT { diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/type_traits b/9/sources/cxx-stl/llvm-libc++/libcxx/include/type_traits index 3e3d8b7..b5f4b3e 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/type_traits +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/type_traits @@ -91,6 +91,7 @@ namespace std template struct is_empty; template struct is_polymorphic; template struct is_abstract; + template struct is_final; // C++14 template struct is_constructible; template struct is_default_constructible; @@ -236,10 +237,10 @@ struct _LIBCPP_TYPE_VIS_ONLY integral_constant typedef _Tp value_type; typedef integral_constant type; _LIBCPP_INLINE_VISIBILITY - _LIBCPP_CONSTEXPR operator value_type() const {return value;} + _LIBCPP_CONSTEXPR operator value_type() const _NOEXCEPT {return value;} #if _LIBCPP_STD_VER > 11 _LIBCPP_INLINE_VISIBILITY - constexpr value_type operator ()() const {return value;} + constexpr value_type operator ()() const _NOEXCEPT {return value;} #endif }; @@ -324,6 +325,10 @@ template <> struct __libcpp_is_integral : public tr template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; +#ifndef _LIBCPP_HAS_NO_INT128 +template <> struct __libcpp_is_integral<__int128_t> : public true_type {}; +template <> struct __libcpp_is_integral<__uint128_t> : public true_type {}; +#endif template struct _LIBCPP_TYPE_VIS_ONLY is_integral : public __libcpp_is_integral::type> {}; @@ -759,6 +764,13 @@ template struct __libcpp_abstract<_Tp, false> : public false_type {} template struct _LIBCPP_TYPE_VIS_ONLY is_abstract : public __libcpp_abstract<_Tp> {}; +// is_final + +#if _LIBCPP_STD_VER > 11 && __has_feature(is_final) +template struct _LIBCPP_TYPE_VIS_ONLY +is_final : public integral_constant {}; +#endif + // is_base_of #ifdef _LIBCPP_HAS_IS_BASE_OF @@ -946,7 +958,7 @@ template struct _LIBCPP_TYPE_VIS_ONLY is_empty : public __libcpp_emp // is_polymorphic -#if __has_feature(is_polymorphic) +#if __has_feature(is_polymorphic) || defined(_LIBCPP_MSVC) template struct _LIBCPP_TYPE_VIS_ONLY is_polymorphic @@ -1239,7 +1251,13 @@ typedef __type_list +#endif > > > > > __signed_types; typedef @@ -1248,7 +1266,13 @@ typedef __type_list +#endif > > > > > __unsigned_types; template struct __find_first; @@ -1332,6 +1356,10 @@ template <> struct __make_signed< signed long, true> {typedef long ty template <> struct __make_signed {typedef long type;}; template <> struct __make_signed< signed long long, true> {typedef long long type;}; template <> struct __make_signed {typedef long long type;}; +#ifndef _LIBCPP_HAS_NO_INT128 +template <> struct __make_signed<__int128_t, true> {typedef __int128_t type;}; +template <> struct __make_signed<__uint128_t, true> {typedef __int128_t type;}; +#endif template struct _LIBCPP_TYPE_VIS_ONLY make_signed @@ -1361,6 +1389,10 @@ template <> struct __make_unsigned< signed long, true> {typedef unsigned l template <> struct __make_unsigned {typedef unsigned long type;}; template <> struct __make_unsigned< signed long long, true> {typedef unsigned long long type;}; template <> struct __make_unsigned {typedef unsigned long long type;}; +#ifndef _LIBCPP_HAS_NO_INT128 +template <> struct __make_unsigned<__int128_t, true> {typedef __uint128_t type;}; +template <> struct __make_unsigned<__uint128_t, true> {typedef __uint128_t type;}; +#endif template struct _LIBCPP_TYPE_VIS_ONLY make_unsigned @@ -2002,10 +2034,24 @@ class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0, _A1, _A2)> #endif // _LIBCPP_HAS_NO_VARIADICS -#ifndef _LIBCPP_HAS_NO_VARIADICS - // template struct is_constructible; +namespace __is_construct +{ +struct __nat {}; +} + +#if __has_feature(is_constructible) + +template +struct _LIBCPP_TYPE_VIS_ONLY is_constructible + : public integral_constant + {}; + +#else + +#ifndef _LIBCPP_HAS_NO_VARIADICS + // main is_constructible test template @@ -2233,13 +2279,6 @@ struct __is_constructible2_void_check // is_constructible entry point -namespace __is_construct -{ - -struct __nat {}; - -} - template struct _LIBCPP_TYPE_VIS_ONLY is_constructible @@ -2304,6 +2343,7 @@ struct __is_constructible2_imp {}; #endif // _LIBCPP_HAS_NO_VARIADICS +#endif // __has_feature(is_constructible) // is_default_constructible diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/typeinfo b/9/sources/cxx-stl/llvm-libc++/libcxx/include/typeinfo index 6ffee0f..14ef77b 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/typeinfo +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/typeinfo @@ -60,6 +60,7 @@ public: #include <__config> #include #include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header @@ -73,32 +74,75 @@ class _LIBCPP_EXCEPTION_ABI type_info type_info& operator=(const type_info&); type_info(const type_info&); protected: +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT const char* __type_name; +#else + // A const char* with the non-unique RTTI bit possibly set. + uintptr_t __type_name; +#endif _LIBCPP_INLINE_VISIBILITY explicit type_info(const char* __n) +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT : __type_name(__n) {} +#else + : __type_name(reinterpret_cast(__n)) {} +#endif public: virtual ~type_info(); _LIBCPP_INLINE_VISIBILITY - const char* name() const _NOEXCEPT {return __type_name;} + const char* name() const _NOEXCEPT +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT + {return __type_name;} +#else + {return reinterpret_cast(__type_name & ~_LIBCPP_NONUNIQUE_RTTI_BIT);} +#endif _LIBCPP_INLINE_VISIBILITY bool before(const type_info& __arg) const _NOEXCEPT +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT {return __type_name < __arg.__type_name;} +#else + {if (!((__type_name & __arg.__type_name) & _LIBCPP_NONUNIQUE_RTTI_BIT)) + return __type_name < __arg.__type_name; + return __compare_nonunique_names(__arg) < 0;} +#endif + _LIBCPP_INLINE_VISIBILITY size_t hash_code() const _NOEXCEPT +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT {return *reinterpret_cast(&__type_name);} +#else + {if (!(__type_name & _LIBCPP_NONUNIQUE_RTTI_BIT)) return __type_name; + const char *__ptr = name(); + size_t __hash = 5381; + while (unsigned char __c = static_cast(*__ptr++)) + __hash = (__hash * 33) ^ __c; + return __hash;} +#endif _LIBCPP_INLINE_VISIBILITY bool operator==(const type_info& __arg) const _NOEXCEPT +#ifndef _LIBCPP_NONUNIQUE_RTTI_BIT {return __type_name == __arg.__type_name;} +#else + {if (__type_name == __arg.__type_name) return true; + if (!((__type_name & __arg.__type_name) & _LIBCPP_NONUNIQUE_RTTI_BIT)) + return false; + return __compare_nonunique_names(__arg) == 0;} +#endif _LIBCPP_INLINE_VISIBILITY bool operator!=(const type_info& __arg) const _NOEXCEPT {return !operator==(__arg);} +#ifdef _LIBCPP_NONUNIQUE_RTTI_BIT + private: + _LIBCPP_INLINE_VISIBILITY + int __compare_nonunique_names(const type_info &__arg) const _NOEXCEPT + {return __builtin_strcmp(name(), __arg.name());} +#endif }; class _LIBCPP_EXCEPTION_ABI bad_cast diff --git a/9/sources/cxx-stl/llvm-libc++/libcxx/include/utility b/9/sources/cxx-stl/llvm-libc++/libcxx/include/utility index 0a1a7f1..8a7e1dc 100644 --- a/9/sources/cxx-stl/llvm-libc++/libcxx/include/utility +++ b/9/sources/cxx-stl/llvm-libc++/libcxx/include/utility @@ -101,30 +101,30 @@ constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); template class tuple_size; template class tuple_element; -template struct tuple_size >; -template struct tuple_element<0, std::pair >; -template struct tuple_element<1, std::pair >; +template struct tuple_size >; +template struct tuple_element<0, pair >; +template struct tuple_element<1, pair >; template - typename tuple_element >::type& - get(std::pair&) noexcept; // constexpr in C++14 + typename tuple_element >::type& + get(pair&) noexcept; // constexpr in C++14 template - const typename const tuple_element >::type& - get(const std::pair&) noexcept; // constexpr in C++14 + const typename const tuple_element >::type& + get(const pair&) noexcept; // constexpr in C++14 template - typename tuple_element >::type&& - get(std::pair&&) noexcept; // constexpr in C++14 + typename tuple_element >::type&& + get(pair&&) noexcept; // constexpr in C++14 template - constexpr T1& get(std::pair&) noexcept; // C++14 + constexpr T1& get(pair&) noexcept; // C++14 template - constexpr T1 const& get(std::pair const &) noexcept; // C++14 + constexpr T1 const& get(pair const &) noexcept; // C++14 template - constexpr T1&& get(std::pair&&) noexcept; // C++14 + constexpr T1&& get(pair&&) noexcept; // C++14 // C++14 diff --git a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so index 86bbfb6..54e0b3f 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a index 8b13246..8a86d58 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so index 11e2864..7c4e3cf 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a index 38191cb..5ccc58a 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so index 3af2ada..6533e92 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a index 9229848..2b70f71 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/thumb/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so index 5300f35..2a0d239 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a index 6f546be..3bfc9cb 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so index 3f785ff..37d95fd 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a index 02af75c..e93005c 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/armeabi/thumb/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so index 14706d6..1e5b532 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a index 434d660..9a2d7ae 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/mips/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so index bae8240..945f5d9 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a index 6601913..3336917 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/mips64/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so index c5deddc..b8c1c8c 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a index bdc24a5..f9eee7d 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so index e8e9f86..b0a31c4 100755 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so and b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so differ diff --git a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a index 62495e6..38a4769 100644 Binary files a/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a and b/9/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a differ -- cgit v1.1