[Haskell-cafe] Missing or undocumented ARM architecture controls

Jon Schneider haskell at jschneider.net
Wed Oct 15 14:23:33 UTC 2014

I worked around a problem of a build of a simple cross ghc not finding
(shared) libraries by setting the LIBRARY_PATH environment variable. Not

Then I came to a problem with StcCRun.c using vldmia and related
instructions which are part of ARMv6. I worked around this by putting
#defines for arm_HOST_ARCH_PRE_ARMv6 and arm_HOST_ARCH_PRE_ARMv7 in

Now it seems to make use of llvm at a later stage and that fails with

"inplace/bin/ghc-stage1" -static  -H64m -O0 -Iincludes -Iincludes/dist
-Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS
-package-name rts -dcmm-lint      -i -irts -irts/dist/build
-irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen        
  -O2    -c rts/Exception.cmm -o rts/dist/build/Exception.o
'+v7' is not a recognized feature for this target (ignoring feature)
Stack dump:
0.      Program arguments: /usr/bin/llc -O3 -relocation-model=static
/tmp/ghc20998_0/ghc20998_4.bc -o /tmp/ghc20998_0/ghc20998_5.lm_s
--enable-tbaa=true -mattr=+v7,+vfp3
1.      Running pass 'Function Pass Manager' on module
2.      Running pass 'ARM Instruction Selection' on function

Now the thing that sticks out there is the +v7,+vfp3 option.

Again it seems to be making incorrect assumptions about the exact ARM
architecture. Ours is a v5TE/926.

What is the correct way to specify this ?



More information about the Haskell-Cafe mailing list