=?koi8-r?Q?Re[2]=3A_[Gc]_On_cancellation, _GC=5Fthread=5Fexit=5Fproc_is_never_called?=

Ivan Maidanski ivmai at mail.ru
Thu Apr 8 00:53:14 PDT 2010


Thu, 08 Apr 2010 14:33:31 +0900 NIIBE Yutaka <gniibe at fsij.org>:

> NIIBE Yutaka wrote:
> > So, here is second try
> 
> Then, I thought that change of the header file should be avoided.  It
> is one of header files to be installed.

This seems to be equivalent to your first patch. Did you read http://permalink.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/3824 ?
Why not to pull GC_inner_start_routine out into a separate file that isn't compiled with -fexceptions?

> 
> Here is the change I am using now.
> 
> Index: Makefile.am
> ===================================================================
> RCS file: /cvsroot/bdwgc/bdwgc/Makefile.am,v
> retrieving revision 1.32
> diff -u -r1.32 Makefile.am
> --- Makefile.am	23 Mar 2010 07:53:03 -0000	1.32
> +++ Makefile.am	8 Apr 2010 05:28:50 -0000
> @@ -69,6 +69,8 @@
> 
>  if PTHREADS
>  libgc_la_SOURCES += pthread_support.c pthread_stop_world.c
> + at UNDEFINE__EXCEPTIONS_TRUE@pthread_support.o: DEFS += -U__EXCEPTIONS
> + at UNDEFINE__EXCEPTIONS_TRUE@pthread_support.lo: DEFS += -U__EXCEPTIONS
>  endif
> 
>  if DARWIN_THREADS
> Index: configure.ac
> ===================================================================
> RCS file: /cvsroot/bdwgc/bdwgc/configure.ac,v
> retrieving revision 1.60
> diff -u -r1.60 configure.ac
> --- configure.ac	19 Feb 2010 20:07:49 -0000	1.60
> +++ configure.ac	8 Apr 2010 05:28:50 -0000
> @@ -115,10 +115,16 @@
>  	fi
>  	AC_DEFINE(THREAD_LOCAL_ALLOC)
>  	AC_MSG_WARN("Explicit GC_INIT() calls may be required.");
> +	if test "$GCC" = yes; then
> +	  undefine__exceptions=true
> +	fi
>  	;;
>       *-*-linux*)
>  	AC_DEFINE(GC_LINUX_THREADS)
>  	AC_DEFINE(_REENTRANT)
> +	if test "$GCC" = yes; then
> +	  undefine__exceptions=true
> +	fi
>  	;;
>       *-*-aix*)
>  	AC_DEFINE(GC_AIX_THREADS)
> @@ -270,6 +276,7 @@
>  AM_CONDITIONAL(DARWIN_THREADS, test x$darwin_threads = xtrue)
>  AM_CONDITIONAL(WIN32_THREADS, test x$win32_threads = xtrue)
>  AM_CONDITIONAL(OPENBSD_THREADS, test x$openbsd_threads = xtrue)
> +AM_CONDITIONAL(UNDEFINE__EXCEPTIONS, test x$undefine__exceptions = xtrue)
> 
>  case "$host" in
>     powerpc-*-darwin*)
> -- 
> _______________________________________________
> Gc mailing list
> Gc at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> 


More information about the Gc mailing list