[M3devel] more cm3cg on Raspberry Pi

Jay K jay.krell at cornell.edu
Tue Oct 22 05:13:07 CEST 2013


Try again? I was able to build a boot archive.
The main change was just removing the flags from m3-sys/cminstall/src/config-no-install.
ARM_LINUX also wasn't equivalent to ARMEL_LINUX as I had intended.

 - Jay

----------------------------------------
> From: jay.krell at cornell.edu
> To: mika at async.caltech.edu
> Date: Tue, 22 Oct 2013 02:52:20 +0000
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] more cm3cg on Raspberry Pi
>
> 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