[project @ 2001-04-02 21:11:14 by panne]
[ghc-hetmet.git] / ghc / rts / Linker.c
index 308df05..2271906 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Linker.c,v 1.32 2001/02/28 10:03:42 sewardj Exp $
+ * $Id: Linker.c,v 1.36 2001/04/02 07:22:50 qrczak Exp $
  *
  * (c) The GHC Team, 2000
  *
@@ -57,6 +57,19 @@ typedef struct _RtsSymbolVal {
 } 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
+         
+
 #define RTS_SYMBOLS                            \
       SymX(MainRegTable)                       \
       Sym(stg_gc_enter_1)                      \
@@ -125,7 +138,7 @@ typedef struct _RtsSymbolVal {
       SymX(stackOverflow)                      \
       SymX(int2Integerzh_fast)                 \
       SymX(word2Integerzh_fast)                        \
-      SymX(mkForeignObjzh_fast)                        \
+      Maybe_ForeignObj                         \
       SymX(__encodeDouble)                     \
       SymX(decodeDoublezh_fast)                        \
       SymX(decodeFloatzh_fast)                 \
@@ -146,9 +159,7 @@ typedef struct _RtsSymbolVal {
       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)                                \
@@ -166,9 +177,12 @@ typedef struct _RtsSymbolVal {
       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)             \
@@ -192,12 +206,41 @@ typedef struct _RtsSymbolVal {
       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 */