Testing m68k changes on AmigaOS and Linux/m68k
Bernardo Innocenti
bernie@develer.com
Tue Oct 14 17:00:00 GMT 2003
Gunther Nikl wrote:
> On Tue, Oct 14, 2003 at 10:07:44AM +0200, Bernardo Innocenti wrote:
>
>>You're probably one of the few people who exercise canadian cross
>>builds :-)
>
> Quite possible. I started doing such builds this year when I discovered
> how to do that and was surprised to see how "easy" it is :-)
I've played with the "combined tree" build instead. It's also much
easier than it may seem from the instructions.
Basically, I've checked out both the gcc and src repositories and
combine them with a simple script:
VERS=HEAD
DIR=combined-$VERS
rm -rf $DIR
mkdir $DIR
cd src-$VERS && find . -print | cpio -pdlm ../$DIR && cd ..
cd gcc-$VERS && find . -print | cpio -pdlmu ../$DIR && cd ..
Then I can build cross-compilers for several architectures
with scripts like this:
ROOTDIR=`pwd`
ARCH=arm-elf
VERS=HEAD
BUILDDIR=${ARCH}-${VERS}-build
INSTALLDIR=${ARCH}-${VERS}-install
export CFLAGS=
export CXXFLAGS=
rm -rf $BUILDDIR $INSTALLDIR
mkdir -p $BUILDDIR $INSTALLDIR
cd $BUILDDIR
../combined-${VERS}/configure
--target=$ARCH
--prefix=${ROOTDIR}/${INSTALLDIR}
--with-newlib
--disable-gdbtk
--enable-languages='c,c++'
make
>>I see you're using the MIT syntax on the Amiga. Some guy told me the
>>GeekGadgets port of GCC used it.
>
> You have a really bad memory ;-) I told you that.
Yes I do... Argh :-)
>>Have you ever tried defining MOTOROLA? If you're luckly, it should work
>>out of the box.
>
> I never tried and I won't try it because the assembler I am using
> doesn't support it.
I seem to recall you told me that too, but I can't remember why.
Can't you use gas?
>>I'm asking because I still have a (not so hidden) agenda for obsoleting
>>the MIT syntax some day...
>
> I know and I am still against it. Such bugs could be caught easily by
> converting from #if[n]def MOTOROLA to if (MOTOROLA) with MOTOROLA defined
> to 0 or 1. Then the compiler would eliminate the dead code.
It's not just a testing issue. Keeping both paths in sync is tedious
work and makes reading the code much harder.
Anyway, since the MIT syntax is going to stay in 3.4 and probably
even in 3.5, I favour your proposal.
We could get rid of several lines of code, those that confuse patch
and my eye the most :-)
Richard, would you approve such a patch at this time? I'll try
to submit it by tomorrow if you like it...
>>>I going to test the coss-built native compiler tonight.
>
> Unfortunately the cross-built compiler doesn't work :-( It seems to be
> miscompiled since I get this error message:
>
> ./cc1 -E foo.c
> <internal>:0: internal compiler error: tree check: expected class 'd',
> have 'd' (function_decl) in make_decl_rtl, at varasm.c:882
>
> The compiler was built by a cross-compiler built from the same source as
> this one. A native 3.4 built at the beginning of September 2003 works. I
> am going to test whether 3.3 and an older 3.4 as build compiler will do
> better. Currently I don't know when it broke :-/
The compiler used to work fine with m68k-elf and m68k-uclinux
last week (last tested from CVS sources on 20031011).
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/
Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html
More information about the Gcc
mailing list