Toolchain has a lot of usage of these functions and since we are
building the most components with -Werror it produces lots of errors.
Change-Id: Iaf5a95d6b493adb8d85803a62b184029060727d9
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Define __PTHREAD_MUTEX_INIT_VALUE, __PTHREAD_RECURSIVE_MUTEX_INIT_VALUE,
and __PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE in pthread.h for API < 9.
Pthread.h in API >= 9 have those already since bionic
9831ad3ce6bd5b22da16a275ed67e7236eae3d1f
Change-Id: Ia97960ecbfed0811dde70f75cb23951ecdf803af
It is only effective when compile with mips, although
development no longer has to check themselves
Change-Id: I7fb703170e1cc6bb2e6ea31109851a90a26eacb8
Remove android-13's looper.h because it's identical to android-9's
Note that ndk/platforms/android-N only keep delta to previous level
Change-Id: Ibd2c3e168cfe7f6902fdc6eca2e2778d8ccf1fac
1. Fixed missing #include <sys/types.h> in android/asset_manager.h for API >= 13
2. Fixed missing #include <stdint.h> in android/rect_manager.h for API >= 14
3. Added JNICALL to JNI_OnLoad and JNI_OnUnload in jni.h
Change-Id: I875ec0b6e6f7c2f433c176f0a738eb78f3c33062
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