Blob Blame History Raw
diff -up gc-7.1/thread_local_alloc.c.gcinit gc-7.1/thread_local_alloc.c
--- gc-7.1/thread_local_alloc.c.gcinit	2007-10-24 19:22:37.000000000 -0500
+++ gc-7.1/thread_local_alloc.c	2008-10-15 07:13:45.000000000 -0500
@@ -141,6 +141,9 @@ void * GC_malloc(size_t bytes)
     void *result;
     void **tiny_fl;
 
+    if (!GC_is_initialized)
+      GC_init();
+
 #   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC)
       GC_key_t k = GC_thread_key;
       if (EXPECT(0 == k, 0)) {
diff -up gc-7.1/malloc.c.gcinit gc-7.1/malloc.c
--- gc-7.1/malloc.c.gcinit	2008-03-10 00:33:41.000000000 -0500
+++ gc-7.1/malloc.c	2008-10-15 07:12:31.000000000 -0500
@@ -263,6 +263,9 @@ void * GC_generic_malloc(size_t lb, int 
     size_t lg;
     DCL_LOCK_STATE;
 
+    if (!GC_is_initialized)
+	GC_init();
+
     if(SMALL_OBJ(lb)) {
 	lg = GC_size_map[lb];
 	opp = (void **)&(GC_objfreelist[lg]);