Clang3.4 can take __builtin_nexttoward and __builtin_nexttowardf.
Also fix a minor typo in comment
Change-Id: If98a35e2e38c45ebd619b0ceb6c5ee41acc4e415
Workaround issue where SYSTEM_UI_FLAG_IMMERSIVE_STICKY is invalidated
when a volume button is pressed (internal bug ref b/11986621)
Immersive mode still does not recover when the screen has been
rotated, due to onSystemUiVisibilityChange is not triggered
when screen is rotated (internal bug ref b/11990702)
Change-Id: Ifdfe9b24d5c3c208441aeca0fbb2b1eaee39da95
Similar to clang 3.3, it seems that clang 3.4 declares an incompatible
function prototypes for __builtin_isnan(). To workaround this issue,
we should not declare the function prototype for __builtin_isnan().
Note: Though it may be good to fix this in clang type checker, like
__builtin_nexttoward(), however it seems non-trivial since __builtin_isnsn()
might be overloaded. We can revert this after we have fixed the
clang builtin definition.
Change-Id: I329b56225f3d229b0c141bb8414c4369f154efda
wait4() was incorrectly declared in <sys/wait.h>, but only added to the
C library in Android 4.3 (API level 18) [1]
This patch:
- Removes the wait4() declarations for any <sys/wait.h> header before
API level 19.
- Brings the API level 19 <sys/wait.h> which correctly declares wait4().
- Update the libc.so.functions.txt for API level 19 of all platforms
to include the exported symbol.
NOTE: This does not bring the static libc.a to API level 19, which means
it is stuck at API level 9 for ARM.
See [2] for the corresponding NDK tests.
http://b.android.com/19854
[1] 17a8b0db63
[2] https://android-review.googlesource.com/#/c/72000/
Change-Id: I7735473d177c44f43b09bb6738e9914945cd4d0a
In armeabi-v7a, VM still expects JNI functions to follow soft-abi.
Annotate it with __NDK_FPABI__ so compiler follows soft-abi in JNI
functions regardless the presence of -mhard-float in command-line.
It's up to developer to apply JNICALL consistently on JNI functions,
ie. those functions whose first arg has type "JNIEnv*" is likely to be
Change-Id: Ica7cca8ab9498ce00de6ffc7fff35f8cc13aedbf
Annotate __builtin math functions with __NDK_FPABI_MATH__ too.
1. __attribute__((pcs("aapcs"))) has no effect on codegen when __buitlin
function is emitted inlined.
2. When __builtin call into regular function in Android's libm, it has
proper attribute which observes soft float-abi
Change-Id: I11e8b74fc22f3072b9ce849193e4a56e98c92d64
See ae2d5ba31412c4f382ef405000baa866f35dd736 and
d0be7c8f9a06b3ca8ea7647ea35c8f9dc63f0fe1.
Internal BUG 11590144
Change-Id: I76119cd20fdb205728482e682fd1206d1305881d
- Now they are in ndkHelper:: name space
- Changed module name to ndk_helper
- Changed some static members to class var or stand alone function
- Added syncronization for JNIHelper.cpp
- For a documentation, I will work with doc writer for future improvement
Change-Id: I0055061a4f53b1904cde2e0339550ee277b35fc5
Addressed most of feedbacks,
- Switched coding standard to Chrome style
- Update JNI helper, and documented
- Fixed other issues that is pointed out
Change-Id: Icc729a55ed8dd613759f34a3fc35cb4949d2d205
from poll(struct pollfd *, nfds_t, long) to
poll(struct pollfd *, nfds_t, int)
See 11952073af22568bba0b661f7a9d4402c443a888
and ebfbb367fb
Change-Id: Idba600d4b172404f0a1d5d715febcba8a495a770
The mkdtemp() function has always been implemented in the C library
(see [1] for proof) but was missing a declaration in <stdlib.h>, until
Android 4.0.1 [2]
This patch simply adds the missing declaration to former <stdlib.h>
versions. This makes it easier to build certain open-source programs
for Android, because auto-tools probing typically looks at the symbols
in libc.so to define HAVE_MKDTEMP, then the source fails to compile
because of the lack of declaration.
Note that the mkdtemp is also already listed in
platforms/android-*/arch-*/symbols/libc.so.functions.txt, which were
generated by parsing actual system libraries, and thus don't need to
be updated here.
[1] https://android.googlesource.com/platform/bionic/+/android-1.6_r1/libc/stdio/mktemp.chttps://android.googlesource.com/platform/bionic/+/android-1.6_r1/libc/Android.mk
[2] ad1ff2fb26
Change-Id: I838b54bcb5cbfd2fed24cf7649897889ec7a5559
A math library compiled with -mhard-float. Build instructions:
1. cd to a recent Android source tree: bionic.git
fbefb252b09634114977dbd1b48dd42bb2629b83 (internal) in this case
2. Temporarily remove "-mfloat-abi=softfp" from build/core/combo/arch/arm/armv7*
and build/core/combo/TARGET_linux-arm.mk
3. Temporarily add "-mhard-float -mfloat-abi=hard" to LOCAL_CFLAGS
for libm.a in bionic/libm/Android.mk
4. make -B -j32 out/target/product/generic/obj/STATIC_LIBRARIES/libm_intermediates/libm.a
5. Rename it
Change-Id: I107eea48af75e97b448862cfc7aae2e8f8911a63
Allow user code to be compiled with "-mhard-float" for armeabi-v7a
(which implies -mfloat-abi=hard), and either link with
1. Android native APIs which use softfp, or
2. A customized libm_hard.a which is compiled with -mhard-float. Need
-D_NDK_MATH_NO_SOFTFP=1
See tests/device/hard-float/jni/Android.mk for details and restriction
on Clang
Change-Id: I773a842c73368e08b9a6cda0441e95a96fa303b2
1. Add sincos, sincosf, and sincosl to API >= 9 (for ARM only,
because X86 and MIPS have it already)
2. Add nan, nanf, nanl, and tgammaf to API >= 13 (11 actually,
but we don't want to add another API which is not released)
3. Add log2, log2f, log2l, logbl, nexttoward, and nexttowardl to
API >= 18
See b.android.com/38423
Change-Id: I0a756aeeddafc3862f3c0ae38218cb3301608231
1. Sync bionic's, remove mips-specific one
2. Fix statfs.c to transfer the new f_flags too
3. Revise comment about --wrap=symbol
Change-Id: If68818e3dcb2a4056cd0b2e100fcfb8b2156c33a
The evaluation order of function args aren't gaurenteed in C++
jni/NDKSupport/vecmath.h:869:32: warning: multiple unsequenced modifications to 'i' [-Wunsequenced]
LOGI("%f %f %f %f", f[i++], f[i++], f[i++], f[i++]);
Change-Id: Ibf69978dd3abf57a7042624aad3d416a0f6f5e01
Bionic does not have actual implementation of those functions.
Further implementations should be introduced in new
API-level in order to prevent break of compatibility.
Change-Id: I0aa65ea28082cf4a88c383ce0d8eceaa5288c027
Signed-off-by: Grigoriy Kraynov <grigoriy.kraynov@intel.com>