/* -----------------------------------------------------------------------------
- * $Id: Linker.c,v 1.32 2001/02/28 10:03:42 sewardj Exp $
+ * $Id: Linker.c,v 1.39 2001/04/24 15:49:19 qrczak Exp $
*
* (c) The GHC Team, 2000
*
} RtsSymbolVal;
+#if !defined(PAR)
+#define Maybe_ForeignObj SymX(mkForeignObjzh_fast)
+
+#define Maybe_Stable_Names SymX(mkWeakzh_fast) \
+ SymX(makeStableNamezh_fast) \
+ SymX(finalizzeWeakzh_fast)
+#else
+/* These are not available in GUM!!! -- HWL */
+#define Maybe_ForeignObj
+#define Maybe_Stable_Names
+#endif
+
+#if !defined (mingw32_TARGET_OS)
+#define RTS_POSIX_ONLY_SYMBOLS \
+ SymX(stg_sig_install) \
+ Sym(nocldstop)
+#else
+#define RTS_POSIX_ONLY_SYMBOLS
+#endif
+
#define RTS_SYMBOLS \
SymX(MainRegTable) \
Sym(stg_gc_enter_1) \
Sym(stg_gen_chk) \
SymX(stg_exit) \
SymX(stg_update_PAP) \
+ SymX(stg_ap_1_upd_info) \
SymX(stg_ap_2_upd_info) \
SymX(stg_ap_3_upd_info) \
SymX(stg_ap_4_upd_info) \
SymX(stackOverflow) \
SymX(int2Integerzh_fast) \
SymX(word2Integerzh_fast) \
- SymX(mkForeignObjzh_fast) \
+ Maybe_ForeignObj \
SymX(__encodeDouble) \
SymX(decodeDoublezh_fast) \
SymX(decodeFloatzh_fast) \
SymX(orIntegerzh_fast) \
SymX(xorIntegerzh_fast) \
SymX(complementIntegerzh_fast) \
- SymX(mkWeakzh_fast) \
- SymX(makeStableNamezh_fast) \
- SymX(finalizzeWeakzh_fast) \
+ Maybe_Stable_Names \
SymX(blockAsyncExceptionszh_fast) \
SymX(unblockAsyncExceptionszh_fast) \
SymX(isDoubleNaN) \
SymX(__gmpz_cmp_ui) \
SymX(__gmpz_cmp) \
SymX(__gmpn_gcd_1) \
+ SymX(__gmpz_get_si) \
+ SymX(__gmpz_get_ui) \
SymX(prog_argv) \
SymX(prog_argc) \
SymX(resetNonBlockingFd) \
+ SymX(performGC) \
SymX(getStablePtr) \
SymX(stable_ptr_table) \
SymX(shutdownHaskellAndExit) \
SymX(defaultsHook) \
SymX(PreTraceHook) \
SymX(PostTraceHook) \
- SymX(stg_sig_install) \
- Sym(nocldstop) \
SymX(createAdjustor) \
+ SymX(rts_mkChar) \
SymX(rts_mkInt) \
+ SymX(rts_mkInt8) \
+ SymX(rts_mkInt16) \
+ SymX(rts_mkInt32) \
+ SymX(rts_mkInt64) \
+ SymX(rts_mkWord) \
+ SymX(rts_mkWord8) \
+ SymX(rts_mkWord16) \
+ SymX(rts_mkWord32) \
+ SymX(rts_mkWord64) \
+ SymX(rts_mkPtr) \
+ SymX(rts_mkFloat) \
+ SymX(rts_mkDouble) \
SymX(rts_mkStablePtr) \
+ SymX(rts_mkBool) \
+ SymX(rts_mkString) \
SymX(rts_apply) \
+ SymX(rts_mkAddr) \
+ SymX(rts_getChar) \
+ SymX(rts_getInt) \
+ SymX(rts_getInt32) \
+ SymX(rts_getWord) \
+ SymX(rts_getWord32) \
+ SymX(rts_getPtr) \
+ SymX(rts_getFloat) \
+ SymX(rts_getDouble) \
+ SymX(rts_getStablePtr) \
+ SymX(rts_getBool) \
+ SymX(rts_getAddr) \
+ SymX(rts_eval) \
+ SymX(rts_eval_) \
SymX(rts_evalIO) \
- SymX(rts_checkSchedStatus) \
- SymX(rts_getInt)
+ SymX(rts_evalLazyIO) \
+ SymX(rts_checkSchedStatus)
#ifndef SUPPORT_LONG_LONGS
#define RTS_LONG_LONG_SYMS /* nothing */
#else
-#define RTS_LONG_LONG_SYMS \
+#define RTS_LONG_LONG_SYMS \
SymX(stg_gtWord64) \
SymX(stg_geWord64) \
SymX(stg_eqWord64) \
#define Sym(vvv) extern void (vvv);
#define SymX(vvv) /**/
RTS_SYMBOLS
+RTS_POSIX_ONLY_SYMBOLS
#undef Sym
#undef SymX
static RtsSymbolVal rtsSyms[] = {
RTS_SYMBOLS
RTS_LONG_LONG_SYMS
+ RTS_POSIX_ONLY_SYMBOLS
{ 0, 0 } /* sentinel */
};