bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
From: Bruno Haible <bruno@clisp.org>
To: bug-gnulib@gnu.org
Cc: Jim Meyering <jim@meyering.net>, grep-devel@gnu.org
Subject: Re: grep-3.4-almost.19-ff30 on Solaris 10
Date: Thu, 17 Sep 2020 22:53:27 +0200	[thread overview]
Message-ID: <1774887.AL43Kk9qlX@omega> (raw)
In-Reply-To: <m2imce1gpu.fsf@meyering.net>

On Solaris 10, the configuration aborts:

  $ ../configure
  ...
  checking for raise... yes
  checking for sigprocmask... 
  ../configure: test: argument expected

The reason is that gl_cv_func_sigprocmask_v16 is not set in the statement
  if test $gl_cv_func_sigprocmask_v16 != yes; then
(signalblocking.m4 line 28).

Why? Because the Solaris /bin/sh, unlike other shells, does redirected
compound statements in a subshell.

  /bin/sh -c '{ gl_foo=yes; } 6>/dev/null; echo $gl_foo'

produces 'yes' on most platforms, but empty output on Solaris 10.

This patch fixes it.


2020-09-17  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
	* m4/gnulib-common.m4 (GL_TMP_FD): New macro.
	(gl_SILENT): Use 'exec', not a compound statement, to redirect
	AS_MESSAGE_FD.

diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index 33e56fa..35be4d3 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 57
+# gnulib-common.m4 serial 58
 dnl Copyright (C) 2007-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -630,13 +630,18 @@ AC_DEFUN([gl_BIGENDIAN],
   AC_C_BIGENDIAN
 ])
 
+# A temporary file descriptor.
+# Must be less than 10, because dash 0.5.8 does not support redirections
+# with multi-digit file descriptors.
+m4_define([GL_TMP_FD], 9)
+
 # gl_SILENT(command)
 # executes command, but without the normal configure output.
 AC_DEFUN([gl_SILENT],
 [
-  {
-    $1
-  } AS_MESSAGE_FD>/dev/null
+  exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null
+  $1
+  exec AS_MESSAGE_FD>&GL_TMP_FD AS_MESSAGE_FD>&-
 ])
 
 # gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)



  parent reply	other threads:[~2020-09-17 20:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <m2imce1gpu.fsf@meyering.net>
     [not found] ` <CAH8yC8n4tmO6__C=zP0JZRmc5_ddg7L6uGAuLfjV_Bm+i3oYsA@mail.gmail.com>
2020-09-17 18:23   ` [platform-testers] new snapshot available: grep-3.4-almost.19-ff30 Paul Eggert
2020-09-17 20:53 ` Bruno Haible [this message]
2020-09-18  2:26   ` grep-3.4-almost.19-ff30 on Solaris 10 Paul Eggert
2020-09-18  9:01     ` Bruno Haible
2020-09-18 16:06       ` Paul Eggert
2020-09-19  0:25         ` gl_SILENT Bruno Haible
2020-09-17 21:07 ` [platform-testers] new snapshot available: grep-3.4-almost.19-ff30 Jeffrey Walton
2020-09-18 17:36   ` Paul Eggert
     [not found] ` <CAH8yC8mn1YMN+fgzJBKEk9+y0qTqfO2zHbWUyO2ekVq-PimX3Q@mail.gmail.com>
2020-09-17 14:40   ` Jim Meyering
2020-09-17 22:46   ` Bruno Haible
2020-09-19 13:12   ` Bruno Haible
2020-09-19 14:21     ` Jeffrey Walton
2020-09-19 19:15       ` Bruno Haible
2020-09-20 19:28     ` Bruno Haible

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.gnu.org/mailman/listinfo/bug-gnulib

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1774887.AL43Kk9qlX@omega \
    --to=bruno@clisp.org \
    --cc=bug-gnulib@gnu.org \
    --cc=grep-devel@gnu.org \
    --cc=jim@meyering.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).