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