Commit Graph

1518 Commits

Author SHA1 Message Date
Yann E. MORIN"
8989b2d658 binutils/elf2flt: restore the custom location functionality
Somehow, it got lost when incorporating elf2flt in the binutils farmework.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 17:51:33 +02:00
Yann E. MORIN"
298982aab2 binutils/binutils: do not forget to extract elf2flt
In case we're using a custom (aka local) binutils source, we still
need to extract and patch elf2flt.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 18:42:30 +02:00
Yann E. MORIN"
04a7340d0a binutils/elf2flt: use alternate mirror
The official elf2flt upstream has disapeared.

Switch to a mirror.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 15:43:28 +02:00
Yann E. MORIN"
e2d2b2ae11 functions: finally fix the git helper
It's gonna soon be used by elf2flt, so we better get it working.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 17:47:53 +02:00
Cody Schafer
db2872f2ac cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal
The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
 use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
2014-05-09 19:13:49 -07:00
Cody Schafer
b61a1b13ee cc/gcc: avoid passing --enable-multilib
Some versions of gcc have a broken --enable-multilib flag. As multilib is the
default, only pass the --disable-multilib flag

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: make it an if-block; duplicate commit log as comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <5c970c1ceb22528fe28a.1399687923@localhost>
Patchwork-Id: 347585
2014-05-09 19:11:59 -07:00
Yann E. MORIN"
4a05e37256 scripts: remove references to curl
It's been a while we're not using curl anymore.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-10 12:33:37 +02:00
Cody Schafer
490ec21217 scripts: add possibility to not override default connection timeout
Allow '-1' to be specified as CONNECTION_TIMEOUT to disable the use
of the connection timeout for wget.

Signed-off-by: Cody P Schafer <dev@codyps.com>
Message-Id: <cb33f8c2cbaf802d4f04.1399687632@localhost>
Patchwork-Id: 347582
2014-05-09 19:07:02 -07:00
Bryan Hundven
4e6622e882 scripts: Update config.guess and config.sub
Update config.guess and config.sub from:
http://git.savannah.gnu.org/gitweb/?p=config.git

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: further update]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <befa8e8e81336bc1c415.1393054644@Bryans-MacBook-Pro.local>
Patchwork-Id: 323128
2014-02-21 23:28:12 -08:00
Trevor Woerner
3737334080 newlib: fix extract process for custom version
newlib: fix extract process for custom version

If the user specifies the use of a custom newlib version, the logic in the
extract function was reversed, so this step would fail.

Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
[yann.morin.1998@free.fr: keep leading indentation]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <c727adf1b7bd2c1e891d.1393353347@openSUSE-i7>
Patchwork-Id: 324060
2014-02-25 13:34:48 -05:00
Yann E. MORIN"
eb0da898f8 cc/gcc: only build required core passes
We now know exactly what pass to build, so build only what is required.

Reported-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-05 23:24:05 +02:00
Ray Donnelly
62a1145d61 binutils: Added ranlib to tools list
so that it is available to available to
the core C compiler build because static
libraries are built and ranlib is used
on them.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Message-Id: <CAOYw7dt=+DdnKAHNShfs6a+=7sS+DLQYkyxnQMAwmw7E7zqvgA@mail.gmail.com>
Patchwork-Id: 316477
2014-02-04 07:40:45 +00:00
Yann E. MORIN"
2ee8d1d8f2 cc/gcc: add option to enable/disable decimal floats
Decimal floats need support form the C library, namely support
for fenv, which is missing in uClibc for any architecture but
x86/32.

Add an option (a choice) to enable or disable decimal floats.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:17:40 +01:00
Yann E. MORIN"
ec93451443 libc/uClibc: add option to enable fenv
Support for fenv.h is a little bit more tricky that enabling it only
for x86-32 is not right.

Add an option for the user to choose whther to install fenv.h or not.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 16:19:18 +01:00
Yann E. MORIN"
20d851ad9f libc/glibc: fix downloading addons
Do to glibc what we did to eglibc in #dff359adf15c.

Only (very) old versions of glibc have other external addons,
and they are no longer meaningful.

But for consistency, do the change nonetheless.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-06 20:05:14 +01:00
Yann E. MORIN"
2071cfb13e libc/glibc: print name of skipped addon
When trying to extract an already present (aka bundled) addon,
print the name of that addon, for clarity, and to help analyse
the build.log post-mortem.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-05 19:25:54 +01:00
Daniel Dittmann
ba4abe8285 cc/gcc: set CXXFLAGS at configure gcc
Since gcc 4.8 C++ is also used as implementation language (see gcc
release notes).

Signed-off-by: "Daniel Dittmann" <ddittmann@gmx.net>
Message-Id: <acc7d11bc77b30f21c5b.1388863298@bernalk.machteam>
Patchwork-Id: 306883
2014-01-04 20:16:18 +01:00
Yann E. MORIN"
c1ed43e527 libc-uclibc: enable fenv for x86 32-bit
Without it, gcc-4.8 fails to build.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04 01:10:13 +01:00
Yann E. MORIN"
c6fd7bd2d9 cc/gcc: diable libsanitizer without NPTL
gcc-4.8 comes with a new library to sanitise memory access:
  - heap-, stack-, and global-buffer overflow, use-after-free
  - data-races between threads

This library requires some _np parts of the API, which are not
implemented in the (old) LinuxThreads, which is still available
in uClibc.

Since NPTL requires a i486 or above, i386 are stuck with using LT,
which precludes building the libsanitizer.

Disable libsanitizer, a bit like libatomic is.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Niels Penneman <niels@penneman.org>
2014-01-04 01:02:57 +01:00
Yann E. MORIN"
05429e01f2 libc/eglibc: fix downloading of localedef addon
For the versions of eglibc where the ports addon is not external (ie,
all versions after, and including 2.17), we would fail to download the
localedef addon, since the test did not care about the addon we were
about to download, only whether the ports addon was external or not.

Fix that by skipping the ports addon only if that's the addon we're
trying to download.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-03 17:10:09 +01:00
Niels Penneman
89e9d9851a cc/gcc: fix gcc 4.8 build for C library without threads support
Signed-off-by: Niels Penneman <niels@penneman.org>
Message-Id: <309df93f4354c80e05c9.1388743085@i7sb.local>
Patchwork-Id: 306521
2014-01-03 10:57:48 +01:00
Yann E. MORIN"
c1a327fc0b scripts: do not allow commas in directories, it breaks things
The comma is used by the autotools as separator in many sed expressions,
which break if a directory contains commas.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-03 00:13:15 +01:00
Yann E. MORIN"
dbe2cc1c0b kernel/linux: fix fall-out due to arm64 special case
Cset 3b61be3d7aa6 (prepare for arch whose kenel name is not the standard name)
failed to name a variable consistently, so all archs but arm64 were broken.

Fix that by renaming the variable in a consistent way.

Reported-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-01 19:14:20 +01:00
Yann E. MORIN"
1bf982dd68 arch/arm: add support for AArch64
AArch64 id the 64-bit variant for ARM.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Cc: Michael Hope <michael.hope@linaro.org>
2013-12-30 23:28:18 +01:00
Yann E. MORIN"
9bda4536fe kernel/linux: prepare for arch whose kenel name is not the standard name
For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: split out of the aarch64 patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-30 23:15:02 +01:00
Yann E. MORIN"
def5ffe83a scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 13:02:57 +01:00
Yann E. MORIN"
2c2717a019 libc/newlib: fix variables for avr32 headers
Some of the avr32headers related variables are used in different
functions, so have to be declared globally, not locally.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 12:55:21 +01:00
Zhenqiang Chen
2f94f99dd8 cc/gcc: Add Fortran support for Baremetal build
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: fix damage due to mailer]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CACgzC7D5HCVS-qX=ydcQphNFH=VGgJzTdZWQWaLKAv-CdE8crA@mail.gmail.com>
Patchwork-Id: 292703
2013-11-19 14:44:02 +08:00
Yann E. MORIN"
f63e4f0604 libc/{glibc,eglibc}: Don't download glibc-ports when not available
Don't download glibc-ports when glibc or eglibc version greater than 2.16,
because the "ports" source is mainline in the glibc or eglibc since version 2.17.

Signed-off-by: "Daniel Zimmermann" <netzimme@gmail.com>
Message-Id: <9c045ca3cf1b9dc89da3.1384602843@haus-VirtualBox>
Patchwork-Id: 291766
[yann.morin.1998@free.fr: slightly tweak subject, change variable name]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-16 16:16:51 +01:00
Yann E. MORIN"
78c5cab850 debug/gdb: fix canadian-cross in case of static cross gdb
Building the cross-gdb shoud be done using the host compiler,
not the native compiler.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-15 21:35:27 +01:00
Yann E. MORIN"
edd01b7729 libc/(e)glibc: fix extra configparms
In case ${CT_LIBC_GLIBC_CONFIGPARMS} starts with a dash, printf will try
to interpret it as an option for itself, and will invariably flail in
panic as it does not recognise any of it.

Use a more robust solution, as suggested by Cody.

Reported-by: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Cody P Schafer <devel-lists@codyps.com>
2013-11-15 21:21:12 +01:00
Yann E. MORIN"
0226e35db7 scripts/functions: use portable 'gzip -dc'
'zcat' on MacOS-X is broken (it is not gzip's zcat, but compres' zcat).

Use 'gzip -dc' for portability, as suggested by Anthony.

