Commit Graph

12 Commits

Author SHA1 Message Date
Waldemar Brodkorb
015322fccb toolchain: add coldfire support
Add support for m68k/coldfire. A gcc patch is required
to avoid gcc ICE.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-30 18:50:46 +02:00
Waldemar Brodkorb
2631219f64 gcc: disable split-stack for non-thread builds
This fixes bug 8766:
https://bugs.busybox.net/show_bug.cgi?id=8766

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-19 23:25:32 +02:00
Max Filippov
3ebf195e7e gcc: add xtensa uClinux support
Backported from: r228450
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-31 03:56:28 +02:00
Waldemar Brodkorb
7ea0f64dc3 arch/m68k: re-enable the architecture
This allows to build a m68k toolchain with uClibc.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-20 15:28:44 +01:00
Max Filippov
f67a4f50e2 gcc: preserve CXXFLAGS_FOR_TARGET
gcc-4.7.x, gcc-4.8.x and gcc-4.9.x don't propagate CXXFLAGS_FOR_TARGET to
CXXFLAGS for libstdc++ build. As a result libstdc++ is built without
TARGET_CFLAGS and may fail to link with applications using it, see e.g.

  http://autobuild.buildroot.net/results/81a3bca5cbcf789c7ce1aa221a6a4154dd7c3917/

Instead of passing TARGET_ABI or TARGET_CFLAGS for libstdc++ in
--enable-cxx-flags parameter backport the patch that fixes propagation
of CXXFLAGS_FOR_TARGET to CXXFLAGS.

This issue is fixed in gcc-5.x

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-15 23:14:18 +01:00
Thomas Petazzoni
348d5edd91 gcc: fix dynamic linker path for mips soft-float
This commit updates the gcc musl patches for gcc 4.7, 4.8 and 4.9 so
that the path to the dynamic linker encoded as "program interpreter"
in the generated binaries actually matches the symbolic link installed
by musl when building for mips soft-float.

Indeed, musl installs a symlink called ld-musl-mipsel-sf.so.1, but gcc
currently generates binaries that use /lib/ld-musl-mips.so as program
interpreter.

The fix is simply the one from
https://bitbucket.org/GregorR/musl-cross/commits/825219202365, i.e
adjust MUSL_DYNAMIC_LINKER in our musl gcc patches.

Thanks to these patches:

$ ./host/usr/bin/mipsel-linux-readelf -a ./target/bin/busybox
[...]
      [Requesting program interpreter: /lib/ld-musl-mipsel-sf.so.1]
[...]

gcc 5.x doesn't need any fix because the musl patches already use the
right value.

Fixes bug #7562.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-10 23:18:31 +01:00
Arnout Vandecappelle
71b0ebd92d gcc: add patches for powerpc e6500 64-bit support
Building with -mtune=e6500 led to build failures in glibc (probably in
uclibc as well) because gcc was built for a 32-bit target even though
the target tuple is powerpc64-*. This lead to a mix of 32-bit and
64-bit support and build errors like:

  fatal error: gnu/lib-names-32.h: No such file or directory

The root cause is that the configure script is not handling e6500
correctly, because of stupid typo in the condition.

Change has been submitted upstream.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Alvaro Gamez <alvaro.gamez@hazent.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-17 00:16:03 +01:00
Thomas Petazzoni
a2cc96556e gcc: simplify musl patches for SSP support
Now that we are always explicitly passing gcc_cv_libc_provides_ssp,
there is no longer any reason to modify the gcc configure/configure.ac
to take into account the musl case. When a musl toolchain is being
built, BR2_TOOLCHAIN_HAS_SSP is always 'y', and therefore
gcc_cv_libc_provides_ssp=yes is always passed when building
gcc-initial and gcc-final.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-18 15:35:53 +02:00
Max Filippov
e602c97f0b gcc: backport xtensa libgcc stack unwinding fixes
These backported patches fix the following failing uClibc-ng tests:
  nptl/tst-cancelx4,
  nptl/tst-cancelx16,
  nptl/tst-cancelx18,
  nptl/tst-cancelx20,
  nptl/tst-cancelx21,
  nptl/tst-cleanupx1,
  nptl/tst-cleanupx3,
  nptl/tst-oncex3,
  nptl/tst-oncex4.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-05 16:01:56 +01:00
Max Filippov
5b84265f1c gcc: backport mauto-litpools xtensa option
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.

Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by more than 256 KBytes of code.
Don't turn constants into literals, instead use MOVI instruction to load
them into registers and let the assembler turn them into literals as
necessary.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-04 17:27:27 +01:00
Arnout Vandecappelle
2f8dc29c1d gcc: remove unsafe patch check (poison system dirs) patch
Now that the calls to gcc always pass through the toolchain wrapper, it
is no longer necessary to patch gcc to support poisoning.

This does have the disadvantage that there is no unsafe path check for
libc, libgcc and libstdc++ (all of these are built before the wrapper
exists). But we can assume that the toolchain components themselves
should be pretty safe.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-04 18:22:20 +02:00
Peter Korsgaard
7654d687b2 gcc: bump 4.8.x version
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-24 09:20:43 +02:00