Commit Graph

304 Commits

Author SHA1 Message Date
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
Yann E. MORIN"
7a0e770be1 Remove the now really obsolete Linux kernel headers copy and sanitised.
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.

 /trunk/scripts/build/kernel/linux.sh |  146    11   135     0 +++---------------------------------------
 /trunk/scripts/crosstool.sh          |    2     1     1     0
 /trunk/steps.mk                      |    1     0     1     0 -
 /trunk/config/kernel/linux.in        |   49     0    49     0 --------------
 /trunk/config/kernel.in              |    4     4     0     0 +
 5 files changed, 16 insertions(+), 186 deletions(-)
2008-09-10 21:40:23 +00:00
Yann E. MORIN"
fa8b6c8ffd Dump the EXPERIMENTAL status and brokenness of samples in the WiKi table.
/trunk/scripts/showSamples.sh |    9     7     2     0 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
2008-09-04 15:42:25 +00:00
Yann E. MORIN"
05fc40d0ec Beautify samples listing.
/trunk/scripts/showSamples.sh |    8     4     4     0 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2008-09-02 21:14:47 +00:00
Yann E. MORIN"
2a4ab33370 Warn the user if he/she recalls a sample with EXPERIMENTAL features.
Also, print the EXPERIMENTAL status when listing the samples.

 /trunk/scripts/showSamples.sh |   12     9     3     0 +++++++++---
 /trunk/samples/samples.mk     |   12    12     0     0 ++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)
2008-09-02 12:43:11 +00:00
Yann E. MORIN"
3d4bc00719 Add support for building Insight instead of gdb (only for the cross-gdb).
/trunk/scripts/build/debug/300-gdb.sh |   62    55     7     0 ++++++++++++++++++++++++++++++++++++-----
 /trunk/config/debug/gdb.in            |   13    13     0     0 +++++++++
 2 files changed, 68 insertions(+), 7 deletions(-)
2008-09-02 10:47:44 +00:00
Yann E. MORIN"
520eda92a2 Be gentle to older findutils that don't have the "{} +" construct, and simply use "{} \;" instead.
/trunk/scripts/build/debug/300-gdb.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-01 09:15:31 +00:00
Yann E. MORIN"
0a99eb0c77 Enable glibc to include support for kernel versions different than the version from the kernel headers.
Thanks to Nate CASE <ncase@xes-inc.com> for suggesting this use-case, and providing the patch.

 /trunk/scripts/build/libc_glibc.sh        |    4     2     2     0 +-
 /trunk/scripts/build/libc_eglibc.sh       |    2     1     1     0 +-
 /trunk/config/libc/glibc-eglibc-common.in |   44    44     0     0 +++++++++++++++++++++++++++++++++++++
 3 files changed, 47 insertions(+), 3 deletions(-)
2008-08-26 21:37:46 +00:00
Yann E. MORIN"
477baecf46 Missed one variable when converting to common options for eglibc and glibc (thanks Nate Case).
/trunk/scripts/build/libc_eglibc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-26 21:30:22 +00:00
Yann E. MORIN"
b3f5a87080 Commonalise options common to both glibc and eglibc.
/trunk/scripts/build/libc_eglibc.sh       |    6     3     3     0 +-
 /trunk/config/libc/glibc.in               |   63     2    61     0 +---------------------------------
 /trunk/config/libc/eglibc.in              |   61     1    60     0 +--------------------------------
 /trunk/config/libc/eglibc-glibc-common.in |    1     1     0     0 +
 /trunk/config/libc/glibc-eglibc-common.in |   69    69     0     0 +++++++++++++++++++++++++++++++++++++
 5 files changed, 76 insertions(+), 124 deletions(-)
2008-08-26 16:47:47 +00:00
Yann E. MORIN"
9dd85f517a Also dump the GMP and MPFR versions when dumping a sample in verbose mode.
/trunk/scripts/showSamples.sh |    3     3     0     0 +++
 1 file changed, 3 insertions(+)
