[M3devel] more cm3cg on Raspberry Pi

mika at async.caltech.edu mika at async.caltech.edu
Tue Oct 22 18:28:02 CEST 2013


Well I deleted ARMEL_LINUX/m3cc for good measure and still...

TickPortable.ms:294: Error: selected processor does not support ARM mode `ldfd f1,[sp],#8'
TickPortable.ms:295: Error: selected processor does not support ARM mode `dvfd f0,f0,f1'
TickPortable.ms:296: Error: selected processor does not support ARM mode `stfd f0,[sp,#-8]!'
TickPortable.ms:312: Error: selected processor does not support ARM mode `ldfd f2,[sp],#8'
TickPortable.ms:314: Error: selected processor does not support ARM mode `ldfd f0,[sp],#8'
TickPortable.ms:315: Error: selected processor does not support ARM mode `cmfe f2,f0'
TickPortable.ms:322: Error: selected processor does not support ARM mode `ldfd f1,[sp],#8'
TickPortable.ms:323: Error: selected processor does not support ARM mode `fixz r3,f1'
TickPortable.ms:333: Error: selected processor does not support ARM mode `ldfd f2,[sp],#8'
TickPortable.ms:335: Error: selected processor does not support ARM mode `ldfd f0,[sp],#8'
TickPortable.ms:336: Error: selected processor does not support ARM mode `cmfe f2,f0'
TickPortable.ms:345: Error: selected processor does not support ARM mode `ldfd f1,[sp],#8'
TickPortable.ms:347: Error: selected processor does not support ARM mode `ldfd f2,[sp],#8'
TickPortable.ms:348: Error: selected processor does not support ARM mode `sufd f0,f1,f2'
TickPortable.ms:349: Error: selected processor does not support ARM mode `fixz r3,f0'
  assemble => 1
assembler failed assembling: TickPortable.ms

(etc.)

I'm really quite happy to use the C-generating compiler but need to make
sure it is working right.  Although of course it would be a bonus to have
a "native" compiler, too.  I was hoping to do performance comparisons
but can of course do those on FreeBSD4 or some x86-based Linux too.
Or have you already done them?

     Mika

Jay K writes:
>Try again? I was able to build a boot archive.=0A=
>The main change was just removing the flags from m3-sys/cminstall/src/confi=
>g-no-install.=0A=
>ARM_LINUX also wasn't equivalent to ARMEL_LINUX as I had intended.=0A=
>=0A=
>=A0- Jay=0A=
>=0A=
>----------------------------------------=0A=
>> From: jay.krell at cornell.edu=0A=
>> To: mika at async.caltech.edu=0A=
>> Date: Tue=2C 22 Oct 2013 02:52:20 +0000=0A=
>> CC: m3devel at elegosoft.com=0A=
>> Subject: Re: [M3devel] more cm3cg on Raspberry Pi=0A=
>>=0A=
>> sorry=2C maybe that was sloppy and easily fixed..=0A=
>>=0A=
>>=0A=
>> ----------------------------------------=0A=
>>> From: jay.krell at cornell.edu=0A=
>>> To: mika at async.caltech.edu=0A=
>>> Date: Tue=2C 22 Oct 2013 02:40:49 +0000=0A=
>>> CC: m3devel at elegosoft.com=0A=
>>> Subject: Re: [M3devel] more cm3cg on Raspberry Pi=0A=
>>>=0A=
>>>> cm3cg: sorry=2C unimplemented: -mfloat-abi=3Dhard and VFP=0A=
>>>=0A=
>>> drat. I'll try to cross build a boot archive=2C but I should see the sam=
>e thing.=0A=
>>> Maybe the support is not in mainline? And we should port it from some Ra=
>spberry Pi place?=0A=
>>> Or maybe those last switches aren't needed?=0A=
>>> Or maybe just give up and stick with C?=0A=
>>>=0A=
>>>=0A=
>>> - Jay=0A=
>>>=0A=
>>> ----------------------------------------=0A=
>>>> To: jay.krell at cornell.edu=0A=
>>>> CC: m3devel at elegosoft.com=0A=
>>>> Subject: Re: more cm3cg on Raspberry Pi=0A=
>>>> Date: Mon=2C 21 Oct 2013 18:34:33 -0700=0A=
>>>> From: mika at async.caltech.edu=0A=
>>>>=0A=
>>>> Jay=2C you did these changes to the repository=2C for ARMEL_LINUX=2C ri=
>ght?=0A=
>>>>=0A=
>>>> I recompiled everything=2C but I'm not sure I got the whole configurati=
>on=0A=
>>>> or how to check. My cm3cg in any case reports as follows:=0A=
>>>>=0A=
>>>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python# cm3cg -versio=
>n=0A=
>>>> Modula-3 backend (GCC) version 4.7.1 (armv6l-unknown-linux-gnueabihf)=
>=0A=
>>>> compiled by GNU C version 4.6.3=2C GGC heuristics: --param ggc-min-expa=
>nd=3D59 --param ggc-min-heapsize=3D56092=0A=
>>>> Modula-3 backend (GCC) version 4.7.1 (armv6l-unknown-linux-gnueabihf)=
>=0A=
>>>> compiled by GNU C version 4.6.3=2C GGC heuristics: --param ggc-min-expa=
>nd=3D59 --param ggc-min-heapsize=3D56092=0A=
>>>> options passed:=0A=
>>>> options enabled: -fauto-inc-dec -fbranch-count-reg -fcommon=0A=
>>>> -fdebug-types-section -fdelete-null-pointer-checks -fdwarf2-cfi-asm=0A=
>>>> -fearly-inlining -feliminate-unused-debug-types -fexceptions=0A=
>>>> -ffunction-cse -fgcse-lm -fgnu-runtime -fident -finline-atomics=0A=
>>>> -fira-share-save-slots -fira-share-spill-slots -fivopts=0A=
>>>> -fkeep-static-consts -fleading-underscore -fmath-errno=0A=
>>>> -fmerge-debug-strings -fmove-loop-invariants -fpeephole=0A=
>>>> -fprefetch-loop-arrays -freg-struct-return -fsched-critical-path-heuris=
>tic=0A=
>>>> -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock=
>=0A=
>>>> -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec=0A=
>>>> -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fshow-column=0A=
>>>> -fsigned-zeros -fsplit-ivs-in-unroller -fstrict-volatile-bitfields=0A=
>>>> -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-if-convert=0A=
>>>> -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize=0A=
>>>> -ftree-parallelize-loops=3D -ftree-phiprop -ftree-pta -ftree-reassoc=0A=
>>>> -ftree-scev-cprop -ftree-slp-vectorize -ftree-vect-loop-version=0A=
>>>> -funit-at-a-time -fvar-tracking -fvar-tracking-assignments=0A=
>>>> -fzero-initialized-in-bss -marm -mglibc -mlittle-endian -msched-prolog=
>=0A=
>>>> -mvectorize-with-neon-quad=0A=
>>>>=0A=
>>>> unfortunately this is what happens now....=0A=
>>>>=0A=
>>>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python# ./do-pkg.py m=
>3core libm3 buildship=0A=
>>>> CM3_TARGET=3DARMEL_LINUX=0A=
>>>> export CM3_TARGET=0A=
>>>> CM3_INSTALL=3D/usr/local/cm3=0A=
>>>> export CM3_INSTALL=0A=
>>>> CM3_ROOT=3D/big/home2/mika/2/cm3-cvs/cm3=0A=
>>>> export CM3_ROOT=0A=
>>>> =3D=3D package /big/home2/mika/2/cm3-cvs/cm3/m3-libs/m3core =3D=3D=0A=
>>>>=0A=
>>>> +++ /usr/local/cm3/bin/cm3 -build -DROOT=3D/big/home2/mika/2/cm3-cvs/cm=
>3 +++=0A=
>>>> --- building in ARMEL_LINUX ---=0A=
>>>>=0A=
>>>> ignoring ../src/m3overrides=0A=
>>>>=0A=
>>>> new source -> compiling RTHooks.i3=0A=
>>>> cm3cg: sorry=2C unimplemented: -mfloat-abi=3Dhard and VFP=0A=
>>>> m3_backend =3D> 1=0A=
>>>> m3cc (aka cm3cg) failed compiling: RTHooks.ic=0A=
>>>> Assembler messages:=0A=
>>>> Error: can't open RTHooks.is for reading: No such file or directory=0A=
>>>> assemble =3D> 1=0A=
>>>> assembler failed assembling: RTHooks.is=0A=
>>>>=0A=
>>>> I'm not sure what's up here because it seems to contradict my C flags.=
>=0A=
>>>>=0A=
>>>> Mika=0A=
>>>>=0A=
>>>> Jay K writes:=0A=
>>>>>Oh=3D2C sorry=3D2C here are things to try=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>edit m3-sys/m3cc/src/platforms.quake=3D0A=3D=0A=
>>>>>look for ARMEL_LINUX=3D2C change the right hand side to arm-linux-gnuea=
>bihf=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>and/or in src/m3makefile=3D2C you want to add -with-hard-float or -with=
>-hardf=3D=0A=
>>>>>loat..no=3D2C wait=3D2C from your other mail:=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3DA0And=3D2C really=3D2C the guide here is what you showed for gcc:=3D=
>A0=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3DA0Configured with: ../src/configure =3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 -v \=3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 ... =3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 --with-arch=3D3Darmv6 =3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 --with-fpu=3D3Dvfp=3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 --with-float=3D3Dhard =3DA0=3D0A=3D=0A=
>>>>>=3DA0 =3DA0 --target=3D3Darm-linux-gnueabihf=3DA0=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3DA0One/some/all of those are relevant.=3DA0=3D0A=3D=0A=
>>>>>=3DA0You might as well go ahead and throw them all in for now.=3DA0=3D0=
>A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3DA0Hey -- isn't that C backend convenient? :)=3DA0=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>=3DA0- Jay=3D0A=3D=0A=
>>>>>=3D0A=3D=0A=
>>>>>----------------------------------------=3D0A=3D=0A=
>>>>>> To: jay.krell at cornell.edu=3D0A=3D=0A=
>>>>>> CC: m3devel at elegosoft.com=3D0A=3D=0A=
>>>>>> Subject: more cm3cg on Raspberry Pi=3D0A=3D=0A=
>>>>>> Date: Fri=3D2C 18 Oct 2013 18:26:02 -0700=3D0A=3D=0A=
>>>>>> From: mika at async.caltech.edu=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> After setting up for soft float=3D2C I got a lot of these warnings/er=
>rors..=3D=0A=
>>>>>.=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> new source -> compiling RTHeapInfo.m3=3D0A=3D=0A=
>>>>>> RTHeapInfo.ms: Assembler messages:=3D0A=3D=0A=
>>>>>> RTHeapInfo.ms:859: rdhi=3D2C rdlo and rm must all be different=3D0A=
>=3D=0A=
>>>>>> RTHeapInfo.ms:907: rdhi=3D2C rdlo and rm must all be different=3D0A=
>=3D=0A=
>>>>>> RTHeapInfo.ms:927: rdhi=3D2C rdlo and rm must all be different=3D0A=
>=3D=0A=
>>>>>> new source -> compiling RTHeapMap.i3=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> This is with the following configuration:=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> in /usr/local/cm3 I have the C-generating compiler installed. It seem=
>s to=3D=0A=
>>>>> mostly work=3D2C as discussed.=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> Then I run boot2.sh=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> boot.sh finally ends with the following output=3D2C which doesn't loo=
>k quit=3D=0A=
>>>>>e right:=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> =3D3D=3D3D package /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib =3D3D=
>=3D3D=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> +++ /usr/local/cm3/bin/cm3 -build -DROOT=3D3D/big/home2/mika/2/cm3-cv=
>s/cm3 =3D=0A=
>>>>>+++=3D0A=3D=0A=
>>>>>> --- building in ARMEL_LINUX ---=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> ignoring ../src/m3overrides=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> new source -> compiling Main.m3=3D0A=3D=0A=
>>>>>> -> linking mklib=3D0A=3D=0A=
>>>>>> =3D3D=3D3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=3D0A=3D=
>=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> +++ /usr/local/cm3/bin/cm3 -ship -DROOT=3D3D/big/home2/mika/2/cm3-cvs=
>/cm3 +=3D=0A=
>>>>>++=3D0A=3D=0A=
>>>>>> --- shipping from ARMEL_LINUX ---=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> . =3D3D> /usr/local/cm3/pkg/mklib/ARMEL_LINUX=3D0A=3D=0A=
>>>>>> .M3EXPORTS .M3WEB=3D0A=3D=0A=
>>>>>> ../src =3D3D> /usr/local/cm3/pkg/mklib/src=3D0A=3D=0A=
>>>>>> Main.m3=3D0A=3D=0A=
>>>>>> . =3D3D> /usr/local/cm3/bin=3D0A=3D=0A=
>>>>>> mklib=3D0A=3D=0A=
>>>>>> =3D3D=3D3D> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/mklib done=3D0A=3D=
>=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> /big/home2/mika/2/cm3-cvs/cm3/m3-sys/m3cggen/ARMEL_LINUX/m3cggen> /bi=
>g/ho=3D=0A=
>>>>>me2/mika/2/cm3-cvs/cm3/m3-sys/m3cc/gcc/gcc/m3cg/m3cg.h=3D0A=3D=0A=
>>>>>> mkdir -p /usr/local/cm3/bin=3D0A=3D=0A=
>>>>>> cp -Pv /big/home2/mika/2/cm3-cvs/cm3/m3-sys/cm3/ARMEL_LINUX/cm3 /usr/=
>loca=3D=0A=
>>>>>l/cm3/bin/cm3=3D0A=3D=0A=
>>>>>> Traceback (most recent call last):=3D0A=3D=0A=
>>>>>> File "./upgrade.py"=3D2C line 72=3D2C in <module>=3D0A=3D=0A=
>>>>>> reload(pylib) # compiler host type may have changed and need to recom=
>pute=3D=0A=
>>>>> stuff=3D0A=3D=0A=
>>>>>> File "/big/home2/mika/2/cm3-cvs/cm3/scripts/python/pylib.py"=3D2C lin=
>e 650=3D=0A=
>>>>>=3D2C in <module>=3D0A=3D=0A=
>>>>>> if Host.endswith("_NT") or Host =3D3D=3D3D "NT386":=3D0A=3D=0A=
>>>>>> AttributeError: 'NoneType' object has no attribute 'endswith'=3D0A=3D=
>=0A=
>>>>>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python#=3D0A=3D=0A=
>>>>>>=3D0A=3D=0A=
>>>>>> Mika =3D 		 	   		  =



More information about the M3devel mailing list