Commit Graph

643 Commits

Author SHA1 Message Date
Yann E. MORIN"
b296cfb986 libc/glibc-common: force use of the BFD linker
gold can not build glibc/eglibc, force use of the BFD
linker during the toolchain build.

Reported-by: Bill Pringlemeir <bpringle@sympatico.ca>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-05 01:04:31 +02:00
Yann E. MORIN"
942bd0e2a7 binutils/binutils: add blind option to force use of ld.bfd during build
gold is not capable of building glibc/eglibc, so we have to
force using the BFD linker, ld.bfd.

Offer a blind option that affected components can select to
force use of the BFD linker during the build.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-05 01:02:28 +02:00
Yann E. MORIN"
e1698c4e78 binutils/binutils: warn if only gold is selected
gold is not capable of building glibc/eglibc. See this thread:
  http://sourceware.org/ml/crossgcc/2011-04/msg00010.html

Reported-by: Bill Pringlemeir <bpringle@sympatico.ca>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-04 01:00:17 +02:00
Yann E. MORIN"
6f2778eb02 binutils/binutils: always set name of the default linker
Always export the name of the default linker, even if only
one of them is selected.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-03 23:44:57 +02:00
Yann E. MORIN"
b596e9838f binutils/binutils: hide gold option if no support for current architecture
The gold linker does currently support only a limited set of architectures:
 - x86 (32- and 64-bit)
 - ARM

Hide the gold option for other architectures.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-05 01:17:58 +02:00
Yann E. MORIN"
693cc01f41 arch/sparc: add absic support
Add support for building SPARC targeted toolchain.
With this patch I have built a working sparc V8 (32 toolchain).

Testing shows that not all gcc versions works well:
4.4.1            OK  (kernel builds and the final kernel can boot)
4.4.2            Not tested
4.4.3            Not tested
4.4.4            BAD (Kernel can build but fails during boot)
4.4.5            BAD (Kernel can build but fails during boot)
4.5.1            BAD (Build fails with a spill related ICE - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35664)
4.5.2            OK  (kernel builds and boots)

I have successfully been using the 4.5.2 version for a few months.

This patch does not add support for the LEON variant.
That may come later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
[yann.morin.1998@anciens.enib.fr: for 32-bit, default CT_TARGET_ARCH is OK]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-03 18:22:00 +02:00
Yann E. MORIN"
fbd37d5d57 kernel/linux: update to latest versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 22:45:49 +02:00
Yann E. MORIN"
784d534d28 cc/gcc: fix linking with static PPL 0.11+
PPL 0.11+ installs three libs: lippl, libppl_c and libpwl.
libppl_c has a dependency on libpwl (at least for watchdog stuff).

While gcc correctly links with libppl and libppl_c, it does not
pull libpwl in. In case of shared libs, this is not a problem, as
libppl_c has a NEEDED dependency on libpwl. But for static libs,
that does not work. Although libppl_c.la exists and has a correct
dependency on lipwl, somehow gcc misses it. So we have to force
pulling libpwl when needed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:07:31 +02:00
Yann E. MORIN"
99d7ec8a84 cc/gcc: hide Linaro options by default
It can be quite confusing for a new-comer to find strange
version numbers for gcc, so hide the Linaro versions by
default.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26 22:04:22 +01:00
Yann E. MORIN"
90697aa498 cc/gcc: add linaro 4.6 pre-release
Before gcc 4.6 was released, Linaro has a pre-release available.
Include that version in the config list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:06:53 +02:00
Yann E. MORIN"
14a3369bdf cc/gcc: add 4.6.0
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26 22:00:05 +01:00
Yann E. MORIN"
ad7ebf3219 cc/gcc: prepare for upcoming 4.6
gcc 4.6 will no longer depend on libelf.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19 16:01:40 +01:00
Yann E. MORIN"
67d96ea16f cc/gcc: cleanup the _or_later logic
So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:05:18 +02:00
Yann E. MORIN"
05851ca0d9 cc/gcc: update linaro versions
Linaro has released version linaro-4.5-2011.03-0.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:04:17 +02:00
Yann E. MORIN"
8d8f2dcfcf kernel/linux: update version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-24 21:04:58 +01:00
Yann E. MORIN"
3537758f31 kernel/linux: add altest version
Fix an incorrect version at the same time... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-23 23:11:29 +01:00
Yann E. MORIN"
25952a4cac kernel/linux: add latest version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-22 17:30:03 +01:00
Yann E. MORIN"
a5d9facb14 complibs/ppl: add latest version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-17 22:08:33 +01:00
Yann E. MORIN"
59751df290 kernel/linux: add newer versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19 22:24:29 +01:00
Yann E. MORIN"
ef429a5a5d kernel/linux: add latest 2.6.37.2 version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-27 22:14:12 +01:00
Yann E. MORIN"
7fdd4ea3e9 complibs/mpc: add latest version 0.9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-23 00:12:16 +01:00
Yann E. MORIN"
bc175d4e88 complibs/ppl: add latest version 0.11.1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-23 00:10:57 +01:00
Yann E. MORIN"
3a75a086a1 kernel/linux: fix typo in version string
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-22 23:47:15 +01:00
Yann E. MORIN"
0841e2f820 cc/gcc: do not build plugins for static toolchains
Plugins are shared objects, and when building a toolchain statically,
the gcc build system breaks havok (although there is no hard technical
reasons it should not be possible)...

