[M3devel] more cm3cg on Raspberry Pi

mika at async.caltech.edu mika at async.caltech.edu
Sat Oct 19 21:21:35 CEST 2013


Hi Jay,

Yes the C backend is certainly convenient and cool.  No argument there.

But all this has me thinking about something... if the code generated by
the C backend isn't compatible with that generated by cm3cg, shouldn't
the target names be different, so that you could even have both systems
installed at the same time.  E.g., ARMEL_LINUX_C and ARMEL_LINUX
(or whatever).  Of course it makes it a bit more fiddly to bootstrap 
since you're cross-compiling even though it's actually native..?  I haven't
thought through all the ramifications.  Is it difficult to change the name?
Would it be desirable?

     Mika

Jay K writes:
>Oh=2C sorry=2C here are things to try=0A=
>=0A=
>edit m3-sys/m3cc/src/platforms.quake=0A=
>look for ARMEL_LINUX=2C change the right hand side to arm-linux-gnueabihf=
>=0A=
>=0A=
>and/or in src/m3makefile=2C you want to add -with-hard-float or -with-hardf=
>loat..no=2C wait=2C from your other mail:=0A=
>=0A=
>=A0And=2C really=2C the guide here is what you showed for gcc:=A0=0A=
>=0A=
>=A0Configured with: ../src/configure =A0=0A=
>=A0 =A0 -v \=A0=0A=
>=A0 =A0 ... =A0=0A=
>=A0 =A0 --with-arch=3Darmv6 =A0=0A=
>=A0 =A0 --with-fpu=3Dvfp=A0=0A=
>=A0 =A0 --with-float=3Dhard =A0=0A=
>=A0 =A0 --target=3Darm-linux-gnueabihf=A0=0A=
>=0A=
>=A0One/some/all of those are relevant.=A0=0A=
>=A0You might as well go ahead and throw them all in for now.=A0=0A=
>=0A=
>=A0Hey -- isn't that C backend convenient? :)=A0=0A=
>=0A=
>=0A=
>=A0- Jay=0A=
>=0A=
>----------------------------------------=0A=
>> To: jay.krell at cornell.edu=0A=
>> CC: m3devel at elegosoft.com=0A=
>> Subject: more cm3cg on Raspberry Pi=0A=
>> Date: Fri=2C 18 Oct 2013 18:26:02 -0700=0A=
>> From: mika at async.caltech.edu=0A=
>>=0A=
>> After setting up for soft float=2C I got a lot of these warnings/errors..=
>.=0A=
>>=0A=
>> new source -> compiling RTHeapInfo.m3=0A=
>> RTHeapInfo.ms: Assembler messages:=0A=
>> RTHeapInfo.ms:859: rdhi=2C rdlo and rm must all be different=0A=
>> RTHeapInfo.ms:907: rdhi=2C rdlo and rm must all be different=0A=
>> RTHeapInfo.ms:927: rdhi=2C rdlo and rm must all be different=0A=
>> new source -> compiling RTHeapMap.i3=0A=
>>=0A=
>> This is with the following configuration:=0A=
>>=0A=
>> in /usr/local/cm3 I have the C-generating compiler installed. It seems to=
> mostly work=2C as discussed.=0A=
>>=0A=
>> Then I run boot2.sh=0A=
>>=0A=
>> boot.sh finally ends with the following output=2C which doesn't look quit=
>e right:=0A=
>>=0A=
>> =3D=3D package /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib =3D=3D=0A=
>>=0A=
>> +++ /usr/local/cm3/bin/cm3 -build -DROOT=3D/big/home2/mika/2/cm3-cvs/cm3 =
>+++=0A=
>> --- building in ARMEL_LINUX ---=0A=
>>=0A=
>> ignoring ../src/m3overrides=0A=
>>=0A=
>> new source -> compiling Main.m3=0A=
>> -> linking mklib=0A=
>> =3D=3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=0A=
>>=0A=
>> +++ /usr/local/cm3/bin/cm3 -ship -DROOT=3D/big/home2/mika/2/cm3-cvs/cm3 +=
>++=0A=
>> --- shipping from ARMEL_LINUX ---=0A=
>>=0A=
>> . =3D> /usr/local/cm3/pkg/mklib/ARMEL_LINUX=0A=
>> .M3EXPORTS .M3WEB=0A=
>> ../src =3D> /usr/local/cm3/pkg/mklib/src=0A=
>> Main.m3=0A=
>> . =3D> /usr/local/cm3/bin=0A=
>> mklib=0A=
>> =3D=3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=0A=
>>=0A=
>> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/m3cggen/ARMEL_LINUX/m3cggen> /big/ho=
>me2/mika/2/cm3-cvs/cm3/m3-sys/m3cc/gcc/gcc/m3cg/m3cg.h=0A=
>> mkdir -p /usr/local/cm3/bin=0A=
>> cp -Pv /big/home2/mika/2/cm3-cvs/cm3/m3-sys/cm3/ARMEL_LINUX/cm3 /usr/loca=
>l/cm3/bin/cm3=0A=
>> Traceback (most recent call last):=0A=
>> File "./upgrade.py"=2C line 72=2C in <module>=0A=
>> reload(pylib) # compiler host type may have changed and need to recompute=
> stuff=0A=
>> File "/big/home2/mika/2/cm3-cvs/cm3/scripts/python/pylib.py"=2C line 650=
>=2C in <module>=0A=
>> if Host.endswith("_NT") or Host =3D=3D "NT386":=0A=
>> AttributeError: 'NoneType' object has no attribute 'endswith'=0A=
>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python#=0A=
>>=0A=
>> Mika 		 	   		  =



More information about the M3devel mailing list