Reported-by: Fernando Ortiz <fortiz2k@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anthony Foiani <anthony.foiani@gmail.com>
2013-11-15 21:16:52 +01:00
Yann E. MORIN"
a5b6b0d129 scripts: remove duplicate '/' in prefix, it breaks relocation
Reported-by: Richard Weinberger <richard.weinberger@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-15 18:58:42 +01:00
Yann E. MORIN"
cf36828878 cc/gcc: Add support for golang
Signed-off-by: Richard Weinberger <richard@nod.at>
Message-Id: <ca374aef944e28a6ec3c.1383921708@azrael>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-08 15:18:09 +01:00
Michael Hope
c0c6db07fe complibs/isl: add HTTP mirror
Add well-known HTTP mirror as a fallback.  This lets crosstool-ng
work when behind a HTTP/HTTPS only proxy.

Signed-off-by: Michael Hope <michaelh@juju.net.nz>
[me: split original patch in two]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda>
Patchwork-Id: 264436
2013-08-01 20:24:35 +00:00
Michael Hope
8d21f730a6 libc/newlib: add HTTP mirror
Add well-known HTTP mirror as a fallback.  This lets crosstool-ng
work when behind a HTTP/HTTPS only proxy.

Signed-off-by: Michael Hope <michaelh@juju.net.nz>
[yann.morin.1998@free.fr: split patch in two]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda>
Patchwork-Id: 264436
2013-08-01 20:24:35 +00:00
Yann E. MORIN"
e1675bac64 complibs/cloog: add support for the ISL backend
CLooG 0.18+ will use ISL instead of PPL, so we have to configure
adequately depending of which backend is in use.

The Kconfig entries will decide for us which is selected, so we
can rely on either PPL xor ISL to be selected, not both.

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add ISL support,
 which this patch is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 00:01:05 +02:00
Yann E. MORIN"
1dc3dd9167 cc/gcc: add preliminray support for 4.8
This means:
  - introduce the new symbols for 4.8
  - do not always select PPL if graphite is selected

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add gcc-4.8 support,
 which this patch is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 17:59:00 +02:00
Yann E. MORIN"
e4828c01d3 complibs: add ISL
ISL is used by gcc-4.8 onward for GRAPHITE, so is also used as
backend for CLooG 0.18.0 onward.

Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru>
[Dmitry did a preliminray patch to add ISL, which this one is inspired from]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-04 00:08:34 +02:00
Zhenqiang Chen
501204e8d4 cc/gcc: Set CXX_FOR_BUILD for bare metal and canadian build.
>From 4.8, g++ is used as the default compiler to build the toolchain.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Message-Id: <CACgzC7B-LQvAw3hOYhBA7b7g0H1WtH20gqXM=Y=YFO4FrnZKWQ@mail.gmail.com>
Patchwork-Id: 243590
2013-05-13 15:00:56 +08:00
Yann E. MORIN"
71e10954b7 scripts: handle gcc 4.7 and 4.8 in addToolsVersion.sh
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-03 17:12:15 +00:00
Yann E. MORIN"
3e297d35e8 scripts: help debugging missing directories
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-05-05 18:34:20 +02:00
Jongsung Kim
d8988dbe0b cc/gcc: modify to build gcc-4.8-based cross-tools
Building cross-tool based on gcc-4.8 fails while "Installing
pass-2 core C compiler", because building libgcc.mvars needs
libbacktrace.a that gcc.sh doesn't build. This patch inserts
a few lines configuring, and making libbacktrace into gcc.sh
to build gcc-4.8-based cross-tools successfully.

Reported-by: Plotnikov Dmitry <leitz@ispras.ru>
Signed-off-by: Jongsung Kim <neidhard.kim@lge.com>
Message-Id: <201305031831.33395.neidhard.kim@lge.com>
Patchwork-Id: 241258
2013-05-02 23:31:33 +00:00
Samuel Martin
a3e17bad44 complibs/ppl: only add -fpermissive flag to CXXFLAGS
-fpermissive is not a valid option to gcc.

Adding it to the CFLAGS make the ppl checks fail with the following
error:

[ALL  ]    Making check in tests
[ALL  ]    cc1: warnings being treated as errors
[ERROR]    cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C
[ALL  ]    cc1: warnings being treated as errors
[ERROR]    cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C
[ERROR]    make[7]: *** [formatted_output.o] Error 1

Signed-off-by: "Samuel Martin" <smartin@aldebaran-robotics.com>
Message-Id: <bba2482a06a11415207e.1365876457@smartin-de-2.aldebaran.lan>
Patchwork-Id: 236383
2013-04-13 19:41:36 +02:00
Jerzy Grzegorek"
b9934ce10a scripts/functions: add xz-ed linux tarballs
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Message-Id: <d0ec17a687dc80754e0f.1363860872@NX5000>
Patchwork-Id: 229619
2013-03-21 11:01:09 +01:00
Jerzy Grzegorek"
5458f566af kernel/linux: add xz-ed linux tarballs
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Message-Id: <f249828223fc75313bee.1363860871@NX5000>
Patchwork-Id: 229618
2013-03-21 10:57:31 +01:00
Martin Guy
e284b218a7 arch/avr32: Fix download of header files
This patch fixes the download of the avr32 headers in crosstool-ng by
fetching them directly from Atmel's web site instead of the now-broken URL
given by the original author of the avr32-header-fetching modification,
who fetched them from a copy on his own, now-defunct server.

It also adds the necessary logic to extract from a zip file, as that is
how the headers are packaged.

To configure it for avr32 after launching ct-ng menuconfig in an empty
directory:

       Paths and misc options ->
               Shell to use as CONFIG_SHELL = sh
       Target options ->
               Target Architecture = avr32
       Toolchain options ->
               Tuple's alias = avr32
       Binary utilities ->
               binutils version = 2.18a
       C compiler
               gcc version = 4.2.2
       C-library
               newlib version = 1.17.0
               Enable IOs on long long = yes
               Enable IOs on floats and doubles = yes
               Disable the syscalls supplied with newlib = yes

CONFIG_SHELL is necessary to get round the "fragment: command not
found" bug when binutils-2.18 is configured using bash.

Prepared against crosstool-ng mercurial trunk on 31 March 2012.

Signed-off-by: Martin Guy <martinwguy@gmail.com>
[yann.morin.1998@free.fr: update bundles sample accordingly]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CAL4-wQrg_NQ7jm-NCADqeyQr9twyhtx42OUGNThP6gWeqZc=kw@mail.gmail.com>
Patchwork-Id: 232612
2013-03-31 04:07:38 +00:00
Samuel Martin"
355e585232 debug/dmalloc: enforce cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <69772732f551aa342a2c.1363446264@laptop>
Patchwork-Id: 228221
2013-03-16 15:33:44 +01:00
Samuel Martin"
96b2e3c3f6 debug/strace: enforce cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <24b6540a08cbca7ee1fa.1363446263@laptop>
Patchwork-Id: 228220
2013-03-16 15:47:56 +01:00
Samuel Martin"
1fc10f2779 debug/gdb: enforce gdbserver cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <ca85cad85c4dd20e74f1.1363446262@laptop>
Patchwork-Id: 228219
2013-03-16 15:46:45 +01:00
Yann E. MORIN"
d12f807b16 libc/glibc: do not overwrite existing bits/syscall.h
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Rafael C <groups.r2@gmail.com>
Cc: Jérôme BARDON <bardon.pro@gmail.com>
Cc: Daniel Price <daniel.price@gmail.com>
2013-03-03 22:24:40 +01:00
Yann E. MORIN"
75e7c5bc1b libc/glibc: fix installing syscall.h when installing start-files.
Reported-by: Rafael C <groups.r2@gmail.com>
Reported-by: Jérôme BARDON <bardon.pro@gmail.com>
Reported-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: use a conditional approach, also suggested by Daniel]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 22:18:35 +01:00
Yann E. MORIN"
a5491bd775 debug/gdb: a litle bit of trivial code-reordering
Move all options-setting code at the same place.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:17:55 +01:00
Yann E. MORIN"
6fef7d640a debug/gdb: fix possibly broken code
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:15:56 +01:00
Yann E. MORIN"
ea899b6767 debug/gdb: move the ncurses build to a backend
This cleans up the code a bit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:21:51 +01:00
Yann E. MORIN"
71d2f41cf9 debug/gdb: always enable expat for the cross-gdb
There's no point in not supporting XML in the cross-gdb.
I mean, come on... ;-)

It's still the responsibility of the user to have the necessary
devel expat packages installed for his/her distro.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:19:32 +01:00
Yann E. MORIN"
5b41901f99 debug/gdb: fix $need_expat_src usage for native-gdb
For the native-gdb (ie on the target), we unconditionally
need to build expat.

Make it a backend, it makes a litle bit cleaner code.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:30:02 +01:00
Yann E. MORIN"
c31652d67d debug/gdb: fix $need_ncurses_src usage
It should be used only to decide whether we need to download/extract
ncurses, not wheter we should build it or not.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:25:52 +01:00
Yann E. MORIN"
42b0a64885 debug/gdb: fix the mess do_{gdb,expat,ncurses} have become
Rename those three variables to properly reflect their purpose: decide
whether we need to download/extract gdb/libexpat/libncurses, not whether
we need to build them or not.

