[M3devel] more cm3cg on Raspberry Pi

Jay K jay.krell at cornell.edu
Tue Oct 22 04:52:20 CEST 2013


sorry, maybe that was sloppy and easily fixed..


----------------------------------------
> From: jay.krell at cornell.edu
> To: mika at async.caltech.edu
> Date: Tue, 22 Oct 2013 02:40:49 +0000
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] more cm3cg on Raspberry Pi
>
>> cm3cg: sorry, unimplemented: -mfloat-abi=hard and VFP
>
> drat. I'll try to cross build a boot archive, but I should see the same thing.
> Maybe the support is not in mainline? And we should port it from some Raspberry Pi place?
> Or maybe those last switches aren't needed?
> Or maybe just give up and stick with C?
>
>
> - Jay
>
> ----------------------------------------
>> To: jay.krell at cornell.edu
>> CC: m3devel at elegosoft.com
>> Subject: Re: more cm3cg on Raspberry Pi
>> Date: Mon, 21 Oct 2013 18:34:33 -0700
>> From: mika at async.caltech.edu
>>
>> Jay, you did these changes to the repository, for ARMEL_LINUX, right?
>>
>> I recompiled everything, but I'm not sure I got the whole configuration
>> or how to check. My cm3cg in any case reports as follows:
>>
>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python# cm3cg -version
>> Modula-3 backend (GCC) version 4.7.1 (armv6l-unknown-linux-gnueabihf)
>> compiled by GNU C version 4.6.3, GGC heuristics: --param ggc-min-expand=59 --param ggc-min-heapsize=56092
>> Modula-3 backend (GCC) version 4.7.1 (armv6l-unknown-linux-gnueabihf)
>> compiled by GNU C version 4.6.3, GGC heuristics: --param ggc-min-expand=59 --param ggc-min-heapsize=56092
>> options passed:
>> options enabled: -fauto-inc-dec -fbranch-count-reg -fcommon
>> -fdebug-types-section -fdelete-null-pointer-checks -fdwarf2-cfi-asm
>> -fearly-inlining -feliminate-unused-debug-types -fexceptions
>> -ffunction-cse -fgcse-lm -fgnu-runtime -fident -finline-atomics
>> -fira-share-save-slots -fira-share-spill-slots -fivopts
>> -fkeep-static-consts -fleading-underscore -fmath-errno
>> -fmerge-debug-strings -fmove-loop-invariants -fpeephole
>> -fprefetch-loop-arrays -freg-struct-return -fsched-critical-path-heuristic
>> -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
>> -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
>> -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fshow-column
>> -fsigned-zeros -fsplit-ivs-in-unroller -fstrict-volatile-bitfields
>> -ftrapping-math -ftree-cselim -ftree-forwprop -ftree-loop-if-convert
>> -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
>> -ftree-parallelize-loops= -ftree-phiprop -ftree-pta -ftree-reassoc
>> -ftree-scev-cprop -ftree-slp-vectorize -ftree-vect-loop-version
>> -funit-at-a-time -fvar-tracking -fvar-tracking-assignments
>> -fzero-initialized-in-bss -marm -mglibc -mlittle-endian -msched-prolog
>> -mvectorize-with-neon-quad
>>
>> unfortunately this is what happens now....
>>
>> raspberrypi:/big/home2/mika/2/cm3-cvs/cm3/scripts/python# ./do-pkg.py m3core libm3 buildship
>> CM3_TARGET=ARMEL_LINUX
>> export CM3_TARGET
>> CM3_INSTALL=/usr/local/cm3
>> export CM3_INSTALL
>> CM3_ROOT=/big/home2/mika/2/cm3-cvs/cm3
>> export CM3_ROOT
>> == package /big/home2/mika/2/cm3-cvs/cm3/m3-libs/m3core ==
>>
>> +++ /usr/local/cm3/bin/cm3 -build -DROOT=/big/home2/mika/2/cm3-cvs/cm3 +++
>> --- building in ARMEL_LINUX ---
>>
>> ignoring ../src/m3overrides
>>
>> new source -> compiling RTHooks.i3
>> cm3cg: sorry, unimplemented: -mfloat-abi=hard and VFP
>> m3_backend => 1
>> m3cc (aka cm3cg) failed compiling: RTHooks.ic
>> Assembler messages:
>> Error: can't open RTHooks.is for reading: No such file or directory
>> assemble => 1
>> assembler failed assembling: RTHooks.is
>>
>> I'm not sure what's up here because it seems to contradict my C flags.
>>
>> 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