On Mon, 7 May 2018 21:10:21 +0200 Christian Weisgerber <na...@mips.inka.de> wrote:
> lang/ghc configure: C compiler cannot create executables ghc is kind of mixed beast. It detects capabilities of platform LD, but then links using C compiler usually. So even if I force usage of ld.lld on recent -current with GHC HEAD, it still uses binutils ld as this is called by cc itself. The common error here is a pass of --build-id=none to binutils ld as --build-id is detected as supported by lld, but then cc calls /usr/bin/ld which does not support it. Anyway, mv ld ld.binutils; ln -s ld.ldd ld solves this issue and at least for Hello World example, built GHC HEAD runs fine. fujitsu$ ../inplace/bin/ghc-stage2 -optl=-v -optl=-Wl,-v -dynamic --make HelloWorld.lhs [1 of 1] Compiling Main ( HelloWorld.lhs, HelloWorld.o ) Linking HelloWorld ... OpenBSD clang version 6.0.0 (tags/RELEASE_600/final) (based on LLVM 6.0.0) Target: amd64-unknown-openbsd6.3 Thread model: posix InstalledDir: /usr/bin "/usr/bin/ld" -e __start --eh-frame-hdr -Bdynamic -dynamic-linker /usr/libexec/ld.so -o HelloWorld /usr/bin/../lib/crt0.o /usr/bin/../lib/crtbegin.o -L/usr/local/build/karel/ghc-head-obsd-fix/libraries/base/dist-install/build -L/usr/local/lib -L/usr/local/build/karel/ghc-head-obsd-fix/libraries/integer-gmp/dist-install/build -L/usr/local/build/karel/ghc-head-obsd-fix/libraries/ghc-prim/dist-install/build -L/usr/local/build/karel/ghc-head-obsd-fix/rts/dist/build -L/usr/bin/../lib -L/usr/lib -z wxneeded -v -lm --gc-sections HelloWorld.o -rpath-link /usr/local/build/karel/ghc-head-obsd-fix/libraries/base/dist-install/build -rpath /usr/local/build/karel/ghc-head-obsd-fix/libraries/base/dist-install/build -rpath-link /usr/local/lib -rpath /usr/local/lib -rpath-link /usr/local/build/karel/ghc-head-obsd-fix/libraries/integer-gmp/dist-install/build -rpath /usr/local/build/karel/ghc-head-obsd-fix/libraries/integer-gmp/dist-install/build -rpath-link /usr/local/build/karel/ghc-head-obsd-fix/libraries/ghc-prim/dist-install/build -rpath /usr/local/build/karel/ghc-head-obsd-fix/libraries/ghc-prim/dist-install/build -rpath-link /usr/local/build/karel/ghc-head-obsd-fix/rts/dist/build -rpath /usr/local/build/karel/ghc-head-obsd-fix/rts/dist/build /tmp/ghc19401_0/ghc_6.o /tmp/ghc19401_0/ghc_9.o -u base_GHCziTopHandler_runIO_closure -u base_GHCziTopHandler_runNonIO_closure -u ghczmprim_GHCziTuple_Z0T_closure -u ghczmprim_GHCziTypes_True_closure -u ghczmprim_GHCziTypes_False_closure -u base_GHCziPack_unpackCString_closure -u base_GHCziWeak_runFinalizzerBatch_closure -u base_GHCziIOziException_stackOverflow_closure -u base_GHCziIOziException_heapOverflow_closure -u base_GHCziIOziException_allocationLimitExceeded_closure -u base_GHCziIOziException_blockedIndefinitelyOnMVar_closure -u base_GHCziIOziException_blockedIndefinitelyOnSTM_closure -u base_GHCziIOziException_cannotCompactFunction_closure -u base_GHCziIOziException_cannotCompactPinned_closure -u base_GHCziIOziException_cannotCompactMutable_closure -u base_ControlziExceptionziBase_nonTermination_closure -u base_ControlziExceptionziBase_nestedAtomically_closure -u base_GHCziEventziThread_blockedOnBadFD_closure -u base_GHCziConcziSync_runSparks_closure -u base_GHCziConcziIO_ensureIOManagerIsRunning_closure -u base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure -u base_GHCziConcziSignal_runHandlersPtr_closure -u base_GHCziTopHandler_flushStdHandles_closure -u base_GHCziTopHandler_runMainIO_closure -u ghczmprim_GHCziTypes_Czh_con_info -u ghczmprim_GHCziTypes_Izh_con_info -u ghczmprim_GHCziTypes_Fzh_con_info -u ghczmprim_GHCziTypes_Dzh_con_info -u ghczmprim_GHCziTypes_Wzh_con_info -u base_GHCziPtr_Ptr_con_info -u base_GHCziPtr_FunPtr_con_info -u base_GHCziInt_I8zh_con_info -u base_GHCziInt_I16zh_con_info -u base_GHCziInt_I32zh_con_info -u base_GHCziInt_I64zh_con_info -u base_GHCziWord_W8zh_con_info -u base_GHCziWord_W16zh_con_info -u base_GHCziWord_W32zh_con_info -u base_GHCziWord_W64zh_con_info -u base_GHCziStable_StablePtr_con_info -u hs_atomic_add8 -u hs_atomic_add16 -u hs_atomic_add32 -u hs_atomic_add64 -u hs_atomic_sub8 -u hs_atomic_sub16 -u hs_atomic_sub32 -u hs_atomic_sub64 -u hs_atomic_and8 -u hs_atomic_and16 -u hs_atomic_and32 -u hs_atomic_and64 -u hs_atomic_nand8 -u hs_atomic_nand16 -u hs_atomic_nand32 -u hs_atomic_nand64 -u hs_atomic_or8 -u hs_atomic_or16 -u hs_atomic_or32 -u hs_atomic_or64 -u hs_atomic_xor8 -u hs_atomic_xor16 -u hs_atomic_xor32 -u hs_atomic_xor64 -u hs_cmpxchg8 -u hs_cmpxchg16 -u hs_cmpxchg32 -u hs_cmpxchg64 -u hs_atomicread8 -u hs_atomicread16 -u hs_atomicread32 -u hs_atomicread64 -u hs_atomicwrite8 -u hs_atomicwrite16 -u hs_atomicwrite32 -u hs_atomicwrite64 -lHSbase-4.12.0.0-ghc8.5.20180514 -lHSinteger-gmp-1.0.2.0-ghc8.5.20180514 -lHSghc-prim-0.5.2.1-ghc8.5.20180514 -lHSrts-ghc8.5.20180514 -liconv -lgmp -lm -lffi -lpthread -lcompiler_rt -lc -lcompiler_rt /usr/bin/../lib/crtend.o LLD 6.0.0 (compatible with GNU linkers) fujitsu$ ldd HelloWorld HelloWorld: Start End Type Open Ref GrpRef Name 0000090265163000 0000090265168000 exe 2 0 0 HelloWorld 00000905569f0000 0000090556c18000 rlib 0 5 0 /usr/lib/libm.so.10.1 00000904d0eb4000 00000904d1872000 rlib 0 1 0 /usr/local/build/karel/ghc-head-obsd-fix/libraries/base/dist-install/build/libHSbase-4.12.0.0-ghc8.5.20180514.so 00000905470f2000 0000090547135000 rlib 0 2 0 /usr/local/build/karel/ghc-head-obsd-fix/libraries/integer-gmp/dist-install/build/libHSinteger-gmp-1.0.2.0-ghc8.5.20180514.so 0000090521aa0000 0000090521f3b000 rlib 0 3 0 /usr/local/build/karel/ghc-head-obsd-fix/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.2.1-ghc8.5.20180514.so 0000090548a65000 0000090548cd9000 rlib 0 1 0 /usr/local/build/karel/ghc-head-obsd-fix/rts/dist/build/libHSrts-ghc8.5.20180514.so 0000090551fa6000 00000905522a3000 rlib 0 2 0 /usr/local/lib/libiconv.so.6.0 00000904e19e0000 00000904e1c61000 rlib 0 3 0 /usr/local/lib/libgmp.so.10.0 00000904ea7b7000 00000904ea9bf000 rlib 0 2 0 /usr/local/lib/libffi.so.1.2 00000904fa5c0000 00000904fa7c9000 rlib 0 5 0 /usr/lib/libpthread.so.25.1 00000904a986d000 00000904a9b4e000 rlib 0 1 0 /usr/lib/libc.so.92.3 000009055b900000 000009055b900000 ld.so 0 1 0 /usr/libexec/ld.so fujitsu$ ./HelloWorld Hello world!fujitsu$