summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2014-08-23 13:11:23 +0300
committerSergei Trofimovich <slyfox@gentoo.org>2014-08-23 14:31:22 +0300
commit104a66a461f4f89b8e5ad9c829923bb7ca8ceddb (patch)
treef1ec4dfc341b87ed03be44ab7f7a7142a6cd8630
parent2fcb36e41f46f80f75e2f245a1a45457f0f7d6d2 (diff)
downloadhaskell-104a66a461f4f89b8e5ad9c829923bb7ca8ceddb.tar.gz
rts/Linker.c: declare 'deRefStablePtr' as an exported 'rts' symbol
$ inplace/bin/ghc-stage2 -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts -optc-fno-builtin -fno-ghci-history \ testsuite/tests/ffi/should_run/T4038.hs --interactive -v0 -ignore-dot-ghci +RTS -I0.1 -RTS *Main> main <interactive>: /tmp/ghc16668_0/ghc16668_5.o: unknown symbol `deRefStablePtr' The reference to 'deRefStablePtr' is generated by 'compiler/deSugar/DsForeign.lhs': the_cfun = case maybe_target of Nothing -> text "(StgClosure*)deRefStablePtr(the_stableptr)" Just hs_fn -> char '&' <> ppr hs_fn <> text "_closure" Patch fixes all broken tests using 'import wrapper': TEST="ffi013 ffi010 ffi011 ffi005 ffi020 ffi006 ffi019 fed001 T1679 T4038" Tests manifested as broken only in DYNAMIC_GHC_PROGRAMS=NO builds, where GHCi's custom linker is used instead of system's linker. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--rts/Linker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index e97580d61a..b24be580b4 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -1092,6 +1092,7 @@ typedef struct _RtsSymbolVal {
SymI_HasProto(__word_encodeFloat) \
SymI_HasProto(stg_atomicallyzh) \
SymI_HasProto(barf) \
+ SymI_HasProto(deRefStablePtr) \
SymI_HasProto(debugBelch) \
SymI_HasProto(errorBelch) \
SymI_HasProto(sysErrorBelch) \