
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 ideal. 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 mk/config.h 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-derivedconstants/header -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) UNREACHABLE executed! UNREACHABLE executed! 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 '/tmp/ghc20998_0/ghc20998_4.bc'. 2. Running pass 'ARM Instruction Selection' on function '@stg_unmaskAsyncExceptionszh_ret_info' 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 ? Thanks, Jon