forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
13.5.1-gc74.patch
57 lines (55 loc) · 1.94 KB
/
13.5.1-gc74.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
diff -r -U1 ecl-13.5.1.orig/src/aclocal.m4 ecl-13.5.1/src/aclocal.m4
--- ecl-13.5.1.orig/src/aclocal.m4 2013-05-28 03:37:36.000000000 +0700
+++ ecl-13.5.1/src/aclocal.m4 2014-01-12 00:34:36.663129950 +0700
@@ -942,2 +942,6 @@
fi
+ if test "${system_boehm}" = "yes"; then
+ AC_CHECK_LIB( [gc], [GC_set_start_callback],
+ [AC_DEFINE(HAVE_GC_SET_START_CALLBACK)], [] )
+ fi
AC_MSG_CHECKING( [whether we can use the existing Boehm-Weiser library] )
diff -r -U1 ecl-13.5.1.orig/src/c/alloc_2.d ecl-13.5.1/src/c/alloc_2.d
--- ecl-13.5.1.orig/src/c/alloc_2.d 2013-05-28 03:37:36.000000000 +0700
+++ ecl-13.5.1/src/c/alloc_2.d 2014-01-12 00:43:44.177106924 +0700
@@ -33,2 +33,9 @@
+static void (*GC_old_start_callback)(void) = NULL;
+#ifdef HAVE_GC_START_CALLBACK
+extern void GC_set_start_callback(void *);
+extern void *GC_get_start_callback(void *);
+#else
+extern void *GC_start_call_back(void);
+#endif
static void gather_statistics();
@@ -752,3 +759,2 @@
extern void (*GC_push_other_roots)();
-extern void (*GC_start_call_back)();
static void (*old_GC_push_other_roots)();
@@ -1092,3 +1098,9 @@
GC_push_other_roots = stacks_scanner;
+#ifdef HAVE_GC_SET_START_CALLBACK
+ GC_old_start_callback = GC_get_start_callback();
+ GC_set_start_callback(gather_statistics);
+#else
+ GC_old_start_callback = GC_start_call_back;
GC_start_call_back = (void (*)())gather_statistics;
+#endif
GC_java_finalization = 1;
@@ -1200,3 +1212,3 @@
*/
-#if 1 /*GBC_BOEHM == 0*/
+#if GBC_BOEHM == 0
extern int GC_print_stats;
@@ -1279,2 +1291,4 @@
}
+ if (GC_old_start_callback)
+ GC_old_start_callback();
}
Только в ecl-13.5.1/src/c: alloc_2.d.orig
diff -r -U1 ecl-13.5.1.orig/src/h/config.h.in ecl-13.5.1/src/h/config.h.in
--- ecl-13.5.1.orig/src/h/config.h.in 2013-05-28 03:37:36.000000000 +0700
+++ ecl-13.5.1/src/h/config.h.in 2014-01-12 00:34:36.663129950 +0700
@@ -310,2 +310,5 @@
+/* GC_set_start_callback */
+#define HAVE_GC_SET_START_CALLBACK
+
/*