And consequently, do not enable plugin supoprt in binutils.

Reported-by: Thomas Spurden <thomas@ado.is-a-geek.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-22 23:27:42 +01:00
Yann E. MORIN"
b1edc84ae1 libc/glibc: LinuxThreads are no longer supported in latest versions
In fact, it is only supported in a few legacy versions.

Keep LT available for all eglibc versions, although it might need
a similar safeguard...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 23:42:20 +01:00
Yann E. MORIN"
b93e67f07c libc/glibc: add fortify option
By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 23:39:46 +01:00
Yann E. MORIN"
c785cc5804 kernel/linux: add latest versions
... and remove old versions.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 23:17:45 +01:00
Yann E. MORIN"
a59b794f9c debug/gdb: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 23:05:34 +01:00
Yann E. MORIN"
83a004e2c4 cc/gcc: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 22:29:33 +01:00
Bryan Hundven
efad18c4d6 libc/eglibc: Make eglibc 2.11 and 2.12 not experimental
I haven't noticed the usual experimental testers complain about eglibc
2.11 or 2.12 being unstable. So stop marking them as experimental.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-02-12 17:31:12 +01:00
Bryan Hundven
3cb87f6cd8 libc/eglibc: Add 2.13 branch
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-02-12 17:30:53 +01:00
Yann E. MORIN"
1838bb1f15 libc/glibc: add option to force unwind
We make it an option, as not all combinations of architectures
vs. compiler vs. glibc/eglibc exhibit the issue. Mostly visible
on old glibc versions, it seems...

This is a missing part from the glibc/eglibc merger... :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-31 19:52:18 +01:00
Yann E. MORIN"
adbf0ff180 cc/gcc: enable plugins if needed
Enabling plugins in binutils is not enough, and gcc also
needs to be ./configured with --enable-plugins, although
this is not documented anywhere... :-/

Reported-by: karthik duraisami <kdconstant@hotmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28 18:53:37 +01:00
Yann E. MORIN"
15da72b273 comptools: add make-3.81
Since the advent of make-3.82, some packages now break due to changes
in make-3.82, being stricter than 3.81 when interpreting the Makefiles.

This has bugged us a bit too much so far, and I believe fixing all
of them is a long road, while simply building make-3.81 is the easiest
route for now.

Of course, in the long term, packages will get fixed upstream, and we
should back-port the fixes to old versions, and get rid of building
make-3.81. In the meantime...

Reported several times on the mailing list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-29 00:57:02 +01:00
Yann E. MORIN"
7817bcebe7 config: add an option not to remove the destination directory
In certain circumstances, removing the destination/installation directory
is a bad idea. For example, when the build environment is already taking
care of sanitising the build tree, and pre-installs stuff in there, it is
a very bad idea to remove the destination directory.

This happens now in buildroot, as the crostool-NG backend now installs the
toolchain in the common host-tools directory, and pre-install there a few
host-utilities (eg. host-automake and host-gawk).

