Commit Graph

2700 Commits

Author SHA1 Message Date
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
Yann E. MORIN"
1339801661 internals: fix stripping host binaries
The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 21:54:07 +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"
ea70303d73 samples: update the samples
Release time is coming at a fast pace. It is now time to
update the samples so they apply cleanly.

The canadian-cross sample mingw32,i686-none-linux-gnu has
been replaced with i586-mingw32msvc,i686-none-linux-gnu.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-30 19:25:56 +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"
f8ea3111b4 scripts: update tools
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-30 19:31:51 +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"
a2e31b9c53 scripts: squash the multi-slash in the sysroot symlink
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26 19:13:18 +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"
4d82364f1f samples: update the mingw sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26 00:12:27 +01:00
Yann E. MORIN"
2014041480 libc/mingw: do not remove support symlink
Under mingw, it seems that there is a mix between the traditional /usr
directory, and a similar-purposed /mingw directory (both in the sysroot).

Currently, we create /mingw as a symlink to /usr, and we removed it in
the libc-finish step.

Unfortunately, this prevents the pre-processor to find the headers.
Keeping the symlink makes it magically work...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26 00:04:41 +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"
8efc6dae8a scripts: fix double slash in paths
Computed paths may contain double slashes.
This is not an issue but it is just ugly to look at.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 21:59:03 +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"
15a1cc2491 libc: remove now unneeded do_libc_headers
do_libc_headers is now a noop, and is no longer used, so remove that step.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:36:20 +01:00
Yann E. MORIN"
0b773f5823 libc/glibc-eglibc: misc janitorial cleanups.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-20 00:27:36 +01:00
Yann E. MORIN"
129bf2fa66 libc/glibc: add glibc specifics to the shared code, and use it
Final step at sharing code between glibc and eglibc.
Fall, wall of shame, fall!... :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:58 +01:00
Yann E. MORIN"
49ab32ffe2 scripts: PARALLELMFLAGS is evil, rename
The reunification of the glibc/eglibc code paths exposed a nasty
bug in the glibc build: use of PARALLELMFLAGS breaks the build.

See the explanations in that bug report against FC6:
    https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:43 +01:00
Yann E. MORIN"
b343b0216b libc/glibc: commonalise assembling the list of addons
glibc and eglibc each have two very similar ways of building this list.
This can, and should definitetly, be shared.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:18 +01:00
Yann E. MORIN"
a150a97e44 libc/glibc: commonalise setting of the minimum supported kernel version
It will be possible to use that also with eglibc, so this hunk belongs to
the common code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:02 +01:00
Yann E. MORIN"
b560936e09 libc/glibc: use the common start_files procedure
Use the common procedure, shared between glibc and eglibc. This requires
that glibc-specific bits be included in the shared procedure.

But still build the full libc with the glibc-specific procedure. This will
be commonalised in a future commit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:37:25 +01:00
Yann E. MORIN"
b43ff236bb libc/eglibc: cleanup common code for sharing with glibc
Some stuff is eglibc-specific, so needs to be conditonal.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17 23:04:57 +01:00
Yann E. MORIN"
cc0894e731 libc/eglibc: move generic code to a common file
The build procedure for eglibc is generic enough to
be shared between glibc and eglibc. This includes:
 - headers install (empty!)
 - start files build
 - complete libc build
 - libc finish (empty!)
 - add-ons list

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17 23:04:37 +01:00
Yann E. MORIN"
2dd949cd7f libc/mingw: move content of do_libc_headers into do_libc_start_files
It is unnecessary to split C library preparation into two steps, as only
one really makes sense. So, do_libc_headers is bound to be withdrawn
short-term, in favor of do_libc_start_files.

mingw already had all its start files installation in do_libc_headers, and
do_libc_start_files was empty, just migrate the content of the former into
the latter.


Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:32:44 +01:00
Yann E. MORIN"
7b003fde97 libc/uClibc: move content of do_libc_headers into do_libc_start_files
It is unnecessary to split C library preparation into two steps, as only
one really makes sense. So, do_libc_headers is bound to be withdrawn
short-term, in favor of do_libc_start_files.

uClibc already had all its start files installation in do_libc_headers, and
do_libc_start_files was empty, just migrate the content of the former into
the latter.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:32:25 +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"
1ce0dba9d7 kernel/linux: simplify the download URL
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:36:07 +01:00
Yann E. MORIN"
3de7ced945 kernel/linux: longterm kernel location changed
The location of the longterm Linux kernels on FTP has changed.
Here is a simple (but not very versatile) fix.

Signed-off-by: "Björn A. Herwig" <herwig@gdsys.de>
[yann.morin.1998@anciens.enib.fr: make it generic/versatile]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:32:38 +01:00
Yann E. MORIN"
23d449366d complibs/cloog: regenerate autostuff files
Latest version of CLooG does not have properly generated autoconf files,
so they need to be regenerated before the call to ./configure

Signed-off-by: "Ilya A. Volynets-Evenbakh" <ilya@total-knowlege.com>
[yann.morin.1998@anciens.enib.fr: make it conditional on 0.15.10 only]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-13 23:20:39 +01:00
Yann E. MORIN"
ba27d02036 debug/ltrace: fix building for mips
ltrace 0.5.3 currently fails to build for target mips because MY_TARGET
(introduced by patches/ltrace/0.5.3/150-allow-configurable-arch.patch)
is set to 'mips' via CT_ARCH, while the mips specific stuff in ltrace
(0.5.3) is stored under sysdeps/linux-gnu/mipsel:

  result: *** No rule to make target `mips/arch.h', needed by `sysdep.h'.
  Stop.

The following patch fixes this issue

Signed-off-by: "Horst Kronstorfer" <horst.kronstorfer@aon.at>
[yann.morin.1998@anciens.enib.fr: reformat commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-08 18:07:02 +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"
c46370122d samples: update i686-nptl-linux-gnu
Enable Java and Fortran frontends.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-31 00:16:19 +01:00
Yann E. MORIN"
279ab9f481 cc/gcc: fix building of ecjx
When building ecjx, the compiler for the build system must
be used, not for the compiler for the host system.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-30 21:09:36 +01:00
Yann E. MORIN"
ab0ef7042f samples: update i686-nptl-linux-gnu
Notable changes:
- uses binutils 2.21, builds gold, but defaults to ld
- uses gcc 4.5.2, with GRAPHITE and LTO, builds lto-plugin

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-30 21:06:04 +01:00
Yann E. MORIN"
e5ded6e946 cc/gcc: build lto-plugin if binutils' gold is built
To properly enable LTO with gold, gcc has to install a plugin that gold
uses to handle the LTO information.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 17:58:35 +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
Yann E. MORIN"
b0c69b3cdc complibs/libelf: build with -fPIC
libelf is used by gcc to build the lto-plugin used
by binutils' gold to perform LTO.

This requires that files in libelf be compiled with
-fPIC to generate a proper .so.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 02:34:18 +01:00
Yann E. MORIN"
e0c067dc3e debug/gdb: fix for psim build failure due to -lz in gdb-7.2.
Signed-off-by: "Horst Kronstorfer" <horst.kronstorfer@aon.at>
[yann.morin.1998@anciens.enib.fr: fix space-damage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 19:07:34 +01:00
Yann E. MORIN"
8d821ce49a samples: update after libc versions renaming
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 22:32:04 +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
Yann E. MORIN"
88c8168763 internals: properly remove all docs
Part of the installed doc was not removed (if configured to).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 19:41:17 +01:00