aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-28Removing -mx32 from the multilib list fixees most multilib problems.HEADndk-r23-beta6ndk-r23-beta5ndk-r23-beta4ndk-r23-beta3ndk-r23-beta2ndk-r23-beta1ndk-r22-beta1ndk-r22ndk-r21endk-r21dndk-r21cndk-r21bndk-r21-rc1ndk-r21-beta2ndk-r21-beta1ndk-r21ndk-r20bndk-r20-beta3ndk-r20-beta2ndk-r20-beta1ndk-r20ndk-r19cndk-r19bndk-r19-beta2ndk-r19-beta1ndk-r19ndk-r18bndk-r18-beta2ndk-r18-beta1ndk-r17bndk-r17-beta2ndk-r17-beta1ndk-r17ndk-r16-beta2ndk-r16-beta1ndk-r16ndk-r15-beta2ndk-r15-beta1ndk-release-r23ndk-release-r22ndk-release-r21ndk-release-r20ndk-release-r19ndk-release-r18ndk-release-r17ndk-release-r16ndk-r16-releasendk-r15-releasemastermainbusytown-mac1010-releasebusytown-mac1008-releaseCaroline Tice
It turns out that x86 & x86_64 need to be built with multilib (at least to make fugu happy). But they can't build with -mx32. Removing -mx32 allows x86 & x86_64 to build happily with multilib. Note: This CL depends on the changes to build-gcc.sh in https://android-review.googlesource.com/329549 Bug: None Test: Tested with toolchain/gcc/build.py & using the resulting prebuilts to build angler, bullhead and fugu platforms. Change-Id: If70a7b753913faa5ef271534a743a244b008c706
2016-01-07Add githash to binutils version string.ndk-r14-beta2ndk-r14-beta1ndk-r14ndk-r13-beta2ndk-r13-beta1ndk-r13ndk-r12bndk-r12-beta2ndk-r12-beta1ndk-r11cndk-r11bndk-r11ndk-r14-releasendk-r13-releasendk-r12-releasendk-r11-releaseHan Shen
So the output for 'ld -v' is something like - GNU ld (binutils-2.25-3febaa7) 2.25.51.20141117 Tested by: ./build.py --toolchain arm-linux-androideabi --host linux Change-Id: I4687fb5696bf3aa7a08a94149090055a76ec2294
2015-10-15Prefer static libraries for Windows GCC.Dan Albert
We don't want to have to ship any extra DLLs in the NDK (specifically, this is being added to avoid run time dependency on libwinpthread-1.dll). We'll still have dynamic dependencies on things like kernel32.dll, but that's expected. Bug: http://b/24911020 Change-Id: Ie15de47d99bb9257abcab29929ec1585f765db8d
2015-09-24Fix selected issues with non-4.9 gcc buildsThan McIntosh
Fix some issues that crop up when using build-gcc.sh on post-4.9 versions of GCC (for triage/bug-reproduction purposes): trunk gcc calls isl directly, no longer through "cloog", and requires updated version of ISL. Resulting build still fails compiling libatomic, however the cross compiler itself is still usable. Change-Id: Ieff549580777a01891ed62b59ff97db610eae42b
2015-06-19Revert "Remove references to expat from toolchain/build/configure."Elliott Hughes
This reverts commit 27e43a67aece2bfc71f2d54a32e5d3ad6f3cdb0a. Change-Id: Icea19baaf0d4d47344580df306c13ada7d54c806
2015-06-19Remove references to expat from toolchain/build/configure.Elliott Hughes
Bug: http://b/21907643 Change-Id: I91cfcbaa1c403ce6ef047f049cb2c623dde6e05e
2015-03-02Static link ld.gold by mingw to avoid dependencies on libwinpthread-1.dllAndrew Hsieh
Change-Id: I119c0a6c24304c4c3b0dbf59c12debcb8f8fc486
2014-04-15Fix binutils-2.24 detectionAndrew Hsieh
Starting from binutils-2.24, version is contained in AC_INIT instead of M_INIT_AUTOMAKE Change-Id: I447affb61d73069593aacc3cae3a0b99186e506f
2014-04-03Avoid host toolchain copy to target toolchain dir in canadian buildPavel Chupin
After https://android-review.googlesource.com/#/c/88662/ in mingw build host toolchain put into the same directory as target. This patch fixes this issue. Change-Id: I8cb08fdfc9f8a3eb1b88ba982ebeb79c851b25d8 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-21Propagate -j in make calls for better parallelizationPavel Chupin
Also fix deps for parallel build. It should speed up full NDK build. Change-Id: Id62b4ba6b2d09fd28a2724c285eb0069b79b13fb Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-02-28Remove libbfd.a build for hostPavel Chupin
Due to tricky configuration it cannot be build well when building 64-bit targets. I didn't find any place in current AOSP tree where we are using host libbfd.a so probably it's not required anymore? build-host-gcc.sh doesn't build it either. Change-Id: I9ed62c2d16bcb393e61bf913b6bab222bb783403 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-02-26Switch x86/x86-64 -mtune from "atom" to more generic "intel"Pavel Chupin
-mtune=intel is tradeoff tuning between top IA archs whereas "atom" is best on atom only. Change-Id: I27668e4f48f26b00742d117a9a2a38e8903e22d5 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-17Change the triplet to aarch64-linux-android for aarch64-gcc.Ben Cheng
Change-Id: I0d8803b45b5085379e01d616a1056201453bda9f
2013-05-22Replace -march=atom with -march=x86-64 for better host compatibilityPavel Chupin
Change-Id: Iefaa3ed65333c58484975326bfadd47ddaa92ce3 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-05-22Add x86_64 target configure defaultsPavel Chupin
It includes: -march=atom/-mtune=atom to focus on Atom instructions/optimizations; -fpmath=sse to generate sse math instructions instead of i387 -m32/-m64/-mx32 support to be able to generate 32/64/x32 code with single toolchain. Change-Id: I1a650b4cf572322baa5648a97e1731922571a132 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-05-03Don't build GDB in canadian build->targetAndrew Hsieh
In canadian build->target is built first (eg. in order to build/run executable on build system to generate table), then host->target. Don't build GDB in build->target, because GDB doens't need it. Besides, --with-python= pointing to "host" header can fail "build"'s gcc. Change-Id: Ic1a8a9d6fe5974a6747ca4342a336beea9987f47
2013-05-03Python GDB intergration work for the build system.Ray Donnelly
Adds a --with-python=</path/to/python-config.sh> option.
2013-04-09Fix for GCC 4.8 with graphiteAndrew Hsieh
GCC 4.8 needs cloog-0.18.0 and isl-0.11.1 for graphite framework. Change-Id: I45a6f34f9981a489d65cc23a0f20e439c11100b2
2013-04-09Add aarch64Andrew Hsieh
Change-Id: I0575d428472c12b56e10367abb73a2b5fd794a08
2013-04-09Fix GCC 4.8 mingw buildAndrew Hsieh
Export CXX_FOR_BUILD otherwise the default g++ can have different bitness than libiberty.a which is always built in 32-bit for now. Didn't happen prior to GCC 4.8 because GCC was in C only. GCC from 4.8 now uses C++ as its implementation language Change-Id: I318a2e469e1f1ce5cea71654ca5387d26cee5b73
2013-03-26Define READELF_FOR_TARGET in gcc buildAndrew Hsieh
Otherwise realelf won't be found in darwin, and cause some backend to misbehave. READELF_FOR_TARGET appears in gcc-4.7, but is backported to gcc-4.6 as well. Change-Id: Ia45b3ce046cc68a40862be8f5a906606d2fd0665
2013-01-30Define correct default gcc target march/mtune/mfpmath flags for x86Pavel Chupin
This is required to enforce correct x86 -march/-mtune flags which are currently hardcoded in gcc (see gcc/config/i386/gnu-user.h). The problem is that gcc hardcode doesn't work, it is overridden by generic values. It can be seen with -### option for any compilation. This patch adds correct configure flags and after it is merged -march/-mtune flags in gcc can be removed. Default -mfpmath can't be seen in -### but can be configured as well to eliminate hardcode. Also cleanup old flags which didn't work anyway. target_cpu is i686 and not x86. Change-Id: I43ea7034e855629933da2d1bede90cd74a238861 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-01-18Avoid race condition by "make install -j1" in canadian build->targetAndrew Hsieh
The first stage of canadian build "build->target" fails very frequently during libiberty.a installation in parallel ( > -j4) The observed sympton is that all threads try to install the same libiberty.a and latecomer fails in "mv -f" when libiberty.an is already renamed. eg. /usr/bin/install -c -m 644 ./libiberty.a \ my-build-path/host-x86_64-linux-gnu/install/lib/libiberty.an ( cd my-build-path/host-x86_64-linux-gnu/install/lib ; chmod 644 ./libiberty.an ; x86_64-linux-gnu-ranlib ./libiberty.an ) mv -f my-build-path/host-x86_64-linux-gnu/install/lib/libiberty.an \ my-build-path/host-x86_64-linux-gnu/install/lib/libiberty.a build/tools/build-gcc.sh can scale back and continue in half -j until it succeeds, but the 2nd stage "host->target" often build slowly with lower -j Reduce compilations time of GCC 4.7 --mingw from 669s to 543s, or 1.23X Change-Id: Ie683319adf445303f485258c65ef3189f605f300
2013-01-17Add new flags CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILDAndrew Hsieh
In canadian cross build CFLAGS/LDFLAGS may contain flags good for "host" but not valid for "build". Define new flags. eg. # flags common to both "host" and "build" CFLAGS_FOR_BUILD="-O2 -s -Wno-error" LDFLAGS_FOR_BUILD= # additional flags for "host" CFLAGS="$CFLAGS_FOR_BUILD $HOST_CFLAGS" LDFLAGS="$LDFLAGS_FOR_BUILD $HOST_LDFLAGS" Change-Id: I723d4fa2b62a3945922a027555f30997a66cce48
2012-12-28Statically link libgcc and libstdc++ into goldPavel Chupin
gold built with newer mingw requires libgcc_sjlj_1.dll and libstdc++-6.dll on runtime. Adding flags to link them statically. Change-Id: Ic0d8143434164c6519c9e4b185a54cec3b8e72d6 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2012-12-20Fix build to compile ppl > 0.11.2Andrew Hsieh
Provides library path for the new ppl 'configure' which needs to links libgmp libgmpxx. Also remove outdated --with-libgmp-prefix Change-Id: I3be601c523fe1512e878a0aad632b9da2721c1bd
2012-12-15Fix 64-bit build of GCC 4.6/4.7 with graphite supportAndrew Hsieh
Remove hardcoded "-m32" from ppl errornously introduced in the previous commit Change-Id: Ie81122be828be78c64cd076269f904bb82b2d5f7
2012-12-15Allow enabling graphite in GCC 4.6/4.7Andrew Hsieh
To enable, configure with additional flags: --enable-graphite=yes \ --with-cloog-version=$CLOOG_VERSION \ --with-ppl-version=$PPL_VERSION Change-Id: I1400aecbf762c7ad5d72609ec87cc7a555061c8f
2012-12-14Don't compile host libraries with --with-sysrootAndrew Hsieh
build-gcc.sh passes on --with-sysroot which is really meant for target. Remove it from "baseargs" to form "host_baseargs" (borrowed the unused "gold_baseargs") and used it for building host libraries, otherwise gmp may not have incorrect dependency_libs= in .libs/libgmpxx.lai. Change-Id: I2d1c1328039a48b72ce6b4191a71ed5482894459
2012-12-12Merge "libbfd: prevent from incorrect assignment of $CFLAGS"Andrew Hsieh
2012-12-10binutils: disable the installation of localized packagesJim Huang
Since the prefix directory usually differs from where Android toolchain is installed and used, it doesn't make sense to provide the localized packages, which rely on the given prefix. Change-Id: I5634e37bf5e4fda46d4d6bc43d037d6bc2fe6ba2
2012-12-10libbfd: prevent from incorrect assignment of $CFLAGSJim Huang
For older versions of binutils, the automake script can not recognize the suffixing environment variable $CFLAGS and complain as following: (cd libbfd-binutils-2.17 ; \ .././../binutils/binutils-2.17/configure \ --prefix=/usr/local --target= --host=x86_64-unknown-linux-gnu \ --build=x86_64-unknown-linux-gnu --program-transform-name='s,y,y,' \ --disable-shared \ --enable-install-libbfd --with-included-gettext CFLAGS=" -m32") && \ touch stmp-config-host-libbfd configure: warning: CFLAGS= -m32: invalid host type creating cache ./config.cache configure: error: can only configure for one host and one target at a time Change-Id: I075a37d4bfd9b5744ec9c5ffc73446cbbba220b8
2012-10-23Options brought in from core combo for IAAndrew Hsieh
Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ build/0001-Options-brought-in-from-core-combo-for-IA.patch Change-Id: I50a6397414a6574c51857dc2c8826ef50f5f4a0c
2012-08-08Disable python support for gdb-7.xAndrew Hsieh
Before python is also prebuilt, disable python support in gdb-7.x for now, otherwise gdb-7.x/configure may pick up whatever python in host and build gdb with hard-wired dependency to specific version of python. See related issue: http://code.google.com/p/android/issues/detail?id=36120 Change-Id: I15d1144767343fb717864470f7a57f66fd7ba127
2012-05-24Allow --enable-gold co-exists with --enable-ld=defaultAndrew Hsieh
Previously --enable-gold meant "enable gold" and "gold is default". This CL allows ld remains default when gold is enabled. Change-Id: I6313ca8b410d9937ddfbd4da05fafbfc0e7b7f06
2012-05-11Revert setting GDB_TARGET for i[3456]86-*-linux-android and ↵Andrew Hsieh
x86_64-*-linux-android This CL reverts https://android-review.googlesource.com/#/c/36421 in favor of CL https://android-review.googlesource.com/#/c/36453 which patches GDB/config.sub directly to understand linux-android. Please see comments in the first CL for rationale. Change-Id: If3ed4f584d12bf2e998deaeb8b87c07250ed7e03
2012-05-09Merge "Set correct GDB_TARGET for i[3456]86-*-linux-android and ↵Jing Yu
x86_64-*-linux-android"
2012-05-10Set correct GDB_TARGET for i[3456]86-*-linux-android and x86_64-*-linux-androidAndrew Hsieh
Unlike gdb-7.3.x where *-linux-android-* is supported, "/bin/sh gdb/gdb-7.1.x/config.sub" fails with i686-pc-linux-android. Changing GDB_TARGET to i[3456]86-linux-gnu or x86_64-linux-gnu for GDB < 7.3.x to compile. Change-Id: Ibd8e9ee81877203da09066ece234b74a6e61da49
2012-05-09Fixed to allow CFLAGS to accumulate for building host libbfdAndrew Hsieh
In this case CFLAGS was set to "-Wno-error" before building host libbfd, and it's followed by -Werror to invoke CC. There are a few warnings treated as error but -Wno-error suppress them. Resetting CFLAGS to -m32 breaks the build Changed it to accumulate CFLAGS rather than resetting CFLAGS Change-Id: I118a848c27f91407b75beabea10c35883ca16e5a
2012-05-03Support i[3456]86/x86_64-*-linux-android targetsH.J. Lu
Allow i[3456]86-*-linux-android and x86_64-*-linux-android targets. Author: "H.J. Lu" <hongjiu.lu@intel.com>
2012-04-20Always build 32bit host library to /lib32.Jing Yu
Change-Id: I73ed7f7e2120d8be761ec5fdbe747db523e1c53c
2012-02-15Update build scriptsJing Yu
1) support build of gdb-7.3 2) disable libitm for Android toolchain 3) stop building target libsupc++.a for ARM Change-Id: I01dab62925892e3d804e698b05c52e0be8c382d5
2011-12-20Support new dual-linker option.Jing Yu
Let build automatically detect binutils versions and append proper --enable-gold=xxx options to binutils configuration. The story is that gcc-4.6 and binutils-2.21 use --enable-gold=default, our old gcc and binutils use --enable-gold=both/gold. With the patch, we pass toolchain configuration --enable-gold=xxx to gcc, and let build script automatically detect binutils version number and append proper --enable-gold=xxx to binutils configuration. Change-Id: Iaf31e3285107b3afb7a2f0a66c58b02a9937e214
2011-05-27Fix host-libbfd installation problem caused by undefined $(INSTALL)Jim Huang
While executing target install-host-libbfd, the build system complains: make -C libbfd-binutils-2.20.1/bfd install \ bfdlibdir=/tmp/android-toolchain-eabi/lib bfdincludedir=/tmp/android-toolchain-eabi/include && \ -m 644 libbfd-binutils-2.20.1/intl/libintl.a \ /tmp/android-toolchain-eabi/lib && \ -m 644 libbfd-binutils-2.20.1/libiberty/libiberty.a \ /tmp/android-toolchain-eabi/lib /bin/sh: line 2: -m: command not found The problem was caused by undefined $(INSTALL). The patch attempts to configure `install' program by autotool in order to set $(INSTALL) properly and replace $(INSTALL) -m 644 with multi-platform friendly $(INSTALL_DATA). Change-Id: I7f08aa442d62f3d3d8cef2c482c76e6a93500de8 Signed-off-by: Jim Huang <jserv@0xlab.org>
2011-05-13Configure target of host libbfd correctly.Doug Kwan
Change-Id: I30c4fa2e008f62c7d96677ba7219f0d5aec5d12d
2011-04-07Add --enable-graphite option to build scriptJim Huang
GCC 4.5 and up supports graphite optimization, and cloog and ppl are required. This change attempts to support some combinations of ppl and cloog/cloog-ppl libraries. Since cloog and ppl are written in C++, it implies we might suffer from C++ ABI breakage problems when host environment changes, that is a well-known issue in GNU/Linux distributions. Thus, we have to link to static C++ runtime library (libstdc++) to avoid depending on the host version. Default: no Change-Id: I0a69712379a4e2dc30034a2226a15717a9c121b7
2011-03-23- Also install libintl.a and libiberty.Doug Kwan
- Build libsupc++.a for ARM. Change-Id: I9a83af7870a605c2d1ebc3849b31547aef15cd9c
2011-03-23Allow building toolchain without target gdb alternatively.Luse Cheng
Change-Id: I3fd1c4f628c221e6ae4f939aab73e69b3e546bd1
2011-03-18Fix Makefile.in, a previous check-in broke build using gmp/mpfr/mpc tarballs.Doug Kwan
Change-Id: I0b16ee52add11b8394ede920d9a0af45fee0db8d
2011-03-15Allow build with prebuilt directory for gmp, mpfr and mpc.Luse Cheng
Change-Id: I436736db24477e261575ee267d126f44cac35627