2008-08-25 21:42:34 +00:00
Yann E. MORIN"
4a7d144844 Allow using ash as the shell for ./configure and make.
After an idea by "Martin Guy" <martinwguy@yahoo.it>:
http://sourceware.org/ml/crossgcc/2008-08/msg00037.html

 /trunk/scripts/crosstool.sh          |    4     4     0     0 ++++
 /trunk/config/global/build-behave.in |   14    14     0     0 ++++++++++++++
 2 files changed, 18 insertions(+)
2008-08-25 19:44:39 +00:00
Yann E. MORIN"
535c532baf Fix building older gdb's with newer gcc's.
/trunk/scripts/build/debug/300-gdb.sh |    2     2     0     0 ++
 1 file changed, 2 insertions(+)
2008-08-20 12:08:03 +00:00
Yann E. MORIN"
99691ee4d6 Log retrieved file emssages to DEBUG level, not EXTRA.
/trunk/scripts/build/libc_eglibc.sh |    2     1     1     0 +-
 /trunk/scripts/functions            |    6     3     3     0 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-08-17 14:13:00 +00:00
Yann E. MORIN"
5742930b13 MPFR: log autotools files rebuilding to DEBUG level, not EXTRA.
/trunk/scripts/build/mpfr.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-17 14:10:44 +00:00
Yann E. MORIN"
70e05067fa Fix saving and using local copy of eglibc tarballs.
/trunk/scripts/build/libc_eglibc.sh |   10     5     5     0 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
2008-08-12 09:14:55 +00:00
Yann E. MORIN"
f1b9a7e7bb Merge the static and shared core gcc builds.
/trunk/scripts/build/cc_gcc.sh |  195    64   131     0 ++++++++++++++++--------------------------------
 1 file changed, 64 insertions(+), 131 deletions(-)
2008-08-12 07:47:51 +00:00
Yann E. MORIN"
5c18ddd8b9 Be a little less verbose when retrieving files if they are already present.
Be a little less verbose when extracting (and patching) files.

 /trunk/scripts/functions |    7     2     5     0 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
2008-08-12 07:47:19 +00:00
Yann E. MORIN"
59ef10f5d6 Merge the branches/eglibc stuff:
- Add support for eglibc

 /trunk/scripts/functions  |    6     4     2     0 ++++--
 /trunk/docs/CREDITS       |    1     1     0     0 +
 /trunk/config/libc.in     |   12    12     0     0 ++++++++++++
 /trunk/arch/arm/functions |    4     2     2     0 ++--
 4 files changed, 19 insertions(+), 4 deletions(-)
2008-08-11 12:22:47 +00:00
Yann E. MORIN"
57755ca74b Move two log messages around, so that output looks better.
/trunk/scripts/functions |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-08-11 09:42:13 +00:00
Yann E. MORIN"
5c77177873 Do not unset http_proxy, ftp_proxy and https_proxy in case of using a socks proxy.
Add a log message.

 /trunk/scripts/functions |    6     2     4     0 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
2008-08-09 20:48:39 +00:00
Yann E. MORIN"
dfad0fbd2f Merge #920 from branches/eglibc:
Fix saving tarballs locally in case downloads are forced.

 /trunk/scripts/functions |   14     6     8     0 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
2008-08-09 17:48:13 +00:00
Yann E. MORIN"
5bc276a6f0 Merge #916 from branches/eglibc:
Use a little bit more of CT_DoExecLog.

 /trunk/scripts/functions |   35    18    17     0 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)
2008-08-09 17:46:56 +00:00
Yann E. MORIN"
ba23f53157 Merge #914 from branches/eglibc:
Fix setting the proxy.

 /trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-08-09 17:45:55 +00:00
Yann E. MORIN"
929970279c Merge #911 from banches/eglibc:
Fix testing for tool's presence.

 /trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-09 17:40:44 +00:00
Yann E. MORIN"
ef0f400c26 Introduce four new ARCH specific variables that CT_DoArchValues can set if they want:
- CT_ARCH_CC_CORE_EXTRA_CONFIG
  - CT_ARCH_CC_EXTRA_CONFIG
  - CT_ARCH_TARGET_CLFAGS
  - CT_ARCH_TARGET_LDFLAGS
