| 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 |
| + |
| /* |