Provide a config knob to turn on/off the removal of the destination
directory, defaulting to 'y' (previous behavior), and forced to 'n' when
used as a backend.

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28 22:06:49 +01:00
Yann E. MORIN"
cec4bbf5c0 config/toolchain: force use of sysroot if OBSOLETE is not set
Use of the sysroot is highly recommended, and the non-sysroot case is
both obsolete and not widely tested.

Before the non-sysroot case can go away, deprecate it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 22:14:52 +01:00
Yann E. MORIN"
94be1f470c config: add an option to name the sysroot directory
Depending on local policies, some users have expressed a need to
have the sysroot be named differently than the hard-coded name.

Add an option for that.
Default to 'sysroot' to match the existing literature.

While at it, replace 'sys-root' with 'sysroot' everywhere we
reference the sysroot.

Reported-by: Alexey Kuznetsov <Alexey.KUZNETSOV@youtransactor.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 20:31:16 +01:00
Yann E. MORIN"
6568c1a39a libc-glibc: remove 2.3.6
This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 23:40:22 +01:00
Yann E. MORIN"
a28b593548 arch: remove ia64
ia64 is broken in every gcc/glibc combinations I tested (except for the
existing sample that used very old versions).

Nobody complained on the list about not being able to build recent versions.

So the only way forward I can see is to remove the architecture altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 22:02:06 +01:00
Yann E. MORIN"
029add5ebf kernel/linux: add latest versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-08 17:58:23 +01:00
Yann E. MORIN"
2841bb7a35 binutils/binutils: add wrapper to gold and ld
When both gold and ld are installed, add a wrapper that calls
to either gold or ld.

In case the wrapper is installed, we also need to symlink ld.bfd
and ld.gold for the core_cc steps.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 18:19:40 +01:00
Yann E. MORIN"
8a952d18e0 binutils/binutils: add support for threaded gold
When configured with support for threads, gold can link in
parallel, possibly cooperating with a make jobserver.

Add an option enabling threads.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 13:52:16 +01:00
Yann E. MORIN"
e4d610f905 binutils/binutils: add support for plugins
Add an option to enable plugins support in binutils.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 13:56:05 +01:00
Yann E. MORIN"
a0d9851dd0 binutils/binutils: add option to enable gold
gold is a new, optimised, multi-threaded linker with support
for plugins.

Add support for gold starting with binutils 2.21. Although 2.20
also had gold, the configure flags have changed, and supporting
2.20 would be a mess in the code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-28 00:11:33 +01:00
Yann E. MORIN"
aac53cf32c binutils/binutils: add BINUTILS_2_21_or_later blind option
Add BINUTILS_2_21_or_later blind option. It will be used to add
conditional support for building 'gold' on versions that have it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-28 19:07:21 +01:00
Bryan Hundven
7c768b3ca1 libc/eglibc: normalize eglibc hidden version names
In the previous patches to glibc and uclibc, we standardized on hidden
version names:

LIBC_<LIBC NAME>_V_<VERSION>

This patch updates EGLIBC to be the same for consistency to:

LIBC_EGLIBC_V_<VERSION>

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-02 22:33:04 +01:00
Bryan Hundven
6bd24a2c73 libc/uClibc: normalize uclibc hidden version names
Hidden version names for uClibc conflicted:

LIBC_UCLIBC_V_0_9_30_2
LIBC_V_0_9_30_1

name them constantly as:
LIBC_UCLIBC_V_<version>

Also update the build script where we use snapshots by version or snapshots by date.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-03 01:15:30 +01:00
Bryan Hundven
3ee9e2e9a1 libc/glibc: normalize glibc hidden version names
Hidden version names for glibc conflicted:

LIBC_GLIBC_V_2.10.1
LIBC_V_2.10

name them constantly as:
LIBC_GLIBC_V_<version>

Reported-by: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-02 22:32:48 +01:00
Heiko Zuerker
4e8ab6eefd libc/glibc: add 2.12.1 and 2.12.2
Signed-off-by: Heiko Zuerker <heiko@zuerker.org>
2010-12-29 19:34:53 +01:00
Bryan Hundven
a98df486c2 cc/gcc: Add gcc 4.5.2
Add gcc 4.5.2.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-29 02:00:21 +01:00