any successfull ghc registerised builds on arm?

Karel Gardas karel.gardas at centrum.cz
Thu Jan 24 18:48:39 CET 2013


On 01/24/13 05:51 PM, Stephen Paul Weber wrote:
> Doing a registered build with llvm-3.0 I eventually get:
>
> "inplace/bin/ghc-stage1" -o utils/hsc2hs/dist-install/build/tmp/hsc2hs
> -static -H64m -O0 -fllvm -hide-all-packages -i -iutils/hsc2hs/.
> -iutils/hsc2hs/dist-install/build
> -iutils/hsc2hs/dist-install/build/autogen
> -Iutils/hsc2hs/dist-install/build
> -Iutils/hsc2hs/dist-install/build/autogen -optP-include
> -optPutils/hsc2hs/dist-install/build/autogen/cabal_macros.h -package
> base-4.7.0.0 -package containers-0.5.0.0 -package directory-1.2.0.1
> -package filepath-1.3.0.2 -package process-1.2.0.0 -XHaskell98 -XCPP
> -XForeignFunctionInterface -no-user-package-db -rtsopts -odir
> utils/hsc2hs/dist-install/build -hidir utils/hsc2hs/dist-install/build
> -stubdir utils/hsc2hs/dist-install/build -hisuf hi -osuf o -hcsuf hc
> utils/hsc2hs/dist-install/build/Main.o
> utils/hsc2hs/dist-install/build/HSCParser.o
> utils/hsc2hs/dist-install/build/DirectCodegen.o
> utils/hsc2hs/dist-install/build/CrossCodegen.o
> utils/hsc2hs/dist-install/build/UtilsCodegen.o
> utils/hsc2hs/dist-install/build/Common.o
> utils/hsc2hs/dist-install/build/C.o
> utils/hsc2hs/dist-install/build/Flags.o
> utils/hsc2hs/dist-install/build/Paths_hsc2hs.o
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/unix/dist-install/build/libHSunix-2.6.1.0.a(Signals.o):
> In function `c4Uj_info':
> ghc23292_0.c:(.text+0x20d4): undefined reference to `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/unix/dist-install/build/libHSunix-2.6.1.0.a(Signals.o):
> In function `c4XO_info':
> ghc23292_0.c:(.text+0x248c): undefined reference to `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Buffer.o):
> In function `c2Xe_info':
> /tmp/ghc20698_0/ghc20698_0.bc:(.text+0x2558): undefined reference to
> `__aeabi_memmove'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Internals.o):
> In function `c7HG_info':
> /tmp/ghc21290_0/ghc21290_0.bc:(.text+0x5e70): undefined reference to
> `__aeabi_memmove'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Text.o):
> In function `base_GHCziIOziHandleziText_zdwccall_info':
> /tmp/ghc21310_0/ghc21310_0.bc:(.text+0x378): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Text.o):
> In function `c7s6_info':
> /tmp/ghc21310_0/ghc21310_0.bc:(.text+0x4c4): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Text.o):
> In function `c9cs_info':
> /tmp/ghc21310_0/ghc21310_0.bc:(.text+0x7588): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Text.o):
> In function `c9nS_info':
> /tmp/ghc21310_0/ghc21310_0.bc:(.text+0x8318): undefined reference to
> `__aeabi_memcpy'
> /tmp/ghc21310_0/ghc21310_0.bc:(.text+0x83e4): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Text.o):/tmp/ghc21310_0/ghc21310_0.bc:(.text+0xa2ec):
> more undefined references to `__aeabi_memcpy' follow
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c1Uf_info':
> /tmp/ghc20805_0/ghc20805_0.bc:(.text+0x5a8): undefined reference to
> `__aeabi_memmove'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c1Wm_info':
> /tmp/ghc20805_0/ghc20805_0.bc:(.text+0x7dc): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Utils.o):
> In function `c205_info':
> /tmp/ghc20795_0/ghc20795_0.bc:(.text+0xcf8): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Utils.o):
> In function `c21k_info':
> /tmp/ghc20795_0/ghc20795_0.bc:(.text+0xe30): undefined reference to
> `__aeabi_memmove'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Internals.o):
> In function `c89F_info':
> ghc21121_0.c:(.text+0x7a20): undefined reference to `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c4uI_info':
> /tmp/ghc21061_0/ghc21061_0.bc:(.text+0x23e0): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c4DF_info':
> /tmp/ghc21061_0/ghc21061_0.bc:(.text+0x2e28): undefined reference to
> `__aeabi_memmove'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c4Qo_info':
> /tmp/ghc21061_0/ghc21061_0.bc:(.text+0x33cc): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c59t_info':
> /tmp/ghc21061_0/ghc21061_0.bc:(.text+0x4108): undefined reference to
> `__aeabi_memcpy'
> /home/singpolyma/src/ghc-qnx-nto-arm/libraries/base/dist-install/build/libHSbase-4.7.0.0.a(Array.o):
> In function `c58Y_info':
> /tmp/ghc21061_0/ghc21061_0.bc:(.text+0x42d4): undefined reference to
> `__aeabi_memcpy'
> collect2: ld returned 1 exit status
> make[1]: *** [utils/hsc2hs/dist-install/build/tmp/hsc2hs] Error 1
> make: *** [all] Error 2
>
> So... it can't find memcpy for some reason?
>
> I'm about to try with llvm-3.2 to see if that's different.

I don't think different llvm will help here. This is purely linker 
issue. Somehow you link with different set of libraries probably. Anyway 
it looks like: 
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3934.html 
-- this function is part of common ARM EABI so it should be implemented 
by your C compiler tool-chain. You just need to find out where it is and 
how you may use it.

Karel




More information about the Glasgow-haskell-users mailing list