This is only a rename for now, subsequent changes will further
fix this mess.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:02:32 +01:00
Trevor Woerner
38a4afc266 libc/newlib: update fetch location
The menu system provides an option to allow a user to request newlib
version 2.0.0. newlib-2.0.0, however, is not available at the download
location currently being used. It is, however, available (as are other
supported versions of newlib) at an alternate location.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Message-Id: <75ab5151c7f5dc9086e3.1362334313@suse64>
Patchwork-Id: 224561
2013-03-03 13:10:51 -05:00
Yann E. MORIN"
035fb442ea complibs/ppl: update upstream location
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-02-15 18:54:27 +01:00
Yann E. MORIN"
7057f45317 scripts: fix finishing the toolchain when download/extract-only is set
In case we only download or extract the sources, do not fail while
finishing the toolchain: the test-suite directory may not exist, so
we can't chmod it.

Also, use safer constructs that won't trigger the 'set -e' in case of
failure (eg.: "[ ... ] && ..." is not safe in case the test fails).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-28 21:53:18 +01:00
Samuel Martin
338c1b4642 script: allow to pass any float value for CT_LOAD
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <b51acf21c72b4a8e882e.1359320015@laptop>
Patchwork-Id: 216062
2013-01-27 17:54:19 +01:00
Yann E. MORIN"
150f500426 arch: allow adding a suffix to the arch-part of a tuple
For some architectures, it is legit to have an alternate value in the
'architecture' part of the tuple. For example:
    armv5te-*
    armv7a8-*

Besides, some packages expect the tuple to reflect the arch variant
(eg. openMPI) to detect the variant's capabilities (eg. atomic
primitives).

This patch adds an option for the user to specify a suffix to be added
to the arch-part of the tuple.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Message-ID: <20130120225822.GS6838@1wt.eu>
Patch-Id: 213994
[yann.morin.1998@free.fr: make it a suffix, not an override]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-20 12:58:22 +00:00
Yann E. MORIN"
d75440243e scripts: woops, root's UID is 0, not 1000!
Left-over from a test... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 23:09:38 +01:00
Yann E. MORIN"
1cabb74b7d scripts: check for running as root
Running as root is really, really dangerous.

Add a runtime-check that refuses to build if running as root.
Can be overriden with a double switch in the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 22:38:48 +01:00
Yann E. MORIN"
ffe80db73c libc: get rid of libc_finish
At long last, we no longer have any libc that requries a libc_finish.
Yeah!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 21:01:59 +01:00
Yann E. MORIN"
b8c9fdf4a3 libc/newlib: install AVR32 headers during the start-files-and-headers phase
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 19:06:46 +01:00
Yann E. MORIN"
c1d673203d arch/arm: add option to use *eabihf tuples
Toolchains that use the hard-float ABI now are to be denoted by a tuple
ending in *eabihf, while the prevbious *eabi is now an indication that
the toolchain uses the softfloat ABI.

This is purely a cosmetic thing, for distros to differentiate their
hardfloat-ABI ports from their softfloat-ABI ports.

(note: softfloat ABI does not mean that it is using softfloats; it can
be using hardfloat instructions, but using the softfloat ABI).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10 00:11:17 +01:00
Yann E. MORIN"
15af813bf1 scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-09 18:52:00 +01:00
Yann E. MORIN"
515938dc92 scripts/addToolsVersion: handle elf2flt
The one was missing from the list.

It is very improbable that we ever need it, as elf2flt does no release,
and we always get it from CVS head. But for the sake of consistency, we
just add it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-27 12:53:32 +01:00
Yann E. MORIN"
ae91413aee scripts/addToolsVersion: properly handle .in vs. .in.2
While most components have their version in the .in file, some
have it in the .in.2 (eg. elf2flt).

Currently, to handle this case, we indiscriminately munge both files,
but this is wrong: in the elf2flt case, if we add a binutils version,
we do not want it to be added to elf2flt, and conversely.

So, for each tool, we need to explicitly know what file to munge.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-27 12:45:22 +01:00
Yann E. MORIN"
1e449846a5 script/addToolsVersion: fix eglibc version separator
eglibc uses '_', not '.' to separate major/minor.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:44:43 +01:00
Yann E. MORIN"
ea77a251e5 libc/glibc: both glibc and eglibc have pkgversion and bugurl
Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:30:51 +01:00
Yann E. MORIN"
340875e473 libc/eglibc: remove now superfluous config knobs
All eglibc versions we now have support pkgversion and bugurl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 12:15:10 +01:00
Yann E. MORIN"
8ec9dbbc8d libc/glibc: always enable obsolete RPC
Since unrecognised ./configure flags are simply ignored,
we can always pass --enable-obsolete-rpc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26 13:34:55 +01:00
Yann E. MORIN"
188d166ce3 scripts/showTuple: fix stdout
Since we've had the debug shell feature, fd #7 is now used to
redirect stderr, while it was previously unused.

Use fd #9 to redirect stdout.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-06 12:08:33 +01:00
Yann E. MORIN"
fc4d1bf65f complibs/ppl: fix build with newer gcc
ppl-0.10.x does not build with gcc-4.6+, as it uses constructs that were
warnings with gcc-4.5 and before, but are now errors with gcc-4.6 and
above.

Fix that by passing -fpermissive in CFLAGS for ppl 0.10.

Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr>
Reported-by: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-10 00:25:48 +01:00
Yann E. MORIN"
288ac9d627 scripts/xldd: use user's sed and grep
xldd uses sed and grep as detected by ./configure. This works well if is
used on the machine that build the toolchain.

But if the user moves the toolchain to another machine where sed and grep
are not in the same directory (eg. /bin/sed vs. /usr/bin/sed), then xldd
will stop functionning.

Fix that by using ${SED} and ${GREP} if they are set in the environment.

Reported-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-05 20:31:43 +01:00
Yann E. MORIN"
4e9c473337 cc/gcc: do not print 'core' or 'final'
In gcc-'s core and final passes, do not print 'core' or 'final' in
log messages. We already print it in step messages.

Also, as we use the core backend to build the bare-metal final gcc,
it can be disturbing to read 'core' while we're in fact in 'final'.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-25 18:22:38 +01:00
Yann Diorcet
e9920217e8 cc: add a flag for skipping core passes
It is used for skipping unnecessary compilation steps when the libc
doesn't need to be compiled (eg. when we do not use a C library).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <150eadb0117e697d79aa.1353625025@blackmint>
Patchwork-Id: 201222
2012-11-22 23:56:58 +01:00
Yann E. MORIN"
6023f7221a scripts/functions: fix debug-shell
Properly catch resuming the build when continuing past the
failed command.

The 'case ;;&' construct is a bash4ism. Get rid of it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-22 19:43:26 +01:00
Daniel Price
77705cdfe1 scripts: refine static linking check to better guide the user
The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
  - check we can run it
  - check it can build a trivial program
  - check it can statically link that program
  - check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
2012-11-20 16:59:17 -08:00
Daniel Price
b9d836e9e0 scripts: fail on ':' in paths
Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
2012-11-20 16:59:17 -08:00
Yann Diorcet
9705ec34cf binutils: introduce the infrastructure to support binutils alternatives
Rework binutils in order to provide soon binutils alternative.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: split up original patch for self-contained changes]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d3d1d51f399e6d2c1163.1353320546@macbook-smorlat.local>
Patchwork-Id: 199971
2012-11-19 11:21:31 +01:00
Yann Diorcet
b43fdf40f1 scripts: add BUILD/HOST extra cflags/ldflags
On some hosts, and for certain toolchains (eg. toolchain targetting
the upcoming Darwin), it may be necessary to pass arbitrary CFLAGS
and/or LDFLAGS when building the components.

And necessary infrastructure:
  - EXTRA_{CFLAGS,LDFLAGS}_FOR_{BUILD,HOST} as config options
  - pass those extra flags to components

