bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10201: emacs-24.0.92 problem on MirBSD 10


From: Paul Eggert
Subject: bug#10201: emacs-24.0.92 problem on MirBSD 10
Date: Fri, 02 Dec 2011 21:44:56 -0800
User-agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111124 Thunderbird/8.0

[Following up on bug-gnu-emacs, so that this gets a Bug#.]

In <http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>
on 12/02/11 18:01, Nelson H. F. Beebe wrote:

> 599c599
> < #define HAVE_PTHREAD_SIGMASK 1
> ---
> /* #define HAVE_PTHREAD_SIGMASK 1 */

Thanks for the bug report.  Why was this HAVE_PTHREAD_SIGMASK
patch needed?  Your email doesn't say.  MirBSD has
pthread_sigmask, according to
<https://www.mirbsd.org/htman/i386/man3/pthread_sigmask.htm>,
so pthread_sigmask should work.


> This resulted in link failure becaue gmalloc.c assumes that
> pthread_atfork() is available when HAVE_PTHREAD is defined, 
> but it is not in the MirBSD /usr/lib/libpthread.a library:

Thanks.  Does the following patch fix things for you?  If you
don't have the autotools installed you can simulate it by
substituting "pthread_atfork" for every instance of "pthread_self"
in the file "configure".

=== modified file 'ChangeLog'
--- ChangeLog   2011-12-03 04:06:45 +0000
+++ ChangeLog   2011-12-03 05:37:32 +0000
@@ -1,5 +1,10 @@
 2011-12-03  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * configure.in (HAVE_PTHREAD): Check for pthread_atfork
+       if linking to gmalloc.c.  This should prevents a build failure on
+       MirBSD 10 reported by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.
+
        * .bzrignore: Add config.cache.
 
 2011-11-27  Jan Djärv  <jan.h.d@swipnet.se>

=== modified file 'configure.in'
--- configure.in        2011-11-30 16:23:05 +0000
+++ configure.in        2011-12-03 05:18:33 +0000
@@ -1717,7 +1717,15 @@
 LIB_PTHREAD=
 AC_CHECK_HEADERS(pthread.h)
 if test "$ac_cv_header_pthread_h"; then
-  AC_CHECK_LIB(pthread, pthread_self, HAVE_PTHREAD=yes)
+  dnl gmalloc.c uses pthread_atfork, which is not available on older-style
+  dnl hosts such as MirBSD 10, so test for pthread_atfork instead of merely
+  dnl testing for pthread_self if Emacs uses gmalloc.c.
+  if test "$GMALLOC_OBJ" = gmalloc.o; then
+    emacs_pthread_function=pthread_atfork
+  else
+    emacs_pthread_function=pthread_self
+  fi
+  AC_CHECK_LIB(pthread, $emacs_pthread_function, HAVE_PTHREAD=yes)
 fi
 if test "$HAVE_PTHREAD" = yes; then
   case "${canonical}" in






reply via email to

[Prev in Thread] Current Thread [Next in Thread]