Compiling natively GHC for ARMv7l softabi

Moritz Angermann moritz.angermann at gmail.com
Sun Oct 22 07:51:15 UTC 2017


Can you rerun that command with -keep-llvm-files and attach the generated .ll file?

Cheers,
 Moritz

Sent from my iPhone

> On 22 Oct 2017, at 3:06 PM, shiftag at nanotek.info wrote:
> 
> October 22, 2017 10:37 AM, "Moritz Angermann" <moritz.angermann at gmail.com> wrote:
> 
>> Could you try running this with `-v`? Hopefully, this time will will not 
>> stop somewhere in the middle, but rather give us the full output, and
>> also reproduce the errors.
>> 
> 
> 
> Understood.
> 
> # inplace/bin/ghc-stage1 -v -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
> Glasgow Haskell Compiler, Version 8.2.1, stage 1 booted by GHC version 8.2.1
> Using binary package database: /tmp/ghc-8.2.1/inplace/lib/package.conf.d/package.cache
> package flags []
> loading package database /tmp/ghc-8.2.1/inplace/lib/package.conf.d
> wired-in package ghc-prim mapped to ghc-prim-0.5.1.0
> wired-in package integer-simple mapped to integer-simple-0.1.1.1
> wired-in package base mapped to base-4.10.0.0
> wired-in package rts mapped to rts
> wired-in package template-haskell mapped to template-haskell-2.12.0.0
> wired-in package ghc mapped to ghc-8.2.1
> wired-in package dph-seq not found.
> wired-in package dph-par not found.
> Created temporary directory: /tmp/ghc32190_0
> *** C Compiler:
> arm-linux-gnueabi-gcc -marm -fno-stack-protector -DTABLES_NEXT_TO_CODE -DNOSMP -E -I includes -I includes/dist -I includes/dist-derivedconstants/header -I includes/dist-ghcconstants/header -I rts -I rts/dist/build -I rts/dist/build -I rts/dist/build/./autogen -I /tmp/ghc-8.2.1/libraries/base/include -I /tmp/ghc-8.2.1/rts/dist/build -I /tmp/ghc-8.2.1/includes -I /tmp/ghc-8.2.1/includes/dist-derivedconstants/header -include /tmp/ghc-8.2.1/includes/ghcversion.h -Dlinux_BUILD_OS -Dx86_64_BUILD_ARCH -Dlinux_HOST_OS -Darm_HOST_ARCH '-D__GLASGOW_HASKELL_LLVM__=309' -D__GLASGOW_HASKELL_TH__ -include/tmp/ghc32190_0/ghc_2.h -x assembler-with-cpp rts/StgStartup.cmm -o /tmp/ghc32190_0/ghc_1.cmmcpp
> *** ParseCmm [/tmp/ghc32190_0/ghc_1.cmmcpp]:
> !!! ParseCmm [/tmp/ghc32190_0/ghc_1.cmmcpp]: finished in 2.50 milliseconds, allocated 1.737 megabytes
> *** LLVM CodeGen:
> *** LLVM CodeGen:
> Using LLVM version: (3,9)
> *** CmmLint [Cmm$ghc_1.cmmcpp]:
> !!! CmmLint [Cmm$ghc_1.cmmcpp]: finished in 0.35 milliseconds, allocated 0.082 megabytes
> !!! LLVM CodeGen: finished in 9.53 milliseconds, allocated 5.082 megabytes
> *** LLVM Optimiser:
> /usr/bin/opt-3.9 /tmp/ghc32190_0/ghc_4.ll -o /tmp/ghc32190_0/ghc_6.bc -O2 '--enable-tbaa=true'
> *** LLVM Compiler:
> /usr/bin/llc-3.9 -O3 '-relocation-model=static' /tmp/ghc32190_0/ghc_6.bc -o /tmp/ghc32190_0/ghc_7.lm_s '--enable-tbaa=true'
> *** LLVM Mangler:
> !!! LLVM Mangler: finished in 0.81 milliseconds, allocated 0.369 megabytes
> *** Assembler:
> arm-linux-gnueabi-gcc -marm -fno-stack-protector -DTABLES_NEXT_TO_CODE -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -Irts/dist/build -Irts/dist/build/./autogen -x assembler -c /tmp/ghc32190_0/ghc_8.s -o rts/dist/build/StgStartup.o
> /tmp/ghc32190_0/ghc_8.s: Assembler messages:
> 
> /tmp/ghc32190_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/ghc32190_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/ghc32190_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/ghc32190_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/ghc32190_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/ghc32190_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/ghc32190_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/ghc32190_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]
>    | ^
> *** Deleting temp files:
> Deleting: /tmp/ghc32190_0/ghc_8.s /tmp/ghc32190_0/ghc_7.lm_s /tmp/ghc32190_0/ghc_6.bc /tmp/ghc32190_0/ghc_5.c /tmp/ghc32190_0/ghc_4.ll /tmp/ghc32190_0/ghc_3.rsp /tmp/ghc32190_0/ghc_2.h /tmp/ghc32190_0/ghc_1.cmmcpp
> Warning: deleting non-existent /tmp/ghc32190_0/ghc_5.c
> *** Deleting temp dirs:
> Deleting: /tmp/ghc32190_0
> `arm-linux-gnueabi-gcc' failed in phase `Assembler'. (Exit code: 1)


More information about the ghc-devs mailing list