This will hopefully enable architectures to specify specific flags.
PowerPC will need them to introduce SPE (coming RSN).

 /trunk/scripts/crosstool.sh |    2     2     0     0 ++
 /trunk/scripts/functions    |    4     2     2     0 ++--
 /trunk/docs/overview.txt    |   45    22    23     0 ++++++++++++++++++++++-----------------------
 /trunk/config/target.in     |   10    10     0     0 ++++++++++
 4 files changed, 36 insertions(+), 25 deletions(-)
2008-08-07 15:18:18 +00:00
Yann E. MORIN"
c1a2e1bb87 Add a new config knob for gcc: usage of SJLJ to handle exceptions.
This is needed for some architectures to compile the Java frontend (eg. ARM with uClibc).

 /trunk/config/cc/gcc.in        |   41    39     2     0 +++++++++++++++++++++++++++++++++++++++--
 /trunk/scripts/build/cc_gcc.sh |    8     5     3     0 +++++---
 2 files changed, 44 insertions(+), 5 deletions(-)
2008-08-07 13:55:30 +00:00
Yann E. MORIN"
f53dd7e985 Fix building core C compiler.
PowerPC unveiled that you can't reliably build a target libgcc until you have C library headers.
In fact you can't build it at all. The fact that it did build for some architectures was purely coincidental, and a mistake.
This fix should still allow to build uClibc-based toolchains (some ARM uClibc toolchains were build-tested).

 /trunk/scripts/build/cc_gcc.sh |  100    47    53     0 +++++++++++++++++++++++-------------------------
 1 file changed, 47 insertions(+), 53 deletions(-)
2008-08-07 13:28:02 +00:00
Yann E. MORIN"
e348d316b7 Beautify final output.
/trunk/scripts/crosstool.sh |    7     4     3     0 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
2008-08-07 07:52:09 +00:00
Yann E. MORIN"
d67a32191b Make gcc-4.3.x able to compile uClibc (snapshot only).
Update the gcc patchset accordingly.

 /trunk/scripts/build/cc_gcc.sh |   55    53     2     0 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)
2008-08-04 12:38:06 +00:00
Yann E. MORIN"
379ea09dba Michael ABBOTT reported that populate is not relocatable.
Fix this by determining both the cross-readelf and the sys-root at runtime, not at build time.

 /trunk/configure            |    1     1     0     0 +
 /trunk/scripts/crosstool.sh |   14     6     8     0 ++++++--------
 /trunk/tools/populate.in    |    6     4     2     0 ++++--
 3 files changed, 11 insertions(+), 10 deletions(-)
2008-08-04 08:44:54 +00:00
Yann E. MORIN"
4eeadf87e2 Rework a little bit of the LAN mirror and proxy settings.
/trunk/scripts/crosstool.sh      |  105     4   101     0 +------------------------
 /trunk/scripts/functions         |  151   129    22     0 +++++++++++++++++++++++++++++++-----
 /trunk/config/global/download.in |  193    99    94     0 ++++++++++++++++++++++++----------------------
 3 files changed, 232 insertions(+), 217 deletions(-)
2008-08-01 09:23:58 +00:00
Yann E. MORIN"
fe5feb1154 Have the glibc build use the cross-objdump, rather than the host one.
On some distros (eg. Fedora), the native objdump can not interpret objects not for the native system, and thus fail.
This commit adds a new patch against glibc-2.7 that introduces OBJDUMP_FOR_HOST, wich, if set, overides the detected objdump.

