This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: building a gcc-3.3-prerelease cross-compiler


Rene Rebe wrote:
Hi,

On: Tue, 13 May 2003 08:46:45 -0700,
    Michael Eager <eager@eagercon.com> wrote:


I'm both sympathetic and frustrated by this as well.

One consequence of not having documentation which is correct (or even
close) is that we don't find bugs in the build process.  It makes it
difficult to tell whether a problem building a cross-compiler is
(a) user error, (b) errors in the documentation, (c) unclear interactions
between the configure options, (d) interactions or incompatibilities between
components, or (e) errors in the implementation.

I'd like to see the CrossGCC FAQ actually be a list of Questions and
Answers, not a script for building a cross-compiler with one specific
set of options for one particular purpose.  IMO, we (the proverbial we,
that is) could likely mine the GCC mailing list to find the common
questions and the common answers.

As Daniel said, lack of time/experience/motivation is a factor.  I'm
reluctant to say that I'll take a stab at a FAQ, given that I have limited
time and every time I look at GCC configuration I feel that I'm being
sucked into a tar pit.  :-)


As I mentioned in an earlier mail I already found out the missing
glue, "-C gcc" for the "make all" and "make install".

As reference for cross-building you might take a look into:

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/linux24-header/linux24-header.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/glibc23/glibc23.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/binutils/binutils.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/gcc3/gcc3.conf

Built in that order - the stage0 is used for cross-toolchain creation
- the rest is an normal build.

Comments and corrections are welcome ;-)

Thanks, but you miss my point.


First off, "-C gcc" is not some important missing glue.  It isn't necessary
and I don't specify this when building a cross compiler.

Second, it looks like you build glibc using a previously created GCC.  Which
raises two issues:  (1) how do you create that version of gcc, and (2) is
this the same version of gcc that you build later?  This is the classic bootstrap
problem which appears overlooked.

There are a number of scripts which describe how someone has built
cross tools.  They don't tell how to do something different from
what the script does, nor do the distinguish between what is necessary,
what is ideosyncratic about an environment, and what "just happens to work".
Like your scripts, they are terse, with few comments and no explaination.

Your scripts are interesting and I'll take a look. But shell scripts are not a FAQ.


-- Michael Eager Eager Consulting eager@eagercon.com 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]