Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
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
|
|
This reverts commit 27e43a67aece2bfc71f2d54a32e5d3ad6f3cdb0a.
Change-Id: Icea19baaf0d4d47344580df306c13ada7d54c806
|
|
Bug: http://b/21907643
Change-Id: I91cfcbaa1c403ce6ef047f049cb2c623dde6e05e
|
|
Change-Id: I119c0a6c24304c4c3b0dbf59c12debcb8f8fc486
|
|
Starting from binutils-2.24, version is contained in AC_INIT
instead of M_INIT_AUTOMAKE
Change-Id: I447affb61d73069593aacc3cae3a0b99186e506f
|
|
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>
|
|
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>
|
|
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>
|
|
-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>
|
|
Change-Id: I0d8803b45b5085379e01d616a1056201453bda9f
|
|
Change-Id: Iefaa3ed65333c58484975326bfadd47ddaa92ce3
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|
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>
|
|
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
|
|
Adds a --with-python=</path/to/python-config.sh> option.
|
|
GCC 4.8 needs cloog-0.18.0 and isl-0.11.1 for graphite
framework.
Change-Id: I45a6f34f9981a489d65cc23a0f20e439c11100b2
|
|
Change-Id: I0575d428472c12b56e10367abb73a2b5fd794a08
|
|
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
|
|
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
|
|
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>
|
|
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
|
|
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
|
|
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>
|
|
Provides library path for the new ppl 'configure' which needs
to links libgmp libgmpxx.
Also remove outdated --with-libgmp-prefix
Change-Id: I3be601c523fe1512e878a0aad632b9da2721c1bd
|
|
Remove hardcoded "-m32" from ppl errornously introduced in the
previous commit
Change-Id: Ie81122be828be78c64cd076269f904bb82b2d5f7
|
|
To enable, configure with additional flags:
--enable-graphite=yes \
--with-cloog-version=$CLOOG_VERSION \
--with-ppl-version=$PPL_VERSION
Change-Id: I1400aecbf762c7ad5d72609ec87cc7a555061c8f
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Previously --enable-gold meant "enable gold" and "gold is default".
This CL allows ld remains default when gold is enabled.
Change-Id: I6313ca8b410d9937ddfbd4da05fafbfc0e7b7f06
|
|
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
|
|
x86_64-*-linux-android"
|
|
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
|
|
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
|
|
Allow i[3456]86-*-linux-android and x86_64-*-linux-android targets.
Author: "H.J. Lu" <hongjiu.lu@intel.com>
|
|
Change-Id: I73ed7f7e2120d8be761ec5fdbe747db523e1c53c
|
|
1) support build of gdb-7.3
2) disable libitm for Android toolchain
3) stop building target libsupc++.a for ARM
Change-Id: I01dab62925892e3d804e698b05c52e0be8c382d5
|
|
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
|
|
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>
|
|
Change-Id: I30c4fa2e008f62c7d96677ba7219f0d5aec5d12d
|
|
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
|
|
- Build libsupc++.a for ARM.
Change-Id: I9a83af7870a605c2d1ebc3849b31547aef15cd9c
|
|
Change-Id: I3fd1c4f628c221e6ae4f939aab73e69b3e546bd1
|
|
Change-Id: I0b16ee52add11b8394ede920d9a0af45fee0db8d
|
|
Change-Id: I436736db24477e261575ee267d126f44cac35627
|