This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
'booleandomain',
All,
Please, please... The address for this mailing list is:
crossgcc@sourceware.org
The one you're using is a legacy alias, drop using it, please...
On Thursday 23 July 2009 07:18:17 booleandomain wrote:
> I attached to this message the script I'm using for building my
> toolchain. It is much more primitive than crosstool-ng (I still haven't
> managed to run it properly) but also much easier to understand.
Much easier to understand, but much incomplete, see below...
> Another difference is that I'm trying to use the very latest releases
> instead of using older ones.
Well, using gcc-4.4.1 the day it is released is asking for trouble... ;-)
I'm aiming at making crosstool-NG follow the latest versions, but I'm
lagging by a few... gcc-4.4.0 is already in, while glibc 2.10 will require
some changes (damned those fools that don't want to release tarballs...)
> The script runs successfully until the glibc is compiled: this one fails
> with the following error message:
I just had a quick glance at your script. Here's the steps you're folowing:
install_binutils
install_gcc1
install_linux
install_glibc
install_gcc2
Total: 5 steps (plus gmp and mpfr done with gcc)
(Oh, BTW, no need for all these "|| exit 1", just use "set -e" at
the top of your sccript.)
You almost got it right. But not quite so... Let me explain.
Here's what crosstool-NG does, with comments for each steps:
- libc_check_config
-> unused for glibc/eglibc, used by uClibc
- kernel_headers
-> install kernel headers, used by libc_headers, below
- gmp
- mpfr
- ppl
- cloog
- mpc
-> those five are libraries that gcc _requires_ to correctly
build (you can get away without some of those, but you'd
lack features).
- binutils
- elf2flt
-> binary utils, needed later by cc_core_pass_1, below;
elf2flt is used for bare metal, skipped when building for Linux
- cc_core_pass_1
-> bare-metal-like C-only compiler, used by libc_start_files, below
- libc_headers
- libc_start_files
-> install C lilbrary headers, and so-called start files
- cc_core_pass_2
-> second pass at a C-only compiler, using the previously built
C library files, but thjis time with threading and TLS enabled;
required to build the C library, below
- libc
-> build the complete C library
- cc
-> build a complete compiler: C, C++, java... with threading, TLS...
and all the good stuff
- libc_finish
-> used for legacy, non-NPTL glibc, now unused
unused by uClibc
- gmp_target
- mpfr_target
- binutils_target
- tools
- debug
-> forget those steps they are just goodies.
- finish
-> internal step to finalise the toolchains directory structure
All in all, that gives 15 steps that are absolutely necessary. So, as
you can see, you're quite missing some of them... I didn't take time
to look at the ./configure options you're using, though...
Now, you said that you did not manage to make crosstool-NG work.
What was the problem you encountered?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
`------------------------------^-------^------------------^--------------------'
--
For unsubscribe information see http://sourceware.org/lists.html#faq
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |