bug-gnulib
[Top][All Lists]
Advanced

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

Re: ./m4/pthread.m4 causes coreutils build failure on FreeBSD 9


From: Paul Eggert
Subject: Re: ./m4/pthread.m4 causes coreutils build failure on FreeBSD 9
Date: Wed, 04 Jul 2012 21:29:52 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

Thanks for reporting this.  Does the following patch fix things?

---
 ChangeLog     |    9 +++++++++
 m4/pthread.m4 |   33 +++++++--------------------------
 2 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cd3ba33..a332d7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-07-04  Paul Eggert  <address@hidden>
+
+       pthread: check for pthread_create, not pthread_join
+       * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
+       pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
+       pthread_join in libc.  I hope this removes the need for all the
+       OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
+
 2012-07-04  Jim Meyering  <address@hidden>
 
        parse-datetime: fix failure to diagnose invalid input
diff --git a/m4/pthread.m4 b/m4/pthread.m4
index 42a2a69..99c1d20 100644
--- a/m4/pthread.m4
+++ b/m4/pthread.m4
@@ -1,4 +1,4 @@
-# pthread.m4 serial 3
+# pthread.m4 serial 4
 dnl Copyright (C) 2009-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -38,31 +38,12 @@ AC_DEFUN([gl_PTHREAD_CHECK],
 
    LIB_PTHREAD=
    if test $ac_cv_header_pthread_h = yes; then
-     dnl We cannot use AC_SEARCH_LIBS here, because on OSF/1 5.1 pthread_join
-     dnl is defined as a macro which expands to __phread_join, and libpthread
-     dnl contains a definition for __phread_join but none for pthread_join.
-     AC_CACHE_CHECK([for library containing pthread_join],
-       [gl_cv_search_pthread_join],
-       [gl_saved_libs="$LIBS"
-        gl_cv_search_pthread_join=
-        AC_LINK_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[#include <pthread.h>]],
-             [[pthread_join (pthread_self (), (void **) 0);]])],
-          [gl_cv_search_pthread_join="none required"])
-        if test -z "$gl_cv_search_pthread_join"; then
-          LIBS="-lpthread $gl_saved_libs"
-          AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[#include <pthread.h>]],
-               [[pthread_join (pthread_self (), (void **) 0);]])],
-            [gl_cv_search_pthread_join="-lpthread"])
-        fi
-        LIBS="$gl_saved_libs"
-       ])
-     if test "$gl_cv_search_pthread_join" != "none required"; then
-       LIB_PTHREAD="$gl_cv_search_pthread_join"
-     fi
+     gl_saved_libs=$LIBS
+     AC_SEARCH_LIBS([pthread_create], [pthread],
+       [if test "$ac_cv_search_pthread_create" != "none required"; then
+          LIB_PTHREAD="$ac_cv_search_pthread_create"
+        fi])
+     LIBS="$gl_saved_libs"
    fi
    AC_SUBST([LIB_PTHREAD])
 
-- 
1.7.6.5




reply via email to

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