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
This patch removes all prebuilt C runtime object files from
the ndk/platforms/ directory. We replace them with equivalent
assembly sources lifted from the following directories:
bionic/libc/private/ (for __dso_handle.S and __dso_handle_so.S)
bionic/libc/arch-$ARCH/ (for all others)
Note: This requires that your NDK's gen-platforms.sh script be
capable of rebuilding the object files from sources.
See https://android-review.googlesource.com/36822
The goal here is to make it much easier to update these files,
and track their changes relative to the content of bionic/lib.
For example to fix the following issues in the future:
Change-Id: If4c84e2584b0e58ca3585b034bb8a13a8add8ab9
http://code.google.com/p/android/issues/detail?id=26911http://code.google.com/p/android/issues/detail?id=23203
We don't use these since NDK r5, since we now provide
customized versions of the library under
$NDK/sources/android/libthread_db
Change-Id: I2e3103b85c14e75a00ba9cece7a872d2156f5ef9
Remove the prebuilt system shared libraries and unified symbol files
from development/ndk. We don't need them anymore:
- the unified symbol files are replaced by separate functions/variables
symbol list, which were added in a previous commit, i.e.:
libc.so.txt --> libc.so.functions.txt
libc.so.variables.txt
- the shared libraries are now generated on the fly by the NDK
gen-platforms.sh script, from the functions/variables symbol lists.
Note that we need to keep the static libraries and runtime objects,
they are required to build the cross-toolchains and target binaries.
Change-Id: Ifa0a7f2d741ed32b80216561ca3f17e67df06ce9
Turns out that updating crtbegin_so.o and crend_so.o is not
enough for the standalone toolchain. We also need to update
the object files used to generate static and dynamic
executables.
This fixes the standalone toolchain NDK tests.
Change-Id: Ibf113b09766f00b30895951a5639343728be3f3a
Turns out that the previously commited versions of these files do not
allow for proper linking with a patched toolchain. With -shared, gcc complains
that:
.preinit_array section is not allowed in DSO
So use the versions from android-9/arch-arm instead, which seems to work fine.
Change-Id: I9aeaab449ddad058451c7d6493c983ab2ed1c4eb
This change adds crtbegin_so.o and crtend_so.o under
platforms/android-3/arch-arm/lib.
This is in preparation of another toolchain patch that will require
these files for all platform versions (for now, they are only defined
starting from android-9).
Note that these files are just copies of the existing ones, named
crtbegin_dynamic.o and crtend_android.o respectively.
The NDK build script will automatically use the new files if it finds
them, so shouldn't need to be updated.
Change-Id: I6a446266b54b871cd957dfd737054b302678b2d3
This updates the static C library version provided with
the NDK to the version from the AOSP gingerbread-release
branch, more specifically using the platform/bionic.git SHA1 of:
3f14ff34dfbd00fcffb18b10a1a3e17e2cc5ebdf
This file is only used to rebuild a gdbserver binary. This version
contains changes necessary to fix gdbserver crashing issues on
certain Honeycomb devices.
You will need to rebuild the NDK gdbserver binary after this patch
is submitted (see build/tools/build-gdbserver.sh --help).
Change-Id: Iab7ff707a9bdbdca0d0fd017178e25da9d48e43d
This commit removes duplication of system headers per platform, i.e. remove
copies of common headers like <stdlib.h> from arch-arm/usr/include and arch-x86/usr/include
and move them to a common include directory. More specifically:
- common headers: android-N/arch-A/usr/include --> android-N/include
- arch-specific headers: android-N/arch-A/usr-include --> android-N/arch-A/include
- arch-specific libs: android-N/arch-A/usr/lib --> android-N/arch-A/lib
Change-Id: Ifdba5038d108901931f3e3a7c14ebe6270d2d276
NOTE: This also contains careful separation of API-level-specific headers.
For example, platforms/android-5/include/pthread.h contains new function
declarations that are not available when using platforms/android-3/include/pthread.h
NOTE: The NDK's build-platforms.sh script has been updated to understand the new
layout. This change in develeopment/ndk does not change the layout of
platform files under $NDK/platforms after build-platforms.sh is called.