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>
Copied from bionic but adding back .ctors and .dtors to be
compatible with old Android system linkers. Otherwise
static executable may segfault.
Change-Id: If834123161744cd2387a2c031a2315e818c2f123
jni/gl3stub.c:21:5: error: implicit declaration of function 'eglGetProcAddress' is invalid in C99
FIND_PROC(glReadBuffer);
^
jni/gl3stub.c:20:37: note: expanded from macro 'FIND_PROC'
#define FIND_PROC(s) s = (void*)eglGetProcAddress(#s)
^
1 error generated.
Change-Id: I907f33e3d88f3e96bf7958102e90bf15529748b9
Files are copied as is from bionic head.
Also adding arch-x86_64 symlink to be able to generate arch-x86_64
crtfiles/libs.
Change-Id: I0b40c1c19bb4e3b24b25fa2bcb9236469fa32a3e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
This fixes WCHAR_MIN / WCHAR_MAX to be signed / unsigned based on
the target ABI.
This only impacts ARM where wchar_t is really 'unsigned int'.
One can define _WCHAR_IS_ALWAYS_SIGNED to restore the old behaviour.
See http://b.android.com/55749
Change-Id: Idb63b7b11aecd3cfee37f5b6dd2eba78b308876f
Using dlopen/dlsym works, but eglGetProcAddress is a little easier and
more consistent with how GL extension functions (rather than these
non-extension functions) are loaded.
Change-Id: I082c193f08f7d5456389ab783a06cd38a9632d53
This patch ensures that wchar_t is a 32-bit number when targetting
API level < 9 (i.e. Froyo or older).
You can restore the previous (and broken) behaviour by defining
_WCHAR_IS_8BIT at compile time. See http://b.android.com/57267
for more context.
BUG=57267
Change-Id: Ib334e8fe95a3f592d5d4bb157b0f123984133597
clone is already declared in header and exists in both arm/mips libc.
Add the missing one in libc.so and libc.a (*1) for x86.
(*) only updated bionic_clone.o and clone.o from build after
22d366cc09383956dc264ed4641572e609392eee
Change-Id: Ibcb39948d48b84398543d84304ead21dab534c40
* Headers were copied from frameworks/native/opengl/include/GLES3/.
* Symbol lists were generated with ndk/build/tools/gen-system-symbols.sh.
* Symbols are identical between architectures
Change-Id: I011094ea3b479cf166ffb6bef3778cde683fc502