GNU bug report logs - #10201
emacs-24.0.92 problem on MirBSD 10

Previous Next

Package: emacs;

Reported by: beebe <at> math.utah.edu

Date: Sat, 3 Dec 2011 05:46:01 UTC

Severity: normal

Tags: moreinfo, patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: bug-gnu-emacs <at> gnu.org
Cc: "Nelson H. F. Beebe" <beebe <at> math.utah.edu>
Subject: Re: emacs-24.0.92 problem on MirBSD 10
Date: Fri, 02 Dec 2011 21:44:56 -0800
[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 <at> 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 <at> 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





This bug report was last modified 13 years and 219 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.