* bug#10201: emacs-24.0.92 problem on MirBSD 10
[not found] <CMM.0.95.0.1322877694.beebe@psi.math.utah.edu>
@ 2011-12-03 5:44 ` Paul Eggert
2011-12-16 23:49 ` Glenn Morris
0 siblings, 1 reply; 3+ messages in thread
From: Paul Eggert @ 2011-12-03 5:44 UTC (permalink / raw)
To: 10201; +Cc: Nelson H. F. Beebe
[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
^ permalink raw reply [flat|nested] 3+ messages in thread