- 20 Jun, 2012 1 commit
-
-
Andrew Hsieh authored
Add 4.6 to supported list (4.4.3 is still the default) Change to compile gdbserver only once per arch (use default toolchain) Change gdbserver package name Change-Id: Ic34640d616ffd8ceaec220ee192c589a28c654fa
-
- 13 Jun, 2012 4 commits
-
-
Andrew Hsieh authored
-
Andrew Hsieh authored
-
David 'Digit' Turner authored
Change-Id: I26eb8ecb0a3be79f0eab433d1592c348d5d44af0
-
Andrew Hsieh authored
-
- 12 Jun, 2012 4 commits
-
-
David 'Digit' Turner authored
This patch introduces a new script to rebuild the client gdb host program(s) from sources. Usage is similar to build-host-gcc.sh, for example, here's how to rebuild three versions of gdb for 6 host/target combinations: build/tools/build-host-gdb.sh --toolchain-src-dir=<path> \ --gdb-version=6.6,7.1.x,7.3.x \ --systems=linux-x86,linux-x86_64 \ See --help for all options. Notice that the binaries are placed under: prebuilt/$HOST_SYSTEM/gdb-$TARGET_ARCH-$GDB_VERSION/bin/ This is to disconnect the GDB client version from the GCC one. + Introduce the new common-build-host-funcs.sh file which contains common functions related to building host binaries for the NDK. This is a small refactoring of most of the stuff that is already in build-host-gcc.sh. All of them using the bh_ or BH_ prefix to avoid namespace collision. Note that build-host-gcc.sh is not refactored by this patch, this will be performed later. Change-Id: I6c4432bd5b7d327e6a30784f98137b59cbca10be
-
Andrew Hsieh authored
Merge "Move MIPS .dynamic to the data segement, so that it is writable. Replace hard-coded 4096 with symbols for correct segment sizes for MIPS."
-
Andrew Hsieh authored
Fixes: 1. Update TOOLCHAIN_GIT_DATE to 2012-06-10 2. More fix in ld --gc-sections (see comment in https://android-review.googlesource.com/#/c/36585/) 3. Correct typos, etc Change-Id: I6534d4345d3c036cdd6fe51863367cc3e5e5634d
-
Andrew Hsieh authored
-
- 11 Jun, 2012 2 commits
-
-
Chao-Ying Fu authored
Replace hard-coded 4096 with symbols for correct segment sizes for MIPS. Change-Id: I159e31e9d9ed42415addef6a44f0147cc90e18e4
-
David 'Digit' Turner authored
This adds a new gdb NDK-local patch to fix the mingw64 builds. Also, rename 0001-ndk-Disable-usage-logging-for-Windows.patch to match the logical order of previous ones. Change-Id: Ie010613ee883a6e8d6dba7b380fd3a38259ff881
-
- 08 Jun, 2012 2 commits
-
-
Andrew Hsieh authored
-
David 'Digit' Turner authored
This patch adds the -funwind-tables flag when building our prebuilt libraries in order to ensure that the generated code can easily be unwound at runtime. This prevents stack-traces from being incorrectly shortened, for example when using the malloc leak checked, the STLport/GABI++ operator new implementation could not be unwound, and the stack trace could not show where the code was really allocated/freed in the original source code. Change-Id: I424754c4d891416b34ba1f67099fbed62252286e
-
- 07 Jun, 2012 2 commits
-
-
Andrew Hsieh authored
-
David 'Digit' Turner authored
This patch adds build-host-gcc.sh, a new script that can rebuild our GCC-based toolchain from scratch, without using the AOSP toolchain/build.git scripts. NOTE: The script does *not* rebuild GDB at all (a future patch will provide build-host-gdb.sh to do so). The script is capable of building *several* toolchains at once, minimizing what needs to be done to speed up the whole process. For example, here's how to rebuild the linux-x86 and windows toolchains for both gcc 4.4.3 and gcc 4.4.6 on all of arm,x86 and mips: build/tools/build-host-gcc.sh --toolchain-src-dir=/path/to/toolchain/src \ --systems=linux-x86,windows \ arm-linux-androideabi-4.4.3 \ arm-linux-androideabi-4.6 \ x86-4.4.3 \ x86-4.6 \ mipsel-linux-android-4.4.3 \ mipsel-linux-android-4.6 This operations takes 31 minutes on a 16-core 2.4 GHz z600, not bad for something that generates 12 different toolchains. Define NDK_CCACHE=ccache in your environment to speed-up rebuilds. On my machine, the above command takes above + The script will build for the host system by default. This means linux-x86_64 on 64-bit Ubuntu 10.10, for example. This script has been tested to build the following toolchains succesfully: arm-linux-androideabi-4.4.3 arm-linux-androideabi-4.6 x86-4.4.3 x86-4.6 mipsel-linux-android-4.4.3 mipsel-linux-android-4.6 For the following host systems: linux-x86 linux-x86_64 windows (see note below) windows-x86_64 darwin-x86 darwin-x86_64 Regarding windows, the build succeeds with the i586-mingw32msvc-gcc cross-toolchain installed on Linux, and with x86_64-w64-mingw32 which can be rebuilt from sources with build-mingw64-toolchain.sh Change-Id: I00f5d16d8db729e7efdf0e138888f761936f3c4d
-
- 06 Jun, 2012 11 commits
-
-
Andrew Hsieh authored
-
Pavel Chupin authored
Fix cross toolchain wrappers generation routine and add corresponding calls per each tool. Tested on Linux Fedora with: ./build/tools/dev-rebuild-ndk.sh Change-Id: Ib88c59d0b37d089e79f0dca76394e01a431d1e60 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
Andrew Hsieh authored
-
Pavel Chupin authored
Otherwise ndk-out ignores parameters such as --abi. Change-Id: I0fcc43dabab7bdbf847e753ede800fff709cc9f0 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
Andrew Hsieh authored
-
Andrew Hsieh authored
* changes: Fix linux/windows dual builds Specify installation directory for c++ headers
-
Andrew Hsieh authored
-
H.J. Lu authored
build-platforms.sh, rebuild-all-prebuilt.sh and package-release.sh should be passed arch list when invoked. This patch updates dev-rebuild-ndk.sh to pass --arch=$(spaces_to_commas $ARCHS) to build-platforms.sh, rebuild-all-prebuilt.sh and package-release.sh. Change-Id: I416b8e1898ebd02d1c08d99c433bb45ba7039171
-
Pavel Chupin authored
Remove windows cross build with --quick. Setup correct flags for builds and packaging. Change-Id: I90beaa1124c9727d8e601194d7bb450660f57ff4 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
Pavel Chupin authored
Build only abis targetted by corresponding arch, otherwise one arch build will require another arch platform. Change-Id: I102a8a1d00c0557ebcd99f651ef03ca04c555562 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
Pavel Chupin authored
This fix is required for libstdc++ build with 4.6 where version of compiler is 4.6.x-google but script expects 4.6. Other versions are not affected. Change-Id: I31f88c80aa323435c77414c593a445a468d5a704 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
- 05 Jun, 2012 2 commits
-
-
Andrew Hsieh authored
-
Pavel Chupin authored
This fix is required for multiarch build Change-Id: I8c8c17ecb64545189d9ab9e0cf370b11cf1ed0f3 Signed-off-by:
Pavel Chupin <pavel.v.chupin@intel.com>
-
- 31 May, 2012 4 commits
-
-
Andrew Hsieh authored
-
Andrew Hsieh authored
-
David 'Digit' Turner authored
This is to check that static executable generation works properly, e.g. that our crtbegin_static.o sources aren't broken for some reason. Note that this test fails with the x86-4.4.3 toolchain generated with build-host-gcc.sh at the moment (not with the one built with build-gcc.sh). The symptom is: $NDK/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-linux-android-strip --strip-unneeded ./libs/x86/static_main BFD: BFD (GNU Binutils) 2.19 internal error, aborting at /tmp/ndk-digit/src/binutils/binutils-2.19/bfd/elf.c line 4655 in assign_file_positions_for_non_load_sections BFD: Please report this bug. make: *** [libs/x86/static_main] Error 1 make: *** Deleting file `libs/x86/static_main' So it looks like a binutils-2.19 crash when 'strip' is called. Change-Id: I84ed6ba9fceee84d30ad28885bbf6145397e0144
-
Andrew Hsieh authored
Fixed two issues 1) Unset NDK_TMPDIR after setting RELEASE_DIR to be under $NDK_TMPDIR, otherwise scripts called later may reuse the same NDK_TMPDIR for their own things and completely remove it after done! 2) A typo "timestamp_set build-mingw-prebuilts" Also, wrap "run" around scripts it calls Change-Id: Ia10cb4b2bd6ef291dcebc3a0b9c4a6fec6f98e8a
-
- 30 May, 2012 3 commits
-
-
Andrew Hsieh authored
-
Andrew Hsieh authored
-
Andrew Hsieh authored
Merge "Backport several patches and fix MIPS linker issues. a. http://sourceware.org/bugzilla/show_bug.cgi?id=12637 mips-linux-gnu: relocation truncated to fit: R_MIPS_TLS_LDM b. http://sourceware.org/bugzilla/show_bug.cgi?id=12845 ld segfaults when using --gc-sections c. http://sourceware.org/ml/binutils/2011-05/msg00198.html Refix MIPS GOT_PAGE counting d. Follow warning symbol link in mips_elf_count_got_symbols. e. Follow warning symbol link in mips_elf_allocate_lazy_stub."
-
- 29 May, 2012 2 commits
-
-
Chao-Ying Fu authored
a. http://sourceware.org/bugzilla/show_bug.cgi?id=12637 mips-linux-gnu: relocation truncated to fit: R_MIPS_TLS_LDM b. http://sourceware.org/bugzilla/show_bug.cgi?id=12845 ld segfaults when using --gc-sections c. http://sourceware.org/ml/binutils/2011-05/msg00198.html Refix MIPS GOT_PAGE counting d. Follow warning symbol link in mips_elf_count_got_symbols. e. Follow warning symbol link in mips_elf_allocate_lazy_stub. Change-Id: I2d8f9e823c34edffcfc8fc7a3c7e4dc06d2f609e
-
Andrew Hsieh authored
"--noexecstack" for assembler and "-z noexecstack" for linker enable NX protection against buffer overflow attacks by enabling NX bit on stack and heap. "-z relro -z now" for linker hardens internal data sections after linking against security vulnerabilities due to memory corruption. See http://www.akkadia.org/drepper/nonselsec.pdf (section 6) http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html For those who really needs it, these features can be disabled by 1. Passing "--execstack" to assembler and "-z execstack" to linker to disable NX protection. Passing "-z norelro -z lazy" to linker to disable second protection. 2. In NDK jni/Android.mk, set the following LOCAL_DISABLE_NO_EXECUTE=true: to disable "--noexecstack" and "-z noexecstack" DISABLE_RELRO=true: to disable "-z relro -z now" see $NDK/docs/ANDROID-MK.html for details Change-Id: I5a482001178d5d8140f053712a132865ca2abf66
-
- 28 May, 2012 1 commit
-
-
Andrew Hsieh authored
Revise implementations after toolchain is patched to provides NX and relro protections by default. See https://android-review.googlesource.com/#/c/36682/ https://android-review.googlesource.com/#/c/37040/ Change-Id: Ic9daed89c78c25ad46d66ced5a2e534ec8ca83ae
-
- 25 May, 2012 2 commits
-
-
Andrew Hsieh authored
-
David 'Digit' Turner authored
This patch rewrites the standalone toolchain tests completely (the previous version didn't work properly anyway). tests/standalone/run.sh can be used to check that a given NDK toolchain works properly. It doesn't have to be a standalone toolchain as long as you use the --sysroot=<path> option. Usage example: tests/standalone/run.sh --prefix=toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc Note that the tests do not assume that a C++ STL is available in the toolchain's installation directory. We will probably add a few other tests to check these later. Change-Id: Idac1cf8fda040773de771b29ca5b80587f0b900e
-