Fix-up a slight typo in elf2flt at the same time (misnamed cflags).

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <d24043276c9243a35421.1353077450@macbook-smorlat.local>
Patchwork-Id: 199645
2012-11-16 15:25:57 +01:00
Daniel Price
1af4a119d2 scripts: unquoted variable reference in glibc-eglibc.sh-common
Signed-off-by: Daniel Price <daniel.price@gmail.com>
Message-Id: <12f092a95a94bcf76912.1353367250@redfish.dssd.com>
Patchwork-Id: 200215
2012-11-19 15:20:13 -08:00
Yann Diorcet
ba31ed29c4 binutils/sstrip: remove
sstrip has been obsoleted for a while now, as it's still broken
for some archs, and there seems to be no incentive to fix it
upstream. Besides, the space gained with sstrip is marginal at
best.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <65c8bf534d0647ce52cd.1353320545@macbook-smorlat.local>
Patchwork-Id: 199970
2012-11-19 11:19:54 +01:00
Yann Diorcet (diorcet yann
0be070e5b7 complibs: introduce generic multi-complibs infrastructure
Use the same method as companion tools for providing generic and
extendable companion libs.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local>
Patchwork-Id: 199613
2012-11-16 14:59:27 +01:00
Yann Diorcet
3d01e9f275 libc/mingw: replace mingw32 with generic mingw
Replace the 32-bit-only mingw32 with mingw-w64 that is capable
of building toolchains for both 32-bit and 64-bit Windows.

kernel/mingw: replace mingw32 with generic Windows
kernel/windows: New windows kernel supporting 32 and 64 bit arch
libc/mingw: Remove old options
patches: Remove old mingw libc options' patches

Signed-off-by: "Yann Diorcet" <diorcet.yann@gmail.com>
[yann.morin.1998@free.fr: array var in libc/mingw.sh, typos]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <b045ac08fc9eac2e5ee3.1352898499@blackmint>
Patchwork-Id: 198901
2012-11-14 14:05:49 +01:00
Michael Hope
79a9f857e2 scripts: set default CFLAGS to optimise.
The extra CFLAGS override the product defaults, causing the product to
be built without optimisation or debug.  Be explicit and add these in.

Reported-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Michael Hope <michael.hope@linaro.org>
Message-Id: <CANLjY-=3Gbio6nzUPhhevDHV7cUN=6Vigooe9nSf-RnGCqnjog@mail.gmail.com>
Patchwork-Id: 198808
2012-11-13 15:06:18 +00:00
Johannes Stezenbach
a8318facc4 libc/eglibc: enable rpc in eglibc-2.16+
While eglibc-2.16 recommends to use TI-RPC instead of the old sunrpc, the
old one can be included using a configure option. Since the user can still
use TI-RPC to override the libc implementation, we enable rpc unconditionally.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121102140404.GA7707@sig21.net>
Patchwork-Id: 196564
2012-11-02 04:04:04 +00:00
Yann E. MORIN"
05a3ceff5a scripts/xldd: fix debug output layout
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-07 21:55:42 +01:00
Yann E. MORIN"
baba086806 libc/uClibc: remove use of snapshots and specific date
We now have the ability to use a custom location, so supporting
snapshots or custom date is no longer needed. Let the user do the
required preparation in this case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-31 23:31:32 +01:00
David Holsgrove
5ed8715c9d libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <712995e3e719fbbe24af.1349931201@localhost.localdomain>
PatchWork-Id: 190794
2012-10-11 14:39:44 +10:00
Johannes Stezenbach
5ddbc863e1 scripts/functions: fix endless loop in debug-shell with IO redirection
CT_DEBUG_INTERACTIVE is disabled when stdin, stdout or
stderr are redirected, but the check is only done at
the start of the build and doesn't catch when individual
build commands use redirection.  When stdin is redirected
it will cause the debug shell to exit immediately, causing
and endless loop.  Thus, save the stdin/our/err file handles
and restore them before invoking the debug shell.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121030102225.GA8303@sig21.net>
Patchwork-Id: 195409
2012-10-30 00:22:25 +00:00
Johannes Stezenbach
34a6501a2e scripts/functions: use patch -i instead of IO redirection
This makes the patch name show up on the command line
logged by CT_DoExecLog so it's easier to see
what is going on.  The -i for patch is specified
by Posix and supported by GNU patch and busybox patch.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[yann.morin.1998@free.fr: remove now-useless debug message]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <20121030103620.GB8303@sig21.net>
Patchwork-Id: 195418
2012-10-30 00:36:20 +00:00
Yann E. MORIN"
de0ef330c3 libc/newlib: remove getting from CVS
We now have the ability to use a custom local directory/tarball, so
it no longer makes sense to have the ability to use the CVS repository.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 22:40:48 +01:00
David Holsgrove
66a2b08680 libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d02252752d4dc5e68ae3.1349931202@localhost.localdomain>
PatchWork-Id: 190795
2012-10-11 14:39:45 +10:00
Yann E. MORIN"
8bcd5c689c cc/gcc: remove svn source
Since we now have the opportunity to use a custom local directory/tarball
as the source for gcc, it no longer makes sense to retrieve gcc ourselves
from its subversion repository.

Cc: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 00:30:47 +01:00
Yann E. MORIN"
79243c2f8d debug/gdb: remove ncurses cleanup
That's legacy code that was usefull when ncurses was installed
in the sysroot. Still it's not longer the case (it's installed
in a special dedicated directory), we can remove that piece of
code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 00:23:51 +01:00
David Holsgrove
35f55a7495 debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <9ea1b5021fc77582867f.1349931197@localhost.localdomain>
PatchWork-Id: 190791
2012-10-11 14:39:42 +10:00
David Holsgrove
33d3919c3e binutils/elf2flt: Add CUSTOM version, CUSTOM_LOCATION config options, GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Change elf2flt CT_ELF2FLT_VERSION from 'head' to 'cvs' if cvs selected in config

Also remove hardcoded 'cvs-' from elf2flt component name, used in CT_Extract,
CT_Patch and as the CT_SRC_DIR location for the configure stage.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <288db3721a37844defa5.1349931196@localhost.localdomain>
PatchWork-Id: 190789
2012-10-11 14:39:42 +10:00
David Holsgrove
2ace8ed697 binutils/binutils: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <7a604b5df9c84a1e20c3.1349931195@localhost.localdomain>
PatchWork-Id: 190788
2012-10-11 14:39:41 +10:00
David Holsgrove
6b8740dd6d cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom directory location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <f2272ac0f37cedd0bb91.1349931194@localhost.localdomain>
PatchWork-Id: 190787
2012-10-11 14:39:41 +10:00
Johannes Stezenbach
b8baed585d fix eglibc-2.16 manual build
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121022133228.GA16536@sig21.net>
Patchwork-Id: 193156
2012-10-22 03:32:28 +00:00
Yann E. MORIN"
f378c3c1ff scripts/functions: return a proper error code in CT_DoExecLog
Since we added the debug-shell feature, CT_DoExecLog no longer
returns the error code of the command, but always return 0.

This breaks the download mechanism, which relies on CT_DoExecLog
to fail _on_purpose_ to detect that the ressource was not found
at the specified URL.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-21 22:27:17 +02:00
Yann E. MORIN"
623a30ed45 scripts/functions: properly catch failure in CT_Test* helpers
So we get caught by the trap-handler and
have a chance to run the debug-shell.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Johannes Stezenbach <js@sig21.net>
2012-10-17 22:01:25 +02:00
Yann E. MORIN"
dd98145bc1 scripts: add option to start an interactive debug shell
Add an option that, when a command fails:
  - starts an interactive shell with the failed command's environment
  - attempts re-execution of the failed command, continues, or aborts
    at user's whim.

Before starting the debug-shell, the backtrace is printed.
When exiting for an abort, the standard error message is printed.

