File gc-7.2alpha6-gcinit.patch of Package mingw64-gc

diff -ur gc-7.2alpha3/malloc.c gc-7.2alpha3/malloc.c
--- gc-7.2alpha3/malloc.c	2009-10-22 19:52:36.000000000 +0200
+++ gc-7.2alpha3/malloc.c	2009-11-13 17:31:24.000000000 +0100
@@ -239,6 +239,9 @@
     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]);
Only in gc-7.2alpha3: malloc.c.orig
diff -ur gc-7.2alpha3/thread_local_alloc.c gc-7.2alpha3/thread_local_alloc.c
--- gc-7.2alpha3/thread_local_alloc.c	2009-10-22 19:52:36.000000000 +0200
+++ gc-7.2alpha3/thread_local_alloc.c	2009-11-13 17:31:24.000000000 +0100
@@ -137,6 +137,9 @@
     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, FALSE)) {
Only in gc-7.2alpha3: thread_local_alloc.c.orig
openSUSE Build Service is sponsored by