Massive patch for the first months work adding System FC to GHC #15
[ghc-hetmet.git] / rts / Linker.c
index 8a82190..933f4dd 100644 (file)
@@ -27,6 +27,7 @@
 #include "Schedule.h"
 #include "Storage.h"
 #include "Sparks.h"
+#include "RtsTypeable.h"
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -508,6 +509,7 @@ typedef struct _RtsSymbolVal {
       SymX(forkOS_createThread)                        \
       SymX(freeHaskellFunctionPtr)             \
       SymX(freeStablePtr)                      \
+      SymX(getOrSetTypeableStore)              \
       SymX(gcdIntegerzh_fast)                  \
       SymX(gcdIntegerIntzh_fast)               \
       SymX(gcdIntzh_fast)                      \
@@ -825,7 +827,7 @@ initFreeList(rootEntry *table, nat n, rootEntry *free)
   root_ptr_free = table;
 }
 
-void
+static void
 initRootPtrTable(void)
 {
   if (RPT_size > 0)
@@ -839,7 +841,7 @@ initRootPtrTable(void)
 }
 
 
-void
+static void
 enlargeRootPtrTable(void)
 {
   nat old_RPT_size = RPT_size;
@@ -2282,6 +2284,8 @@ ocGetNames_PEi386 ( ObjectCode* oc )
           && 0 != strcmp(".stabstr", sectab_i->Name)
           /* ignore constructor section for now */
           && 0 != strcmp(".ctors", sectab_i->Name)
+          /* ignore section generated from .ident */
+          && 0!= strcmp("/4", sectab_i->Name)
          ) {
          errorBelch("Unknown PEi386 section name `%s' (while processing: %s)", sectab_i->Name, oc->fileName);
          return 0;