Note: bizarely enough, glibc already has code to detect the cross-objdump, but that does not work for an unknown reason... :-(

 /trunk/patches/glibc/2.7/220-objdump_for_host.patch |   13    13     0     0 +++++++++
 /trunk/scripts/build/libc_glibc.sh                  |   37    21    16     0 +++++++++++++++------------
 2 files changed, 34 insertions(+), 16 deletions(-)
2008-07-31 09:08:33 +00:00
Yann E. MORIN"
f7b84b7716 Pretyy-up the WiKi table with the date of last update for each sample.
/trunk/scripts/showSamples.sh |   15    12     3     0 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
2008-07-29 16:48:20 +00:00
Yann E. MORIN"
5a28e26b8d Fix building x86_64 on x86_64 (and hopefully all other *64 archs on the same *64):
- symlink all lib64/ dirs to the corresponding lib/ dir
Also, prevent gcc from installing some of its target libs outside of the sys-root, in the first place.
Thanks to Laurent DUFRECHOU for reporting the bug and testing the fix.

 /trunk/scripts/build/cc_gcc.sh |   26     0    26     0 --------------------------
 /trunk/scripts/crosstool.sh    |   14    14     0     0 ++++++++++++++
 2 files changed, 14 insertions(+), 26 deletions(-)
2008-07-27 16:35:37 +00:00
Yann E. MORIN"
8e512f9a95 Re-enable the restart functionality by removing some variables from the saved environment.
/trunk/scripts/functions |   16    10     6     0 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
2008-07-27 14:25:19 +00:00
Yann E. MORIN"
66e2db8dad "Reported by" is now "First reported by".
/trunk/scripts/showSamples.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-07-27 12:03:34 +00:00
Yann E. MORIN"
c8d64d9c70 When saving a sample, overide log file config:
- do log to a file
 - do compress the log file

 /trunk/scripts/saveSample.sh |    6     4     2     0 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
2008-07-27 10:54:14 +00:00
Yann E. MORIN"
c3817897cb Do log the glibc build commands.
/trunk/scripts/build/libc_glibc.sh |   80    44    36     0 ++++++++++++++++++++++++--------------------
 1 file changed, 44 insertions(+), 36 deletions(-)
2008-07-26 12:26:42 +00:00
Yann E. MORIN"
da88cd1dde Build a little bit more of gcc in //.
/trunk/scripts/build/cc_gcc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-07-26 12:10:54 +00:00
Yann E. MORIN"
a586208ab4 In case of error, the error message would be printing in subshells, thus printing as many error message as there were subshells.
Limit printing this message only in the top-level shell.

 /trunk/scripts/functions |    2     2     0     0 ++
 1 file changed, 2 insertions(+)
2008-07-26 09:22:42 +00:00
Yann E. MORIN"
e64bc999d5 Hmmm. The debug pause at each step never ever worked... Sigh...
/trunk/scripts/crosstool.sh       |    2     1     1     0 +-
 /trunk/config/global/ct-behave.in |    2     1     1     0 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2008-07-25 22:57:35 +00:00
Yann E. MORIN"
88be762420 Also print the number of samples in the DokuWiki table.
/trunk/scripts/showSamples.sh |    6     6     0     0 ++++++
 1 file changed, 6 insertions(+)
2008-07-25 16:14:42 +00:00
Yann E. MORIN"
ebf85dfa9a Woops! It's the kernel v ersion that is /custom/, not the kernel it self!
/trunk/scripts/showSamples.sh |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-07-25 15:54:52 +00:00
Yann E. MORIN"
96089bc58c When dumping the DokuWiki table of samples, don't leave the kernel headers version empty if using a custom headers set., and say so.
/trunk/scripts/showSamples.sh |    6     5     1     0 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
2008-07-25 14:08:03 +00:00
Yann E. MORIN"
702532d61d While retrieving files, propagate the preferred extension down to sub-functions.
/trunk/scripts/functions |    8     5     3     0 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
2008-07-25 10:02:43 +00:00
Yann E. MORIN"
5575787f66 Make gcc-4.3.x build.
Thanks to both Ioannis E. VENETIS and Thomas JOURDAN for their help.

 /trunk/scripts/build/cc_gcc.sh |   26    22     4     0 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)
2008-07-24 16:56:28 +00:00
Yann E. MORIN"
e6ba0e5854 Don't check fo lynx, it's no longer used.
/trunk/scripts/build/tools/200-sstrip.sh |    1     0     1     0 -
 1 file changed, 1 deletion(-)
2008-07-24 06:47:08 +00:00
Yann E. MORIN"
17693c9c98 Simplify downloading sstrip, using the common retrieval framework.
/trunk/scripts/build/tools/200-sstrip.sh |   31     3    28     0 +++----------------------------
 1 file changed, 3 insertions(+), 28 deletions(-)
2008-07-24 06:46:40 +00:00
Yann E. MORIN"
adc71fffcc When retrieving a file, allow preferred extension to be whatever starts with a dot, and not only one of .tar.bz2 .tar.gz .tgz or .tar.
/trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-07-24 06:42:29 +00:00