"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Feb 2011 22:14:12 +0100] rev 2325
kernel/linux: add latest 2.6.37.2 version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Feb 2011 15:34:30 +0100] rev 2324
binutils/sstrip: build statically for static toolchains
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Feb 2011 16:20:47 +0100] rev 2323
binutils/elf2flt: remove trailing spaces
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 27 Feb 2011 15:27:54 +0100] rev 2322
docs: rename chapter 9
Rename the file so that it is the same name as the chapter.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 24 Feb 2011 22:38:08 +0100] rev 2321
docs: add chapter 9 to ToC
Missed in the previous commit... :-/
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 24 Feb 2011 22:31:15 +0100] rev 2320
docs: add an in-depth explanations of the build steps
The build process is quite complex: gcc is built three times, there are
two C library steps, there are those companion libraries...
People often wonder what all these steps do, and why they are needed.
Recently, someone proposed a tutorial on the crossgcc mailing list:
http://sourceware.org/ml/crossgcc/2011-01/msg00059.html
This meant that there was a need for such a tutorial, and explanations
on how a toolchain is built. So i decide to extend my answers:
http://sourceware.org/ml/crossgcc/2011-01/msg00060.html
http://sourceware.org/ml/crossgcc/2011-01/msg00125.html
into proper documentation in crosstool-NG.
Thanks go to Francesco for suggesting this. He has a fine tutorial
for beginners there:
http://fturco.org/wiki/doku.php?id=debian:cross-compiler
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 23 Feb 2011 00:12:16 +0100] rev 2319
complibs/mpc: add latest version 0.9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 23 Feb 2011 00:10:57 +0100] rev 2318
complibs/ppl: add latest version 0.11.1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 22 Feb 2011 23:47:15 +0100] rev 2317
kernel/linux: fix typo in version string
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 22 Feb 2011 23:27:42 +0100] rev 2316
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 23:42:20 +0100] rev 2315
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 19:27:28 +0100] rev 2314
libc/glibc: fix dubious construct when installing headers
This is dubious because if the copy fails, then we'll miss the error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 19:20:19 +0100] rev 2313
libc/glibc: only install start files for NPTL
Building the start files requires a shared-capable compiler, which we do
not have when the threading implementation is LinuxThreads.
So, only build the start files when the threading implementations is NPTL.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 23:39:46 +0100] rev 2312
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 14:39:24 +0100] rev 2311
internals: don't remove lib64 symlinks in sysroot
The lib64 symlinks are needed for the linker to find the libraries.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 21 Feb 2011 23:17:45 +0100] rev 2310
kernel/linux: add latest versions
... and remove old versions.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 18 Dec 2010 22:55:56 +0100] rev 2309
comptools: install them side-to-side with build tools
As companion tools might or might not be used to build each
toolchain, they do belong to that toolchain's build tools,
not to the generic override tools.
Fix a typo in the autoconf URL.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 20 Dec 2010 00:07:29 +0100] rev 2308
buildtools: the buildtools dir is in fact a prefix
Consider the buildtools install directory as a prefix directory,
that is, install buildtools in prefix/bin/, not in prefix/.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 23 Dec 2010 20:43:32 +0100] rev 2307
buildtools: move to working directory
There is absolutely *no* reason for the buildtools (wrappers to gcc, g++,
as, ld... for the local machine) to be in the toolchain directory. Moreover,
they are removed after the build completes.
Move them out of the toolchain directory, and into the build directory (but
yet the part specific to the current toolchain). This means we no longer
need to explicitly remove them either, BTW, but we need to save/restore them
for the restart feature.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 20 Feb 2011 22:12:43 +0100] rev 2306
buildtools: store path to buildtools in a variable
Currently, the buildtools are installed relative to ${CT_PREFIX_DIR}.
Change that by introducing ${CT_BUILDTOOLS_DIR}, which is
still set relative to ${CT_PREFIX_DIR}, but which will make it easy
to change in the future.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 23:20:18 +0100] rev 2305
scripts: create the makeinfo wrapper before we set PATH
If we set PATH to the tools wrappers before we create the
makeinfo wrapper, then we may well wrap an existing wrapper
from a previous run.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:52:57 +0100] rev 2304
kernel: move the headers install step
The kernel headers are only needed just before we build
the C library headers, and need not be present before.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 17 Feb 2011 23:05:34 +0100] rev 2303
debug/gdb: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 17 Feb 2011 22:29:33 +0100] rev 2302
cc/gcc: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 17 Feb 2011 21:54:07 +0100] rev 2301
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>
Bryan Hundven <bryanhundven@gmail.com> [Sat, 12 Feb 2011 17:31:12 +0100] rev 2300
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>
Bryan Hundven <bryanhundven@gmail.com> [Sat, 12 Feb 2011 17:30:53 +0100] rev 2299
libc/eglibc: Add 2.13 branch
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:20:35 +0100] rev 2298
1.10: update version to 1.10.0+hg
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:20:35 +0100] rev 2297
Tagging release 1.10.0
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:20:35 +0100] rev 2296
1.10: create maintenance branch, update version to 1.10.0
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:19:25 +0100] rev 2295
1.9: close branch
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:11:19 +0100] rev 2294
1.9: update version to 1.9.3+hg
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:11:19 +0100] rev 2293
Tagging release 1.9.3
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 01 Feb 2011 00:11:19 +0100] rev 2292
1.9: update version to 1.9.3
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 26 Jan 2011 00:04:41 +0100] rev 2291
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>
(transplanted from fa5c70b11fecf390c78780fe8f8ba0a836a59e92)
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 30 Jan 2011 19:25:56 +0100] rev 2290
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 31 Jan 2011 19:52:18 +0100] rev 2289
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 30 Jan 2011 19:31:51 +0100] rev 2288
scripts: update tools
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 28 Jan 2011 18:53:37 +0100] rev 2287
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 26 Jan 2011 19:13:18 +0100] rev 2286
scripts: squash the multi-slash in the sysroot symlink
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 29 Jan 2011 00:57:02 +0100] rev 2285
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 28 Jan 2011 22:06:49 +0100] rev 2284
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 26 Jan 2011 00:12:27 +0100] rev 2283
samples: update the mingw sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 26 Jan 2011 00:04:41 +0100] rev 2282
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 25 Jan 2011 22:14:52 +0100] rev 2281
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 25 Jan 2011 21:59:03 +0100] rev 2280
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 25 Jan 2011 20:31:16 +0100] rev 2279
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:36:20 +0100] rev 2278
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 20 Jan 2011 00:27:36 +0100] rev 2277
libc/glibc-eglibc: misc janitorial cleanups.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:35:58 +0100] rev 2276
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:35:43 +0100] rev 2275
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:35:18 +0100] rev 2274
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:35:02 +0100] rev 2273
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:37:25 +0100] rev 2272
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 17 Jan 2011 23:04:57 +0100] rev 2271
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 17 Jan 2011 23:04:37 +0100] rev 2270
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:32:44 +0100] rev 2269
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 22 Jan 2011 22:32:25 +0100] rev 2268
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 03 Jan 2011 23:40:22 +0100] rev 2267
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>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 03 Jan 2011 22:02:06 +0100] rev 2266
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>