Based on an idea and a patch from: Johannes Stezenbach <js@sig21.net>
    http://sourceware.org/ml/crossgcc/2012-09/msg00144.html

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[yann.morin.1998@free.fr: integrate in the fault handler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Johannes Stezenbach <js@sig21.net>
Patchwork-Id: 191571
Patchwork-Id: 191668
2012-10-06 23:48:07 +02:00
Johannes Stezenbach
df3be9eef3 scripts: move backtrace marker to CT_WORK_DIR
Avoid error when commands in scripts/crosstool-NG.sh fail
before CT_BUILD_DIR is set.

So we need to remove the backtrace marker of a potential previous
build. Previously, it was implicitly removed because we did remove
the directory it was in, which is no longer the case.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[yann.morin.1998@free.fr: remove backtrace marker on start of build]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <20121015094615.GA18673@sig21.net>
Patchwork-Id: 191498
2012-10-14 23:46:15 +00:00
Yann E. MORIN"
899981e4c4 scripts: fix default work-dir name
It's been a long time the default work-dir changed its name
from 'target' to '.build'.

Change the left-over.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-17 21:52:59 +02:00
Yann E. MORIN"
8a1008cf4f kernel/linux: fix missing 'then'
Reported-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-17 21:21:44 +02:00
Yann E. MORIN"
e1806b1d22 kernel/linux: fix using custom location
Currently, extract and patch are skipped as thus:
  - using a custom directory of pre-installed headers
  - a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
  - a non-custom kernel is used
  - a previous build only partially extracted the non-custom sources
  - that p[revious build broke during extraction (eg. incomplete tarball...)
  - a subsequent build will find a properly named directory, and will
    thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type                  | Extract | Patch
----------------------+---------+-------
Pre-installed headers |    N    |   N
custom directory      |    N    |   N
custom tarball        |    Y    |   N
mainstream tarball    |    Y    |   Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
2012-10-16 20:57:44 +02:00
David Holsgrove
1e0b160dd8 scripts: update config.sub
Latest from upstream config-patches repo. (No change to config.guess)

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Message-Id: <f15b7c69c142e935391e.1350284600@localhost.localdomain>
Patchwork-Id: 191476
2012-10-15 16:59:11 +10:00
David Holsgrove
bdc4ed3df1 kernel/linux: use generic custom infrastructure
Config options remain the same as before, just generalised to be used by other
components also.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, fix comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <50674fe47431174aab80.1349931193@localhost.localdomain>
PatchWork-Id: 190786
2012-10-11 14:39:40 +10:00
David Holsgrove
f242016a09 scripts/functions: add a generic custom location infrastructure
Add a generic custom location infrastructure (inspired by the one in
kernel/linux) to allow the user to use custom tarballs or directories
for any component.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: move config option, improve help text, fix API doc]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <131c163c69f9cc81d2be.1349931191@localhost.localdomain>
PatchWork-Id: 190784
Message-Id: <0bbaba9190a76ba97f72.1349931192@localhost.localdomain>
PatchWork-Id: 190785
2012-10-04 13:26:14 +10:00
Yann E. MORIN"
dad17e6e88 cc/gcc: do not print multilib for canadian-cross
Previous import from patchwork missed one hunk (in cset #d8feb93b3e49)
Apply it now.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Patchwork-Id: 189053
2012-10-13 18:26:26 +02:00
David Holsgrove
071606c0a0 scripts/gcc: Canadian Cross skip -print-multi-lib log output
Attempting to ${CT_TARGET}-gcc -print-multi-lib will fail

In do_cc_core_backend, for the final compiler in a canadian cross
baremetal, warn that multi-libs cannot be determined

In do_cc_backend, for either final compiler for a canadian cross,
warn that multi-libs cannot be determined

(Plus fixed CT_PREFIX_DIR in do_cc_backend to be ${prefix})

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Message-Id: <CAM=EW8aQDoNx-CkJHjXBoDP4iTDJ8z5hh3=KhO5UTU6rp3Pj=w@mail.gmail.com>
Patchwork-Id: 189053
2012-10-04 15:59:31 +10:00
Zhenqiang Chen
5094e8bc0a debug/gdb: disable nls when CT_TOOLCHAIN_ENABLE_NLS is not selected
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Message-Id: <CACgzC7Bn+WpbgDruNeZ4s1z0x1deF6n4YyS22Dy7p_d1fFDVCA@mail.gmail.com>
PatchWork-Id: 191042
2012-09-29 14:34:15 +08:00
David Holsgrove
f6eeea1881 scripts/gdb: If not building expat for gdb, disable
--with-expat=yes is unconditionally passed to the gdb configure
stage, instead of respecting the ${do_expat} decision.

Disable if not needed. Prevents error building canadian cross;

configure: error: expat is missing or unusable

Where configure stage fails to find expat on the host compiler.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <4c4410a2a8aab24a29c5.1349244128@localhost.localdomain>
PatchWork-Id: 188711
2012-10-03 15:59:22 +10:00
Esben Haabendal
651b79e7ce kernel/linux: change m68k/no-mmu linux arch tuple to use -uclinux
GCC requires m68k arch tuples to be *-*-uclinux-* to support Linux on
no-mmu m68k (ColdFire) cpus.

Blackfin arch tuple must be *-*-linux-uclibc for FD_PIC_ELF toolchains,
so we cannot just switch to uclinux for no-mmu Linux toolchains.

Signed-off-by: "Esben Haabendal" <esben@haabendal.dk>
Message-Id: <876271s1ee.fsf@arh128.prevas.dk>
PatchWork-Id: 186976
2012-09-26 09:09:23 +02:00
Yann E. MORIN"
4cda47b3dc scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-09-25 23:23:53 +02:00
Yann E. MORIN"
4828ca9541 scripts: exporting (even empty) LIBRARY_PATH and/or LPATH breaks gcc
If either LIBRARY_PATH or LPATH is set, even to the empty string,
the gcc build breaks.

Fix that by bailing-out rather than re-setting.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-09-26 00:53:29 +02:00
Zhenqiang Chen
fd26fc9b1d scripts: Use ${CT_TARGET}-strip to strip gdbserver
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: quote variables]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <CACgzC7BU9CPZ2cE+EYqnMe2WNz-wYby6f4tsmjJi715WmPmbWw@mail.gmail.com>
PatchWork-Id: 185303
2012-09-20 11:20:16 +08:00
Erik Inge Bolsø
8ab3a18e21 scripts: unset LIBRARY_PATH and LPATH
These environment variables set search path for gcc at link time, which can break the build.

Signed-off-by: Erik Inge Bolsø <knan-ct@anduin.net>
Message-Id: <alpine.BSF.2.00.1205130131550.21551@anduin.net>
PatchWork-Id: 186872
2012-05-13 01:09:20 +02:00
Jang, Bongseo
f1be07d210 kernel/linux: symlink custom kernel source dir with '-f'
build fails to symlink to custom kernel dir when the build is not the first time
because of 'ln -s' without '-f' option.

Signed-off-by: "Jang, Bongseo" <graycells@gmail.com>
Message-ID: <543e2981f2b723ecd850.1348370892@localhost.localdomain>
PatchWork-ID: 186178
2012-09-23 11:59:28 +09:00
David Holsgrove
395dca5ea8 arch/microblaze: add new architecture
Add Microblaze architecture support.

This depends on EXPERIMENTAL, as upstream projects do not yet
include full support to build a modern microblaze compiler.
This is in the process of being updated, but is not currently
publicly accessible.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Message-Id: <9c93e18b3d68b19303f3.1348113870@localhost.localdomain>
PatchWork-ID: 185305
2012-09-20 14:01:38 +10:00
Yann E. MORIN"
15bde07c86 scripts: add option to only use the mirror
Currently, if downloads are forbidden, the mirror is still tried for.

Change this way:
  - if downlaods forbidden, do not try neither upstream locations nor mirror
  - add option to only use the mirror, and avoid upstream locations

Signed-off-by: Austin Morton <austinpmorton@gmail.com>
[yann.morin.1998@free.fr: broaden the if USE_MIRRORto enclode mirror location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-12 07:45:42 -04:00
Zhenqiang Chen
649c04594a scripts: strip gdbserver
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2012-09-12 17:42:38 +08:00
Yann E. MORIN"
8c43cdb436 cc/gcc: Add the ability to build gcc from svn
I took some of the svn functionality from eglibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: fix the conditional test in build script]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-22 12:26:10 -07:00
Yann E. MORIN"
3127749581 libc/{,e}glibc: remove rude wordings in commetns
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-22 23:11:03 +02:00
Yann E. MORIN"
bb74a0544d scripts/functions: remove rude wordings
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-22 18:28:07 +02:00
Yann E. MORIN"
a7eb2dea72 cc/gcc: cleanup comments from rude wordings
That comes from way back when nothing would work as expected, and I would
easily get heated as soon as anything would break. Sigh, those were the
old days.

Apologies.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-22 18:08:39 +02:00
Bryan Hundven
0997c18f1e debug/expat: Update expat to 2.1.0
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <c59009fdaf23d82822c6.1345364052@flambe.is-a-geek.org>
2012-08-19 01:11:45 -07:00
Bryan Hundven
6e65a05261 scripts: use generic urls for sourceforge
For expat, duma, and strace, use the generic url and 302 to the mirror
instead of trying to download a file from a downed mirror and
failing.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <b69ebeb72fef93c04c84.1345364051@flambe.is-a-geek.org>
2012-08-19 01:09:40 -07:00
Zhenqiang Chen
270b8ddf64 binutils/binutils: CT_BINUTILS_GOLD_THREADED should be CT_BINUTILS_GOLD_THREADS
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2012-08-07 14:03:03 +08:00
Yann E. MORIN"
989d474a64 scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-04 23:40:16 +02:00
Yann E. MORIN"
fa0ca9dfea cc/gcc: remove duplicate code in core pass-1
Whatever the threading model (NPTL, LT...), we build the same
core pass-1 compiler, so there is no need to have a case-esac
construct.

Remove now mis-leading and incorect comment.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-04 23:15:02 +02:00
Yann E. MORIN"
0b187b2b12 scripts/xldd: fix pattern matching with new binutils
New binutils (circa 2.2x?) append 'program interpreter' to the
(NEEDED) line for the dynamic linker, which breaks our current
pattern.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-02 21:38:41 +02:00
Yann E. MORIN"
c74fa76e4d cc/gcc: remove now useless condition-variable
Both core pass-1 and -2 compilers are unconditionally built,
so we no longer require a condition variable.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-01 19:07:37 +02:00
Yann E. MORIN"
9d64a6b29e cc/gcc: always build core pass-1
Up until now, all conditions requiring a core pass-1 was when the
threading implementation used was NPTL. So we only built the core
pass-1 when NPTL was used.

Now, things have changed (what? when? Dunno...), and some bare-metal
canadian toolchains fail to build if a core pass-1 is not present.

OTOH, a core pass-1, although not needed for non-NPTL builds, does
no harm at all if it is present.

So, unconditionally build a core pass-1 (but still pass conditional
options to the core backend).

Reported-by: Per Arnold Blaasmo <Per-Arnold.Blaasmo@atmel.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-01 19:02:06 +02:00
Yann E. MORIN"
e16e5f44f5 scripts/showSample: also print the threading implementation
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-01 22:02:26 +02:00
Yann E. MORIN"
52b7a1973e complibs/cloog: create missing m4 dir
Because we now patch configure.in and configure, the Makefile quicks
in a re-build rule as the source files are now more recent than the
bundled generated files, and that fails because the m4 directory
is missing, although on some systems where aclocal is not installed,
the re-build rule does nothing (except a warning).

Always create tht directory.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
[Also thanks to Thomas De Schampheleire <patrickdepinguin@gmail.com>
 for some digging works on this issue]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-31 22:27:29 +02:00
Yann E. MORIN"
542bb18409 scripts+samples: fix listings the samples
Since we use defconfigs to save the samples, listing all the
samples can no longer be done by passing all the sample names
at one to the script; we need to pass them one-by-one after
we expand the sample's defconfig ibnto a complete .config.

Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-23 22:02:23 +02:00
Yann E. MORIN"
f8ffee3dda debug/duma: fix download url
Sourceforge has again changed its mirroring system... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-06-10 23:51:40 +02:00
Yann E. MORIN"
9d8035bbaf debug/gdb: add option to enable/disable the IPA lib for gdbserver
gdbserver >= 7.2 comes with an optional library to use tracepoints, the
In Process Agent (IPA) library, libinproctrace.so.

Currently, we build gdbserver staticaly, but that breaks the build of
the IPA lib.

Add an option to biuld the IPA lib, but not if statically linking.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-17 17:56:27 +02:00
Yann E. MORIN"
4e8f04012c cc/gcc: do not build manuals in parallel
Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Reported-by: Johannes Stezenbach <js@sig21.net>
Tested-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-09 18:17:17 +02:00
Yann E. MORIN"
33a6cdd7ec samples: rework show-tuple
Now that we are using defconfig files, the samples do not contain
the full configuration, so we can not simply parse them to show
their content.

Instead, we must fake recalling a sample, and parse the generated
.config file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-07 21:37:59 +02:00
Yann E. MORIN"
99a6ddf3be samples: use savedefconfig when saving samples
When saving a sample, use savedefconfig instead of copying
the full .config file.

This reduces the saved .config, and reduces clutter when it
is later upgraded.

Also use defconfig when retrieving a sample.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-07 00:27:05 +02:00
Yann E. MORIN"
27e8b280f9 cc/gcc: add option to enable/disable libquadmath
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-06 15:32:56 +02:00
Yann E. MORIN"
0a33870578 scripts: fix mk-release
mk-release was not adding the SoB lines in the commit messages.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-08 22:30:05 +02:00
Yann E. MORIN"
4f5fca1947 scripts: fix catching build failures, the proper way, now
Serves me for pushing too fast... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-08 23:29:38 +02:00
Yann E. MORIN"
5f54193297 scripts/functions: tweak the endianness LDFLAGS
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-06 16:42:59 +02:00
Yann E. MORIN"
08f2b68bfb scripts: fix catching failures
POSIX 1003.1-2008 does not say whether "set -e" should catch a sub-shell
that exits with !0 (it has a list of conditions to catch, but no list of
conditions not to catch, and this situation is not listed).

bash-3 does not catch such a failure, but bash-4 does. That why, on my
Squeeze system I did not see the issue, while Thomas did on is Lenny chroot.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-08 18:31:10 +02:00
Yann E. MORIN"
8891442c9b scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-06 15:11:24 +02:00
Johannes Stezenbach
2aee11ccf2 libc/uClibc: add additional debug level between "minimal" and "all"
During application development it is desirable to enable malloc
debugging and LD_DEBUG support, but the extensive debug spew from
SUPPORT_LD_DEBUG_EARLY is only useful when working on
uClibc's ld.so.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
2012-02-24 16:08:32 +01:00
Anthony Foiani
e9cb0c788c Allow multi-word "install" command.
Autoconf can determine that the correct install command includes flags,
e.g., "/usr/bin/install -c".  When using this as a command, we can't
enclose the value in double-quotes, as that makes some shells use the
whole expression as a filename:

  # this is the value returned by autoconf and stored in CT_install
  $ ins="/usr/bin/install -c"

  # if we call it with quotes, the command is not found
  $ "${ins}"
  bash: /usr/bin/install -c: No such file or directory

  # removing the quotes lets it work as expected
  $ ${ins}
  /usr/bin/install: missing file operand
  Try `/usr/bin/install --help' for more information.

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2012-04-26 19:55:59 -06:00
Yann E. MORIN"
1db6c63e33 samples: . accepts previous comment as-is
When updating a sample configuration with a comment, a dot '.'
in the new comment keeps the previous comment.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-04-09 11:19:51 +02:00
Yann E. MORIN"
d776140189 cc/gcc: build core compilers for canadian
Currently, we rely on an existing external cross-compiler targetting
the target, to build the C library.

This can pause quite a few problems if that compiler is different from
the one we are building, because it could introduce some ABI issues.

This patch removes this dependency, by building the core compilers
as we do for standard cross, and also by building the binutils and
gcc, for running on the build machine.

This means we no longer need to offer the cross-sompiler selection in
the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-03 22:57:25 +01:00
Yann E. MORIN"
b485733f26 cc/gcc: add build frontend
Bizarrely enough, the core gcc are not enough to be able to build a
canadian cross, and a real, full cross compiler is required so that
the canadian cross can be properly built... WTF?!? Sigh...

Add a build-frontend, as was done for the binutils and the complibs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-04-02 22:54:30 +02:00
Yann E. MORIN"
6471f1598c cc/gcc: frontends are responsible for selecting the list of languages
Do for the final step the same as for the core step: compute the list
of selected langauages from the frontend, not in the backend.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-04-01 19:07:11 +02:00
Yann E. MORIN"
7b360e7a22 cc/gcc: pass the language list to the core backend
As the core backend can be used to also build the bare-metal compiler,
we have to tel it what languages to build.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-15 22:52:51 +02:00
Yann E. MORIN"
1a7cf0ea9e cc/gcc: add language helper function
Add a function that prepares the language configure option.
It is needed in at least two places, some commonalisation is needed. ;-)

Unfortunately, it is no longer possible to print warnings about experimental
languages any more. Anyway, the experimental status is clearly indicated
in the menuconfig. so it should not be a surprise if the build breaks. :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-15 21:42:28 +02:00
Yann E. MORIN"
2f718dd60c complibs: fixup the host complibs install dir
It's easier to have as much as possible stuff in the same place to
ease backup/restore, and make things easier to follow.

Move the host companion libraries install dir as a sub-dir of the
build-tools install dir (but not directly in it, it would break
for canadian or cross-native).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-25 19:04:17 +02:00
Yann E. MORIN"
4a8daa02e3 cc/gcc: cleanup the frontends
A few noop fix-ups:
 - fix the comments in core pass-1
 - commonalise settings that can be

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-25 19:04:00 +02:00
Yann E. MORIN"
ae3b564fb8 complibs: add frontends for building to run on the build machine
In canadian-cross, we need the companion libraries running on the
build machine, to be able to build the two core gcc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 23:53:14 +02:00
Yann E. MORIN"
518a1ff137 binutils: add frontends for building to run on the build machine
In canadian-cross, we need binutils running on the build machine to be
able to build the target C library.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 23:52:28 +02:00
Yann E. MORIN"
2e3cc45633 complibs: split companion libraries to backend/frontend, a-la cc_core
Move the actual complibs codes to backend functions that builds the
required combo of build/host/target as requested by a frontend.

This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build the complibs
twice, one for build/build, and one for build/host.

This applies to the six companion libraries:
 - GMP
 - MPFR
 - PPL
 - Cloog/PPL
 - MPC
 - libelf

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 18:56:30 +02:00
Yann E. MORIN"
533e5c128c binutils: split binutils to backend/frontend, a-la cc_core
Move the actual binutils code to a backend function that builds the
required combo of build/host/target as requested by a frontend.

This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build two binutils,
one for build/build/target, and one for build/host/target.

This applies to the three binutils:
 - GNU binutils
 - elf2flt
 - sstrip

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 18:29:35 +02:00
Yann E. MORIN"
08161250ed cc/gcc: always build core compilers to run on the build machine
The core compilers are used to build the C library, so they
should always run on the build machine, not on the host.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 18:28:19 +02:00
Yann E. MORIN"
e960f66953 cc/gcc: install the core compilers in the build-tools dir
There really is no good reason to install the core compilers in their
own places, one for each pass. We can install them with the other
build tools.

Also, this implies that:
 - there are fewer directories to save/restore
 - there are fewer symlinks to create for binutils
 - the PATH is shorter

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01 17:49:44 +01:00
Yann E. MORIN"
ad1aa7079e binutils/binutils: don't install symlinks when in canadian
When building a canadian-cross, the binutils are not executable on
the build machine, so there is no point in installing the symlinks
in the gcc static/shared install dirs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-02 21:38:12 +01:00
Yann E. MORIN"
c427fcce6b debug/strace: fix download URL
strace upstream location has slightly changed.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-03-12 21:19:26 +01:00
Yann E. MORIN"
ffee93e4d2 docs: update my e-mail
Since anciens.enib.fr has been dead for two months now, without any
hope of recovery, update my e-mail to point to @free.fr instead.

Reported-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-03-06 21:36:10 +01:00
Yann E. MORIN"
bf2726cb9f binutils/binutils: rename function that build target libraries
Prepare for the incoming build/host/target frontends.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-03-04 17:31:23 +01:00
Yann E. MORIN"
354914c49a complibs/libelf: rename libelf for target function
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-03 18:39:11 +01:00
Zhenqiang Chen
c6caf866f9 cc/gcc: Update core_prefix_dir to prefix.
core_prefix_dir is not defined. It should be prefix.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2012-02-27 15:24:18 +08:00
Yann E. MORIN"
fec8e7b566 cc-gcc: the frontends are responsible for mkdir/chdir
The build dir are created depending on the host (host for that specific
backend, not host for the toolchain). Only the frontends know what host
this is, so only the frontends can create non-ambiguous dirs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 19:35:24 +02:00
Yann E. MORIN"
21b1d79706 libc/glibc: use CT_mkdir_pushd helper
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01 17:35:10 +01:00
Yann E. MORIN"
c0475188cb functions: add new helpers that create a dir and cd/pushd into it
A lot of places are currently doing:
    mkdir -p foo/bar
    cd foo/bar

Or even:
    mkdir -p foo/bar
    pushd foo/bar
    [...]
    popd

Provide both wrapper to ease doing this.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 20:08:13 +02:00
Yann E. MORIN"
b990202ced cc/gcc: fix core backend's API doc
Make it more in line with the final backend's doc,
and make it simpler as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 19:24:02 +02:00
Yann E. MORIN"
58337ba708 cc/gcc: no need to build a static core pass-1 gcc for baremetal
The only user of the static core compiler in pass-1 was the newlib
C library. Now that it is build in a later step, we do no longer
need to build a static core compiler in pass-1.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 19:33:04 +02:00
Yann E. MORIN"
70659870b7 libc/newlib: build newlib in the proper step
Currently, newlib is built in the start_file step, which is wrong, but was
needed when the baremetal integration was... well, 'unfinished'.

Now that we build the baremetal compiler from the final cc step, and a
proper core gcc in pass-1 and pass-2, we can move the newlib build to the
step do_libc, where it belongs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 18:01:28 +02:00
Yann E. MORIN"
f6de807fc0 cc/gcc: comonalise the manuals build decision
Let the final frontend decide whether or not to build the manuals.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13 22:18:02 +01:00
Yann E. MORIN"
33cdb19ed5 cc/gcc: do not use the core pass-2 to build the baremetal compiler
In case we build a baremetal compiler, use the standard passes:
 - core_cc is used to build the C library;
 - as such, it is meant to run on build, not host;
 - the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 22:43:07 +02:00
Yann E. MORIN"
40dda92f57 cc/gcc: add the backend/frontend infra for final gcc
Currently, we issue the bare-metal compiler from the pass_1 & pass_2
core compilers, because the final gcc breaks while doing so.

This implies we have to build some libces during the start_files step,
instead of the standard libc step. This is the case for newlib.

By adding a backend/frontend infra to the final gcc, we can abstract
what backend to call: the standard backend for non-bare-metal gcc,
and the core backend for bare-metal.

This patch is just an no-op, it just adds the final backend and
frontend without changing the way bare-metal is built, to come in a
subsequent patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 22:46:47 +02:00
Yann E. MORIN"
35f50ca6c2 cc/gcc: add 'cflags' paramater to the core backend
As the core backend is used to generate the bare-metal compiler,
we need to pass it the host CFLAGS.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-23 21:11:26 +02:00
Yann E. MORIN"
6a29db1593 cc/gcc: add host parameter to core compiler build process
Tell the core compiler what host it should run on (instead of
hard-coding runing on CT_HOST).

No functional change so far, switching between CT_HOST and CT_BUILD
will come in a following patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 18:10:53 +02:00
Yann E. MORIN"
cf7fbfa839 cc/gcc: pass the install prefix to the core passes
Currently, the discrimination on the core compilers prefixes depends on
the type of core compiler to build.

This is not correct, and the caller of the core backend should specify
the prefix.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 17:56:22 +02:00
Yann E. MORIN"
f87a5d6d19 cc/gcc: pass the companion libs prefix to cc_core
In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 17:54:21 +02:00
Yann E. MORIN"
02a77ea464 cc/gcc: rename the core backend function
Rename the core backend function to do_cc_core_backend, to
make it explicit it is a backend.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 18:08:00 +01:00
Yann E. MORIN"
e837554caa cc/gcc: simplify calls to core backend
The core backend is going to have more parameters in the upcoming
patches, so it will be a bit complex to handle.

Introduce an array-variable that is filled by the different code-paths
with the required values.

This makes the code easier to read and maintain.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 15:48:27 +02:00
Yann E. MORIN"
e9de7fc0af cc/gcc: do not consume parameters when parsing them
The current construct consumes the parameters while we parse them.
Change this to a construct that does not consume the parameters.

This has no impact on gcc, but is done for homogeneity with other
components (eg. glibc).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13 21:51:48 +01:00
Yann E. MORIN"
e1899ce97c libc/glibc: do not consume parameters when parsing them
Currently, there are two constructs used to parse arguments in
glibc backends, one that consumes args as they are parsed, and
one that does not.

Always use the construct that does not eat args as they are parsed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-13 21:47:25 +01:00
Yann E. MORIN"
b02975d5e8 scripts: fix download from sourceforge
It seems sourceforge changed yet again the way to download files.
This time, no longer use their 'mesh' thingy, and hard-code the
server to use in the URL... Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-05 23:26:55 +01:00
Yann E. MORIN"
0cbe8e889f scripts: fix typo in mk-release, remove temporary autom4 files
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-30 21:31:20 +01:00
Yann E. MORIN"
7553cf86a9 scripts: update mk-release to cope with the new autoconf framework
Now that ./configure is generated by autoconf, it must be generated
before the release tarball is made. So, we can not simply use hg's
archive, we must post-process it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-29 22:19:27 +01:00
Yann E. MORIN"
7bcabe3ae1 scripts/mk-release: use HGPLAIN and don't print progress
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-29 22:44:09 +01:00
Yann E. MORIN"
145d048e58 debug/gdb: --disable-sim for CT_GDB_CROSS.
sim was already disabled for CT_GDB_NATIVE.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@anciens.enib.fr: make it a config option]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-18 16:22:52 +08:00
Benoît Thébaudeau"
f173e77e32 complibs/cloog: fix linking with libm
In Ubuntu 11.04 and 11.10, the default options for ld have changed.
--no-copy-dt-needed-entries and --as-needed are now enabled by default, which
causes errors like:

[EXTRA]    Checking CLooG/ppl
[DEBUG]    ==> Executing: 'make' '-j3' '-s' 'check'
[ALL  ]    Making check in .
[ALL  ]    config.status: creating include/cloog/cloog-config.h
[ALL  ]    config.status: include/cloog/cloog-config.h is unchanged
[ALL  ]    libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer
 -pipe -o cloog cloog.o  -L/<snip>/build/static/lib ./.libs/libcloog.a -lm
 /<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a
 /<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a
 /<snip>/build/static/lib/libgmp.a -lstdc++
[ALL  ]    /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o):
 undefined reference to symbol 'sqrt@@GLIBC_2.0'
[ALL  ]    /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO
 /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding
 it to the linker command line
[ALL  ]    /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so:
 could not read symbols: Invalid operation
[ALL  ]    collect2: ld returned 1 exit status
[ERROR]    make[2]: *** [cloog] Error 1
[ERROR]    make[1]: *** [check-recursive] Error 1

See:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

This patch fixes these errors by placing '-lm' at the right place on the command
line as libppl requires libm when linking cloog.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2012-01-27 13:31:16 +01:00
Yann E. MORIN"
301cadf45d configure: fix kconfig option names
In the process of converting to autoconf, the kconfig option
were not properly translated.

Fix that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-16 23:45:16 +01:00
Yann E. MORIN"
b86899a341 scripts: fix tools override
The tools found by the new autostuff configure can contain arguments,
for example: grep -E

This needs separating the paths set for the Makfile from the paths
set for the scripts.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-16 23:36:42 +01:00
Yann E. MORIN"
c8e39d6d29 configure: use autoconf to generate configure
Create configure.ac, an autoconf script to generate ./configure
This will be needed by a subsequent patch to properly handle
--build and --host, and more tests, when the kconfig stuff will
be installed pre-built.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-07 22:28:40 +01:00
Yann E. MORIN"
95fd76b784 scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-03 23:02:04 +01:00
Yann E. MORIN"
fd09c5ab15 cc/gcc: copy file with 'cp -v', it rotates the progress bar
Installing the gcc test-suite can take a bit of time, so the
progress bar is currently not rotating because there is no
output during the copy. For an unsuspecting user, it could
mean the process hung.

With 'cp -v', the progress bar now rotates.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01 22:54:37 +01:00
Yann E. MORIN"
af32c9331b libc/glibc: cleanup CFLAGS handling
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-28 17:05:46 +01:00
Yann E. MORIN"
6c47c0077a libc/glibc: remove multi-dir
Remove the sysroot/${multi_dir} directory after the libc install.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27 16:11:34 +01:00
Yann E. MORIN"
3a31d01b49 libc/glibc: allow to selectively install headers and/or start-files
When doing multilib, we only need the headers from the default variant,
but we need the startfiles for each variants.

Allow the frontend to specify either one, or both.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27 14:45:03 +01:00
Yann E. MORIN"
9d53aa6475 libc/glibc: add multilib-cacpable backend
For mutlilib, the C library must be built once for each variants.
Special care must be taken to put the resulting libraries in
the proper places.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23 00:11:36 +01:00
Yann E. MORIN"
a5006075b7 libc/glibc: fix code formatting
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22 00:51:37 +01:00
Yann E. MORIN"
cfb908d2ee libc/glib: pass installation subdir to backend
When building a multilib variant, install in a separate directory, to
avoid clutering the default or any other variant.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22 00:16:37 +01:00
Yann E. MORIN"
170091aa2a libc/glibc: set the endian option according to extra CFLAGS
When building a multilib, some extra CFLAGS can override the
default config option. This is the case for the endianness
selection.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22 00:11:51 +01:00
Yann E. MORIN"
a2e7a536e0 libc/glibc: set the float option according to extra CFLAGS
When building a multilib, some extra CFLAGS can override the
default config option. This is the case for the floating point
selection.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21 23:56:53 +01:00
Yann E. MORIN"
2d5dc881e3 libc/glibc: add extra CFLAGS when building the C library
When building multilib, we need extra CFLAGS that tell the compiler
to use non-default settings (eg. big/little endian, hard/soft float,
-march/cpu/tune flags, and so on...).

We have to pass these flags to the build.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21 23:33:08 +01:00
Yann E. MORIN"
d6f8cd9b0a libc/glibc: no default mode for backend
The caller SHALL explicitly ask for a nmode, and not rely on a default mode.
That's what actually happens, so we can get rid of the default.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13 11:51:07 +01:00
Yann E. MORIN"
81dc791f83 cc/gcc: print supported multilibs
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-30 21:43:10 +01:00
Yann E. MORIN"
61ce016e46 cc/gcc: build multilib
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23 23:51:07 +01:00
Yann E. MORIN"
c23fe1a32a binutils/binutils: build multilib
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23 23:27:12 +01:00
Yann E. MORIN"
92744ca68f cc/gcc: add option to use system zlib
In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-31 16:23:27 +01:00
Yann E. MORIN"
f81e437b6a scripts: update config.guess and config.sub
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-30 14:15:43 +01:00
Benoît Thébaudeau"
bcc636057f libc/eglibc: fix localedef 2.14 build
The localedef of eglibc 2.14 requires NOT_IN_libc to be defined in order to
compile intl/l10nflist.c.

This is because localedef is built separately from eglibc and uses some parts of
eglibc that don't compile in standalone without this preprocessor definition.

This fixes the following error:

[ALL  ]    gcc  -g -O2 -DNO_SYSCONF -DNO_UNCOMPRESS
 -DLOCALE_PATH='"/usr/lib/locale:/usr/share/i18n"'
 -DLOCALEDIR='"/usr/lib/locale"' -DLOCALE_ALIAS_PATH='"/usr/share/locale"'
 -DCHARMAP_PATH='"/usr/share/i18n/charmaps"'
 -DREPERTOIREMAP_PATH='"/usr/share/i18n/repertoiremaps"'
 -DLOCSRCDIR='"/usr/share/i18n/locales"' -Iglibc/locale/programs -Iglibc/locale
 -I/<snip>/.build/src/eglibc-localedef-2_14/include
 -I/<snip>/.build/src/eglibc-localedef-2_14 -I.
 -include /<snip>/.build/src/eglibc-localedef-2_14/include/always.h -Wall
 -Wno-format -c -o locarchive.o glibc/locale/programs/locarchive.c
[ALL  ]    glibc/locale/programs/locarchive.c: In function 'enlarge_archive':
[ALL  ]    glibc/locale/programs/locarchive.c:303:21: warning: variable
 'oldlocrectab' set but not used [-Wunused-but-set-variable]
[ALL  ]    In file included from glibc/locale/programs/locarchive.c:651:0:
[ALL  ]    glibc/locale/programs/../../intl/l10nflist.c: In function
 '_nl_normalize_codeset':
[ERROR]    glibc/locale/programs/../../intl/l10nflist.c:342:9: error:
 '_nl_C_locobj_ptr' undeclared (first use in this function)
[ALL  ]    glibc/locale/programs/../../intl/l10nflist.c:342:9: note: each
 undeclared identifier is reported only once for each function it appears in
[ALL  ]    glibc/locale/programs/locarchive.c: In function
 'add_locales_to_archive':
[ALL  ]    glibc/locale/programs/locarchive.c:1450:7: warning: passing argument
 1 of '__xpg_basename' discards 'const' qualifier from pointer target type
 [enabled by default]
[ALL  ]    /usr/include/libgen.h:35:14: note: expected 'char *' but argument is
 of type 'const char *'
[ERROR]    make[1]: *** [locarchive.o] Error 1

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-14 16:55:22 +01:00
Yann E. MORIN"
d68d3cc408 libc/newlib: build manual for newlib
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@anciens.enib.fr: copy with a single call to 'cp']
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-15 15:20:33 +08:00
Yann E. MORIN"
964f379a42 scripts: fix dumping execution backtrace
Dumping the backtrace has been broken since changeset #652e56d6d35a:
    scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
  it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13 23:32:39 +01:00
Yann E. MORIN"
06daaa7cc4 libc/glibc: document the glibc backend arguments
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21 23:35:21 +01:00
Yann E. MORIN"
7637254dfe libc/glibc: create build dir using libc_mode
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21 23:26:18 +01:00
Benoît Thébaudeau"
9c6ce95674 binutils/binutils: fix extra config array variable name
The changeset 2467 #200836977ce6 missed renaming one occurrence of
CT_BINUTILS_EXTRA_CONFIG to CT_BINUTILS_EXTRA_CONFIG_ARRAY, which is fixed by
this patch.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-12 20:24:05 +01:00
Yann E. MORIN"
7a8183efcd scripts: unset CONFIG_SITE
Some distributions (eg. openSUSE 12.1) systematically export
the CONFIG_SITE environment variable to point to a custom
script setting misc paths for ./configure.

This can, and does, break when cross-compiling for architectures
that are not supported by this script.

The simple workaround is to unset this variable.
NB: buildroot has a similar fix:
http://git.buildroot.org/buildroot/commit/?id=12c9f7dd6dee9c6029b4f9a12d6aac1516911ab4

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-12 21:41:16 +02:00
Benoît Thébaudeau"
c6c56296dc kernel/linux: fix missing quote
Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-12 21:47:08 +01:00
Yann E. MORIN"
9b92f56f2f kernel/linux: add alternate download locations
Some longterm versions are not in the usual directory.
Account for these new locations.

Get rid of the mirror location, now that the main kernel site is
(almost) back to normal operations.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-12 00:01:54 +01:00
Titus von Boxberg"
697c55b797 binutils/binutils: add binutils 2.22
Enable (EXPERIMENTAL) selection of binutils 2.22

Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
2011-11-28 21:27:08 +01:00
Zhenqiang Chen
919775e88b scripts: create CT_HEADERS_DIR
"${CT_SYSROOT_DIR}/usr/include" is only for "${CT_USE_SYSROOT}" = "y".
We should also mkdir when "${CT_USE_SYSROOT}" != "y".
"${CT_HEADERS_DIR}" can support both cases.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-12-07 16:15:50 +08:00
Titus von Boxberg"
9a3b04c3e1 scripts: use CT_CONFIG_SHELL instead of CT_SHELL
CT_SHELL is undefined.
Thus, the generated wrapper scripts are not executable by the kernel
because they do not contain a valid interpreter.
Use CT_CONFIG_SHELL instead.

Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
2011-11-30 12:07:59 +01:00
Zhenqiang Chen
381366c8b6 libc/newlib: remove hard-coded "-O"
With hard-coded "-O", users can not customize CFLAGS_FOR_TARGET
by CT_TARGET_CFLAGS. If "-O" is needed, users can input it in
CT_TARGET_CFLAGS. By default, "-Os" is enabled.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-28 16:05:23 +08:00
Titus von Boxberg
f084787743 scripts/functions: extract: portable call for old and defective tars
Instead of using -J, --lzma, --use-compress-program or the like
use <compressor> -dc <file> | tar -f -

Signed-off-by: Titus von Boxberg <titus@v9g.de>
2011-11-22 10:08:10 +01:00
Yann E. MORIN"
3980ce9905 debug/gdb: add extra config for gdb cross.
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@anciens.enib.fr: prompt rewording, as suggested by M. Hope]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23 13:15:27 +08:00
Zhenqiang Chen
91eb66a629 libc/newlib: add option to optimise for size
Add an option to build with -Os instead of the default -O.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-22 14:18:14 +08:00
Zhenqiang Chen
f8d8029026 cc/gcc: Apply CT_CC_GCC_DISABLE_PCH to do_cc_core.
Otherwise, users have to input --disable-libstdcxx-pch option
when building bare-metal CANADIAN C++ compiler.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-18 11:32:50 +08:00
Zhenqiang Chen
e714fd6a14 libc/newlib: Add extra config for newlib.
So users can input config like --enable-newlib-register-fini.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-18 11:47:30 +08:00
Zhenqiang Chen
e16b3b9e52 cc/gcc: handle NLS option
Add --disable-nls config when option "Enable nls" is not selected.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-17 18:00:28 +08:00
Zhenqiang Chen
46d2621f77 binutils/binutils: handle NLS option
Add --disable-nls config when option "Enable nls" is not selected.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-11-17 17:59:44 +08:00
Yann E. MORIN"
1185c9bf05 libc/uClibc: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:08:27 +01:00
Yann E. MORIN"
756d7e704e libc/eglibc: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:06:36 +01:00
Yann E. MORIN"
0056e55e74 arch/sh: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:05:36 +01:00
Yann E. MORIN"
dc5048b6d2 arch/mips: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:04:31 +01:00
Yann E. MORIN"
72f1c0b405 scripts/functions: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:01:34 +01:00
Yann E. MORIN"
74d555b2c3 scripts: add support for building manuals
Add support for building the HTML and PDF manuals for the major
components.  Implement for binutils, GCC, GDB, and GLIBC.

Always build all manuals and install a subset.  Be explicit about the
subset to reduce the clutter and to avoid getting copies of common
manuals like bfd from all of the sourceware based components.  Downside of
being explicit is that you need to update it when a new component
comes along.

Build the manuals as part of the last GCC build, namely 'cc' for glibc
based ones and cc_core_pass_2 for baremetal.

An example of the output is at:
 http://people.linaro.org/~michaelh/incoming/crosstool-NG/

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: depends on ! remove docs; gold manual install]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-16 10:06:21 +13:00
Yann E. MORIN"
7e07a5043b scripts: use wget, not curl
It seems wget is more popular than curl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-07 21:40:28 +01:00
Yann E. MORIN"
00a1fd67e9 scripts: use the floating-point string option in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-14 18:53:14 +01:00
Yann E. MORIN"
bc94e564de libc/uClibc: use the floating-point string option in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-14 18:54:37 +01:00
Yann E. MORIN"
da09907c00 arch/sh: use the floating-point string option in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-14 18:51:20 +01:00