[M3devel] more cm3cg on Raspberry Pi

Jay K jay.krell at cornell.edu
Tue Oct 22 04:40:49 CEST 2013


> 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