Commit Graph

19 Commits

Author SHA1 Message Date
Thomas Petazzoni
ebc8193363 Revert "toolchain-internal: skip gcc-intermediate when possible"
While the idea of skipping the intermediate gcc step seems to work
fine in most situations, it causes problems with the SSP
support. Until we can figure out a proper solution for this problem,
we need to revert back to the previous solution of a three stages
build.

This reverts commit 2babed4a50.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-04 08:58:08 +02:00
Axel Lin
3fce526c2d uclibc: Add UCLIBC_MMU_CONFIG to UCLIBC_SETUP_DOT_CONFIG
commit c798bec25 "uclibc: set MMU usage accordingly" defines UCLIBC_MMU_CONFIG,
but forgot adding it to UCLIBC_SETUP_DOT_CONFIG. Fix it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-19 00:29:38 +02:00
Thomas Petazzoni
2babed4a50 toolchain-internal: skip gcc-intermediate when possible
When NPTL support was introduced, gcc required a three stages build
process. Since gcc 4.7, this is no longer necessary, and it is
possible to get back to a two stages build process. This patch takes
advantage of this, by doing a two stages build process when possible.

We introduce a few hidden kconfig options:

 * BR2_GCC_VERSION_NEEDS_THREE_STAGE_BUILD, which is set by the gcc
   Config.in logic to indicate that the compiler might need a three
   stages build. Currently, all versions prior to 4.7.x are selecting
   this kconfig option.

 * BR2_TOOLCHAIN_LIBC_NEEDS_THREE_STAGE_BUILD, which indicates whether
   the C library might need a three stages build. This is the case for
   eglibc, and uClibc when NPTL is enabled.

 * BR2_TOOLCHAIN_NEEDS_THREE_STAGE_BUILD finally is enabled when both
   of the previous options are enabled. It indicates that a three
   stages build is actually needed.

In addition to those options, the uClibc/gcc build logic is changed to
use only a two stages build process when possible.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 22:50:20 +02:00
Peter Korsgaard
91141b1411 Merge branch 'next' 2013-08-31 23:32:29 +02:00
Gustavo Zacarias
c798bec25b uclibc: set MMU usage accordingly
On architectures that lack a MMU (like blackfin) uclibc just undefined
ARCH_HAS_MMU which disabled ARCH_USE_MMU.
But for other architectures which may or may not have one like ARM we
need to set this according to user choice.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 10:30:08 +02:00
Justin Maggard
8ffc999d85 Fix ARM uclibc build with !BR2_UCLIBC_ARM_BX.
When BR2_UCLIBC_ARM_BX is not set, UCLIBC_OPT_UNSET gets called with an extra
argument.  Remove it.

Signed-off-by: Justin Maggard <jmaggard10@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-07 11:42:09 +02:00
Gustavo Zacarias
cd6c7bc29a uclibc/bfin: don't install host utils if not FDPIC
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 16:11:41 +02:00
Gustavo Zacarias
806714a5d1 uclibc/bfin: set the appropiate binfmt in the configuration
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 16:11:41 +02:00
Gustavo Zacarias
f7c246f64d uclibc: use builtin startfiles target
Now that we've dropped 0.9.31.x we can use the startfiles /
install_startfiles targets instead of building and installing them by
hand.
Fixes internal blackfin toolchain build errors regarding crtreloc.o

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 16:11:41 +02:00
Gustavo Zacarias
d1f24b9dc1 uclibc: make target utils optional
These are broken for blackfin unfortunately so they're disabled.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 16:11:40 +02:00
Gustavo Zacarias
808cc0a5e1 toolchain/buildroot: properly handle SSP
The current SSP handling is incomplete.

First we need to build uClibc with SSP support for a complete
"experience".

Second, it doesn't hurt to add -fstack-protector-all to the
CFLAGS/CXXFLAGS since most users would expect buildroot to do this
rather than adding the flags themselves.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 13:16:50 +02:00
Gustavo Zacarias
d244782caa uclibc/arm: doesn't build in thumb(1) mode with threads
It runs out of registers, it fails even in official form
(COMPILE_IN_THUMB_MODE=y) so just build it in ARM mode since EABI
mandates interworking.
Tested in an arm920t board.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-19 23:46:56 +02:00
Mischa Jonker
cdba648ec7 uclibc, eglibc: remove REALLY_NOSTDLIB references
These were required with ARC gcc 4.4.7; ARC gcc 4.8 has been changed
to behave the same as other architectures with -nostdlib, making this
option obsolete.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-19 11:54:28 +02:00
Peter Korsgaard
e1ba6ef595 uclibc: uclibc-menuconfig: don't depend on gcc/binutils
With the move of uclibc to package/uclibc, the uclibc-menuconfig target now
depends on uclibc-configure, which brings in the build of
binutils/gcc-initial/mpfr/gmp, causing it to take ages with a clean tree.

Fix it by moving the basic .config mangling to the patch step, and depend
on that for menuconfig instead.

Notice that this is broken for _OVERRIDE_SRCDIR users, just like for
busybox, but as that is presumably a small subset of the buildroot
user base (and these advanced users can just run menuconfig in their
local uClibc tree), so this is considered the lesser evil of the two.

The proposed out-of-tree build series will also cause problems with
this.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-18 12:18:16 +02:00
Yann E. MORIN
d8dad05fbb package/uClibc: drop ARM EABI conditions
... since we now only support EABI for ARM, we only need to
force EABI unconditionally.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-14 22:19:09 +02:00
Peter Korsgaard
c7528e5d0b uclibc: fixup more unicode madness
This should be @D, and not some kind of funky unicode character.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-05 09:12:02 +02:00
Gustavo Zacarias
1aced6c48d uclibc: snapshots are bz2
Snapshot tarballs are only in bz2 format, fixes:
http://autobuild.buildroot.net/results/b02/b021b296309d01405ad45344055863a5761abd70/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 15:42:37 +02:00
Thomas Petazzoni
963065ed08 uclibc: fix PowerPC build problem
A stupid Unicode character was inserted instead of 'D'.

Fixes:
http://autobuild.buildroot.org/results/7a4/7a45fb1379307a788047ec859a4ce2c42d6eb077/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 12:10:47 +02:00
Thomas Petazzoni
a5e92d92e7 uclibc: convert to the package infrastructure
[Peter: update manual to match]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 00:13:23 +02:00