1. Set APP_ABI:=all in almost all samples
2. Enhance hello-jni to report more ABIs
3. Fix warnings
Change-Id: I2851c42b77ef8225e32143d225edcf973633e782
1) Add ldexp. ldexp used to co-exist in both libc.so and libm.so until
the removal from libm.so in ICS. Unfortunately the sole copy of libm_hard.a
in NDK was compiled from JB source and miss ldexp. Code compiled with
hard-float using ldexp may use libc.so which follows soft-float and misbehave
2) Turns out the following (all in fpclassify.o) also exists in recent libc.so
too. Add them in libm_hard.a as well:
__fpclassifyd
__fpclassifyf
__fpclassifyl
__isfinitef
__isfinite
__isfinitel
__isinff
__isinf
__isinfl
__isnanl
__isnormalf
__isnormal
__isnormall
isinf
isnan
isnanf
Change-Id: Ia157fb2911341988de102e55d0c6f6141a9c3dda
1) ssize_t is int, instead of long int
2) WCHAR_MIN and WCHAR_MAX be consistent with bionic's:
respond to __WCHAR_UNSIGNED__, work for both signed (X86/MIPS)
and unsigned (ARM) wchar_t, and work for -fshort-wchar too
Change-Id: Ief1be007571b50c5d63a819df489f9d3f9b47bc8
Such that the following can correctly populate sysroot just enough to rebuild
mips64el toolchain
./build/tools/gen-platforms.sh --minimal --dst-dir=$NDK --ndk-dir=$NDK --arch=mips64
Change-Id: Ib37516bfe4c4b6a0c5b479d7cec8764c161f02c8
The original arch-arm libGLESv1_CM.so and libGLESv2.so symbols in
android-4 and android-5 were correct. They didn't include some vendor
extension symbols that are in the platform library but that apps
should query at runtime rather than link against.
When arch-x86 and arch-mips were added in android-9, they mistakenly
included these extension symbols. Oh well, for compatibility we can't
fix that now.
The android-20 symbols for all architectures were copied from x86 or
mips, and include the extension symbols. To avoid spreading the
mistake, this change:
(a) Removes the symbol files for architectures that existed in earlier
versions of the platform, since they shouldn't change in android-20.
(b) Removes the extension symbols on 64-bit platforms, so they match
the symbols in arch-arm.
Change-Id: Ib227d9d163bfe2859b13eb57dc19518d3a3f90d0
When multilib toolchain in NDK is used in -m32 mode we need 32-bit static libs
available for static compilation.
Change-Id: Ie7b5659f05338565fd19550ae4368934422e8b86
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Fixes two issues:
1. Remove redundant check for hard-float in Teapot/MoreTeapots and ndk_helper
they depend. The ndk-build system add those flags already for armeabi-v7a-hard
2. native-audio in debug build: assert on the non-existance var
Change-Id: Id6b2d38a264c2f2d0e0c7fe625991fcee1762800
$NDK/tests/standalone/run.sh fail to run with last update on stdint.h
to android-20 level. Restore stdint.h for fear of the new one breaking
the existing apps
Also fix signal_portable.h to use SIGRTMIN/MAX in old headers
(which got renamed to __SIGRTMIN in new header)
Also change _JBLEN to 1024 which shall be large enough to store CPU
states for forseable future.
Change-Id: Ia9c03558a258c10434eb8e6985adc122532feaa3
Update signal.c for build with old platforms
Change-Id: Ica87465a73004c0885d51e384acd4f42947cc19b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
It appears that upstream 3.5 still can't accept __builtin_isnan redeclared
with calling convention, eg.
cat > isnan.c <<EOF
int __builtin_isnan(double) __attribute__((pcs("aapcs")));
EOF
clang -target armv5te-none-linux-androideabi -c isnan.c
isnan.c:1:5: error: function declared 'aapcs' here was previously declared without calling convention
int __builtin_isnan(double) __attribute__((pcs("aapcs")));
^
isnan.c:1:5: note: previous declaration is here
Change-Id: Iff466fd913c3deec27aa3ff355a208543028d368
Note that this is for bionic headers to be consistent with 64-bit
headers tentatively placed at android-20. ie.
1. bionic headers in all the existing 32-bit headers android-3 .. 19
are consistent, and don't track any new development in bionic/
since JB (the time when significant refactoring work starts in bionic/)
unless bug fixes.
2. bionic headers in android-20 tracks bionic/
Change-Id: Ia07f04ac03ffaef6a6ddcea5f0e6b891e21a869a
Done by ndk/build/tools/gen-system-symbols.sh script
Change-Id: I6804e059468f755e18212df43a05a8ec7c3d5a79
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Rename lib64 to lib until both aarch64 and mips64el compiler are
built to look for sysroot/usr/lib64.
Change-Id: Ib9b40a432f7b27c25990e5bdba6ab11db6b2fb6a
Also
1) rename lib -> lib64
2) add src/ for android-20/arch-arm64 and arch-mips64
3) delete android-9/arch-arm64 and arch-mips64
Change-Id: I4958c4e52946e29e57b910f39ff0104200853a06
* Add i386/elf_machdep.h, it is used during the build of 32-bit part of
multilib compiler;
* Remove page.h. See https://android-review.googlesource.com/#/c/83299;
* Update other x86 headers from bionic for compatibility which are
required for successful build;
Change-Id: Ia66301849e699b79c657146424a806d0aa22342b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
This change moves _types.h from common area to all 32-bits archs.
Required for successful NDK build.
Change-Id: Ife676a285f4b77aef4c33e465a0dbc7cab1481a3
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Cleaned up obsolete link in android-9
* Add symlink to lib-bootstrap in android-9
* Add symlink to crt* files sources so that we can build crt*.o for x86_64
* Moved static libs from lib to lib64 so that they can coexist with 32-bit libs
and automatically picked up by multilib compiler. Just plain move, nothing
changes;
Change-Id: Iba580f59f0538db9bc8484afd10e9cfd8b53913a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>