- 14 Oct, 2011 6 commits
-
-
David 'Digit' Turner authored
Change-Id: Ib8a1c2a9a7af8a3ec104cb438d5d156226ff4161
-
David 'Digit' Turner authored
We disable the build of the GNU libstdc++ when building the toolchain, because we are now able to do that with the new build-gnu-libstdc++.sh script. Change-Id: Ibe97cd59eef136f15da61d767ecff8d1f1497590
-
David 'Digit' Turner authored
This issue is discussed on android-ndk, but I could not reproduce it. The unit test will catch the problem if it happens in the future. Change-Id: I05cd92cd79a96cc91698590a6fb5903d48295c65
-
David 'Digit' Turner authored
This ensures that the temporary directories used to build the unit tests are properly cleaned up. A bug prevented certain tests from building properly under various rare conditions. Change-Id: I02d063bdb7d26d39dd3d73c590cdbb9b66612944
-
http://code.google.com/p/android/issues/detail?id=16010David 'Digit' Turner authored
Turns out that we can't reproduce the problem. Still a good idea to have a regression test here. Note that we built three versions of the test program, each one linked to a different C++ runtime. Change-Id: I5fe0a4850725aa60d25df1864a4cb66f01b2e227
-
David 'Digit' Turner authored
This is a fix for http://code.google.com/p/android/issues/detail?id=9400 The main intent-filter in an activity can have multiple categories. The previous awk script (extract-launchable.awk) only used the last category to determine whether an activity was launchable. This modifies it to accept any activity with a main intent-filter that has at least one category of LAUNCHABLE. Change-Id: Ia9a6898470acd4cd067d8f6edea8093595f1191c
-
- 12 Oct, 2011 2 commits
-
-
David 'Digit' Turner authored
This patch ensures that the shell system libraries that are generated by gen-platforms.sh never ever expose any symbol from libgcc.a. Fact is that libgcc.a is linked against any shared library on Android (be it a system or application library). Because the symbols in this library don't have hidden visibility by default, they get re-exported by the binaries (e.g. /system/lib/libc.so exports __div0 or _Unwind_Resume). When using the standalone toolchain, one can naively do something like the following: gcc -shared -o libfoo.so foo.o -lc Which gcc will translate as a link command that looks like: ld -o libfoo.so foo.o $SYSROOT/usr/lib/libc.so /path/to/libgcc.a In this case, references in foo.o to symbols like __div0, which are automatically created by the compiler under various circumstances, will result in a dynamic import for the '__div0' symbol, that will be looked inside the system libc.so at runtime. This is problematic because when we upgrade the toolchain used to build the system, we change the set of libgcc symbols exported by /system/lib/libc.so, and this may result in ABI breakages. What we want instead is for libfoo.so to have its own copy of __div0 et al. If our shell library in $SYSROOT/usr/lib/libc.so doesn't export the symbol, its code will be taken from libgcc.a and added to libfoo.so directly. Note that when we use the NDK build system, it ensures that libgcc.a is placed before any shared library in the final link command, i.e. that something like the following is used: ld -o libfoo.so foo.o /path/to/libgcc.a $SYSROOT/usr/lib/libc.so In this case, the problem doesn't exist because our build system enforces the correct ordering. This cannot be guaranteed when using the standalone toolchain unless this change is implemented. Change-Id: Ic195d21fe56c7118366c2536efa5fc264a7fb263
-
David 'Digit' Turner authored
Fixes http://code.google.com/p/android/issues/detail?id=20017 Change-Id: Ibec86df874222792c236f943a97b1366c7e6ca58
-
- 11 Oct, 2011 4 commits
-
-
David 'Digit' Turner authored
This fixes the documentation to properly list EGL as a stable NDK API starting from API level 9 (i.e. Android 2.3 / Gingerbread). Fixes http://code.google.com/p/android/issues/detail?id=20077 Change-Id: Ia32bdcdd22eedf17fb88355777cec1c1096fe40f
-
David 'Digit' Turner authored
This is to fix http://code.google.com/p/android/issues/detail?id=20261 Change-Id: Ic0eb95da1498cce5fa51e36f04016598aadad2db
-
David 'Digit' Turner authored
Change-Id: I3118e86d5fd3df19dd444effacf2a3289b2bb68f
-
David 'Digit' Turner authored
This removes a typo that prevents the script from working on Windows. Change-Id: I27a37bfd2f41e6bddd3aa9005afe96f64064edbb
-
- 10 Oct, 2011 8 commits
-
-
David 'Digit' Turner authored
Change-Id: I3ad484ca4d65838b4b5cb842bfb489c796c6c360
-
David 'Digit' Turner authored
Change-Id: Ife010c68013b5476cbfc53df33c4847a9f59c8d7
-
David 'Digit' Turner authored
Change-Id: Id0c2ce8f7c8a95f8633db9161e73d61249962c08
-
David 'Digit' Turner authored
Change-Id: I3efc6a334d7cca08d5fc3f24fce79a98a2d69fed
-
David 'Digit' Turner authored
This patch fixes build-gnu-libstdc++.sh to work properly and generate libgnustl_shared.so from the GNU libstdc++ sources. This is done by a custom patch to the gcc toolchain source tree to force the generation of libgnustl_shared.so from the same objects than libstdc++.so. This is required because there is no way to change the internal DT_SONAME of a given shared library, so a simple rename will not work. We also ensure that libgnustl_static.a is properly generated and used by the make-standalone-toolchain.sh script (which uses copy-libstdcxx.sh) + Update definitions.mk to make "gnustl_shared" available in APP_STL + Update documentation to reflect that STLport now supports RTTI + Update documentation to reflect the new gnustl_shared runtime Change-Id: Ie3ffaf825ba2d65eca027ec0be5e320d0ee39cbc
-
David 'Digit' Turner authored
+ Make some messages "log" instead of "dump" + Add the ability to specify host system as parameter to many functions + Define HOST_TAG32 as the 32-bit variant of HOST_TAG Change-Id: Id0bfaf48c1599be78a4f9f7441c3f48568867d4f
-
David 'Digit' Turner authored
Change-Id: I18fda0105cd53817850ec5b1bb272af6c31ef47a
-
David 'Digit' Turner authored
This patch moves the definitions of all defaults to dev-defaults. This should make it easier in the future to upgrade the toolchains or target binaries. Change-Id: I140b51c5b5116d37d16e628120f8f58974252de4
-
- 07 Oct, 2011 13 commits
-
-
David 'Digit' Turner authored
Change-Id: I298c5b7d84b1cbe9929e0471d940fc69c31aa284
-
David 'Digit' Turner authored
Change-Id: I735daef01d125f875facbb6141a4829f4950fc8a
-
David 'Digit' Turner authored
Change-Id: I26e43eef14ced900fade15058bd3d95b4fa3e369
-
David 'Digit' Turner authored
These options are obsolete. Instead, the build-gnu-libstdc++.sh script can be used to rebuild the GNU libstdc++ library directly. Change-Id: I281653915a5bce272ac8d593038291b73270c128
-
David 'Digit' Turner authored
+ Add a patch to disable libtool versioning when building the GNU libstdc++.so Change-Id: I450513be84e00d02dd52a49ffccf18cfc9064e81
-
David 'Digit' Turner authored
Change-Id: Ibed2026c0ff80041a4d024b7b15dc2c70240dc27
-
David 'Digit' Turner authored
Auto-generate the <android/api-level.h> header which contains a single macro definition for the native API level that the code is built against. Previously, the corresponding files were stored under ../development/ndk and required manual updating, which is tedious and error-prone + remove obsolete dev-generate-api-levels.sh script Change-Id: Ibe482281dff7d86e0a46f6dd9d7096e3cc790e8e
-
David 'Digit' Turner authored
This flag is used to indicate that you only want to generate sysroots that can be used to build the host toolchains, so this will only copy the system headers and static objects/libraries. All samples and shared libraries are ignored, and symlinks are not used to speed up execution (so --no-samples and --no-symlinks are implied) + Drop --no-samples, and use --samples instead, since we only want to regenerate the samples directories when generating package releases. + Rename --no-symlinks to --fast-copy Change-Id: I110750a736f42ab5b34b5c6ca2a1c35ada3eba3d
-
David 'Digit' Turner authored
Ensures that the list of platforms is sorted in proper numerical order, i.e. that android-10 appears after android-9 and not before android-3 + Don't make error message is a symbols directory doesn't exist (e.g. on x86 for API level < 9) Change-Id: I1fa5b8a43df1de4ee51059065d5c3e24dc90a5e2
-
David 'Digit' Turner authored
Introduces a new script that can do the opposite of dev-platform-expand-all.sh, which is to compress the content of /tmp/ndk-$USER/platforms into /tmp/ndk-$USER/platforms-compressed This ensures that if two successive platforms to define the same header or symbol list, only the first is copied to the destination. You would typically use this script, then compare the content of /tmp/ndk-$USER/platforms-compressed with the one of $TOP/development/ndk/platforms to check what has changed. Change-Id: Id277f786789a2b2395259e0f392d3e9975526197
-
David 'Digit' Turner authored
This patch provides a new script that can call dev-platform-expand.sh for all API levels and all architectures automatically. This is useful to build a fully expanded tree in /tmp/ndk-$USER/platforms from the content of development/ndk Note that this only copies files, i.e. headers and symbol lists, it doesn't generate any shell libraries. Change-Id: Ib842c80b8985a7bc1b8f5764eed14ba7daec4216
-
David 'Digit' Turner authored
Ensures that the platforms are sorted in numerical order, i.e. that android-10 will appear after android-9, instead of before android-3 + Deal with non-existing symbols directories Change-Id: I58065514d3b8b1bce6bb524b945d5463953b2ffa
-
David 'Digit' Turner authored
Change-Id: Ia46585f0a3c5f867833a42870f739cde53c41baf
-
- 01 Oct, 2011 1 commit
-
-
David 'Digit' Turner authored
Change-Id: I6afcb9445b6b5096a202de2dddcd02794b2509bd
-
- 30 Sep, 2011 6 commits
-
-
David 'Digit' Turner authored
This patch adds a new script named 'gen-platforms.sh', used like 'build-platforms.sh' to generate final platform sysroot directories. They take the same parameters. The difference between these two scripts is that gen-platforms.sh does generate shared libraries from functions/variables list files found in development/ndk/platforms/android-$PLATFORM/arch-$ARCH/symbols/ built-platforms.sh instead copies the files from .../lib directory instead. In a future patch, we're going to remove all prebuilt shared libraries from development/ndk, and replace them with symbol files. We will also remove build-platforms.sh and replace its usage by gen-platforms.sh Change-Id: I2720095f0fcbbbfb5e1374cd1fdaac898ec53393
-
David 'Digit' Turner authored
This patch introduces the dev-platform-imports.sh script. Its role is import system headers and libraries from a fresh Android platform build and use them to populate a special "import directory" (e.g. /tmp/ndk-$USER/platforms-import/) The import directory will contain only headers and symbols file. For each system shared library, two symbol files will be generated: - $DST/android-$PLATFORM/arch-$ARCH/symbols/$LIBNAME.functions.txt - $DST/android-$PLATFORM/arch-$ARCH/symbols/$LIBNAME.variables.txt The idea is that we're going to remove all prebuilt shared libraries from development/ndk in a future patch. Instead, we will store the symbols and generate shell libraries when calling build-platforms.sh We need to keep the prebuilt static libraries though because they are required to build the toolchain files (plus, some NDK developers do use them to generate static executables). + add gen-system-symbols.sh which does the symbol file generation plus the filtering of undesirable symbols in our system libraries. Change-Id: I5882cd03a6e9ccc580a6577a6684ec40f6a1a739
-
David 'Digit' Turner authored
This patch adds sources/cxx-stl/gabi++/src/one_time_construction.cc and removes the dependency on libstdc++ from GAbi++ The implementation is based on pthread which is always provided by the C library on Android (the latter is always linked to generated binaries, so there is no need to list it in LOCAL_EXPORT_LDLIBS). + Add unit test to check that one-time-construction works properly. Change-Id: Ic4af9f19814cf9efd7caa60bc84e9c03fc4bf656
-
David 'Digit' Turner authored
This patch fixes a bug in definitions.mk regarding the list of installable dependencies for a given application. It ignored prebuilt shared libraries. + Fix another bug where we were not using the prebuilt GAbi++ libraries when using APP_STL := gabi++_shared/static Change-Id: Iefac2ccc49ee16e8b8e322c64979946d875212d6
-
David 'Digit' Turner authored
Change-Id: I6778883120627b491721f20181eb9f0e914edcfd
-
David 'Digit' Turner authored
Change-Id: Idabf82e3fa909a1000011fd621810a62857e453e
-