Massive patch for the first months work adding System FC to GHC #15
[ghc-hetmet.git] / rts / Linker.c
index 3cfd2a8..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>
@@ -333,6 +334,7 @@ typedef struct _RtsSymbolVal {
       Sym(mktime)                               \
       Sym(_imp___timezone)                      \
       Sym(_imp___tzname)                        \
+      Sym(_imp__tzname)                         \
       Sym(_imp___iob)                           \
       Sym(_imp___osver)                         \
       Sym(localtime)                            \
@@ -507,6 +509,7 @@ typedef struct _RtsSymbolVal {
       SymX(forkOS_createThread)                        \
       SymX(freeHaskellFunctionPtr)             \
       SymX(freeStablePtr)                      \
+      SymX(getOrSetTypeableStore)              \
       SymX(gcdIntegerzh_fast)                  \
       SymX(gcdIntegerIntzh_fast)               \
       SymX(gcdIntzh_fast)                      \
@@ -824,7 +827,7 @@ initFreeList(rootEntry *table, nat n, rootEntry *free)
   root_ptr_free = table;
 }
 
-void
+static void
 initRootPtrTable(void)
 {
   if (RPT_size > 0)
@@ -838,7 +841,7 @@ initRootPtrTable(void)
 }
 
 
-void
+static void
 enlargeRootPtrTable(void)
 {
   nat old_RPT_size = RPT_size;
@@ -2281,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;