Compiling natively GHC for ARMv7l softabi
shiftag at nanotek.info
shiftag at nanotek.info
Sun Oct 22 06:33:45 UTC 2017
October 21, 2017 9:21 PM, shiftag at nanotek.info wrote:
> October 21, .0000000000000000000000000000000000000000000000000000000000000000000000µ2017
> 2:.0000000000000000000000000000000000000000000000000000000000000000000000ÿ3 PM,
> shiftag at nanotek.info wrote:
>
>> October 19, .0000000000000000000000000000000000000000000000000000000000000000000000µ2017
>> 7:.0000000000000000000000000000000000000000000000000000000000000000000000µ34 PM,
>> shiftag at nanotek.info wrote:
>>
>>> October 19, .0000000000000000000000000000000000000000000000000000000000000000000000µ2017
>>> 6:.0000000000000000000000000000000000000000000000000000000000000000000000ÿ8 PM, "Moritz Angermann"
>>> <moritz.angermann at gmail.com> wrote:
>>
>> Shiftag,
>>
>> any chance you could try this with 8.2 again then?
>>> Hi,
>>>
>>> I'm going to try that and I will let you know ;)
>>>
>>> Thanks guys.
>>
>> Hi,
>>
>> So I installed GHC-8.2.1 and then I tried to cross-compiling it. The ./configure went fine but the
>> make :
>>
>> # make
>> Run "make install" to install
>> Makefile:46: recipe for target 'default' failed
>> make: *** [default] Error 1
>>
>> Hmm...did I forgot something ?
>
> Sorry my bad, I downloaded the wrong archive. Now its compiling, it should work.
>
Hi Guys,
I hope you have a great Sunday.
I'm sorry, it still buggy. So I tried GHC-8.2.1 and I did the following stuff :
$ ./configure --target=arm-linux-gnueabi
[...]
----------------------------------------------------------------------
Configure completed successfully.
Building GHC version : 8.2.1
Git commit id : 0cee25253f9f2cb4f19f021fd974bdad3c26a80b
Build platform : x86_64-unknown-linux
Host platform : x86_64-unknown-linux
Target platform : arm-unknown-linux
Bootstrapping using : /usr/bin/ghc
which is version : 8.2.1
Using (for bootstrapping) : gcc
Using gcc : arm-linux-gnueabi-gcc
which is version : 7.2.0
Building a cross compiler : YES
Unregisterised : NO
hs-cpp : arm-linux-gnueabi-gcc
hs-cpp-flags : -E -undef -traditional
ar : /usr/bin/arm-linux-gnueabi-ar
ld : arm-linux-gnueabi-ld.gold
nm : /usr/bin/arm-linux-gnueabi-nm
objdump : /usr/bin/arm-linux-gnueabi-objdump
ranlib : /usr/bin/arm-linux-gnueabi-ranlib
windres :
dllwrap :
Happy : /usr/bin/happy (1.19.7)
Alex : /usr/bin/alex (3.2.3)
Perl : /usr/bin/perl
sphinx-build : /usr/bin/sphinx-build
xelatex :
Using LLVM tools
llc : /usr/bin/llc-3.9
opt : /usr/bin/opt-3.9
HsColour : /usr/bin/HsColour
Tools to build Sphinx HTML documentation available: YES
Tools to build Sphinx PDF documentation available: NO
----------------------------------------------------------------------
# grep -v '#' mk/build.mk | sed '/^$/d'
BuildFlavour = perf-cross
ifneq "$(BuildFlavour)" ""
include mk/flavours/$(BuildFlavour).mk
endif
HADDOCK_DOCS = NO
STRIP_CMD = :
WITH_TERMINFO = NO
# make
"inplace/bin/ghc-stage1" -optc-marm -optc-fno-stack-protector -optc-Wall -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noret
urn -optc-Wnested-externs -optc-Wredundant-decls -optc-Iincludes -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-DCOMPILING_RTS -optc-DNOSMP -optc-DUSE_LIBFF
I_FOR_ADJUSTORS -optc-fno-strict-aliasing -optc-fno-common -optc-Irts/dist/build/./autogen -optc-Werror=unused-but-set-variable -optc-Wno-error=inline -optc-O2 -optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\" -optc-ffunction-sections -optc-fdata-
sections -static -O -H64m -Wall -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -optc-DNOSMP -dcmm-lint -i -irts -irts/dist/build -Irts
/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen -O2 -Wnoncanonical-monad-instances -c rts/posix/GetEnv.c -o rts/dist/build/posix/GetEnv.o
"inplace/bin/ghc-stage1" -static -O -H64m -Wall -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -optc-DNOSMP -dcmm-lint -i -irts -irts/
dist/build -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen -O2 -Wnoncanonical-monad-instances -c rts/StgStartup.cmm -o rts/dist/build/StgStartup.o
/tmp/ghc22858_0/ghc_8.s: Assembler messages:
/tmp/ghc22858_0/ghc_8.s:41:0: error:
Error: selected processor does not support `ldrd r0,r1,[r3,#64]' in ARM mode
|
41 | ldrd r0, r1, [r3, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:46:0: error:
Error: selected processor does not support `strd r0,r1,[r3,#64]' in ARM mode
|
46 | strd r0, r1, [r3, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:108:0: error:
Error: selected processor does not support `ldrd r0,r1,[r2,#64]' in ARM mode
|
108 | ldrd r0, r1, [r2, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:111:0: error:
Error: selected processor does not support `strd r0,r1,[r2,#64]' in ARM mode
|
111 | strd r0, r1, [r2, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:137:0: error:
Error: selected processor does not support `ldrd r0,r1,[r2,#64]' in ARM mode
|
137 | ldrd r0, r1, [r2, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:140:0: error:
Error: selected processor does not support `strd r0,r1,[r2,#64]' in ARM mode
|
140 | strd r0, r1, [r2, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:163:0: error:
Error: selected processor does not support `ldrd r0,r1,[r2,#64]' in ARM mode
|
163 | ldrd r0, r1, [r2, #64]
| ^
/tmp/ghc22858_0/ghc_8.s:166:0: error:
Error: selected processor does not support `strd r0,r1,[r2,#64]' in ARM mode
|
166 | strd r0, r1, [r2, #64]
| ^
`arm-linux-gnueabi-gcc' failed in phase `Assembler'. (Exit code: 1)
rts/ghc.mk:248: recipe for target 'rts/dist/build/StgStartup.o' failed
make[1]: *** [rts/dist/build/StgStartup.o] Error 1
Makefile:122: recipe for target 'all' failed
make: *** [all] Error 2%
Well that issue persist. An idea ?
Cheers
More information about the ghc-devs
mailing list