[M3devel] more cm3cg on Raspberry Pi

Jay K jay.krell at cornell.edu
Sat Oct 19 21:44:00 CEST 2013


Yes, maybe. But the C backend works for everything.
We'd have to double the number of targets, for little gain.

You can't install both to the same root either way.
The pkg directories are separate, but bin and lib are not.

Upgrade.py from on to the other should work asis.

 - Jay

----------------------------------------
> To: jay.krell at cornell.edu
> CC: m3devel at elegosoft.com
> Subject: Re: more cm3cg on Raspberry Pi
> Date: Sat, 19 Oct 2013 12:21:35 -0700
> From: mika at async.caltech.edu
>
> 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