[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Preparing the m68k port for the future.

Wouter Verhelst wrote:
> When I first tried to create this setup, about a month after DebConf5
> (and about around the time when I announced this), it turned out
> that it was plain impossible to build a cross-compiler with the
> GCC4 code; not with toolchain-source (because that had not been
> updated yet to GCC4, so would be useless for this purpose) but also
> not with the upstream source and the scripts from kegel.com: Some
> internals of the GCC4 code expected that the compiler and the binutils
> would be called 'm68k-linux-foo', whereas other bits expected
> 'm68k-linux-gnu-foo'. Obviously this could be fixed by someone
> familiar with the gcc/binutils build system, but that's besides
> the point; the point is that rolling our own, very special, setup
> might introduce extra weaknesses (I had warned in Helsinki about the
> possibility that a cross-compiler might not produce the very exact
> same object code that a native build would, but had not considered
> the possibility that there might be bugs in the build system which
> would only occur when trying to build cross-compilers). This would
> complicate such a setup further.

As a semi-retired GCC upstream developer, I have a couple comments here.

First, we're aware that building cross compilers is harder than it
ought to be, especially building cross compilers to targets that
normally use native compilers.  There is, however, a lack of manpower
to fix these problems.  We'd be delighted to get constructive feedback
from people actually using a "host-x-host" configuration on a regular
basis, assistance integrating Dan Kegel's scripts with the normal build
mechanism, and so on.  Things may already be better in mainline (GCC 4.2
that will be), as there's been quite a lot of build infrastructure work
in this development cycle.

Second, we of course cannot guarantee that a cross compiler to target
X generates the same code as a native compiler for target X would,
given the same input.  However, all cases where the cross compiler
generates different code from the native compiler for the same input are
considered bugs, and if you find them, we want to hear about them.

'We' should be taken to refer to the GCC upstream developers as a
collective entity, which at present doesn't really include me.  (In
other words, please bring bugs, suggestions, offers of assistance, etc.
to the GCC mailing lists, *not* me.)


Reply to: