Ben Walton wrote:
> Thanks for saving me the legwork on this. The patch does correct the
> problem. I appreciate the quick turnaround on this.
Thanks to both of you.
I've just updated coreutils to use the latest from gnulib,
so this will be fixed in coreutils-8.11.
However, contrary to most NEWS-worthy bugs, I have not tried
to determine when this one was introduced. From the initial report,
I'm assuming it was introduced in coreutils-8.8, and wrote that in NEWS.
Ben, can you confirm that touch from coreutils-8.7 did not have this problem?
I'll wait for confirmation before pushing.
>From d8ed00cb61fede223b1450e53b7d6c21edff4b43 Mon Sep 17 00:00:00 2001
From: Jim Meyering
Date: Sun, 13 Mar 2011 09:56:53 +0100
Subject: [PATCH] touch: update to latest gnulib to fix Solaris 10 touch segfault
* gnulib: Update to latest, to address http://debbugs.gnu.org/8230.
When built on Solaris 9 and run on Solaris 10, touch would segfault.
Reported by Ben Walton.
* bootstrap: Resync from gnulib.
* tests/init.sh: Likewise.
* NEWS (Bug fixes): Mention this.
---
NEWS |3 +++
THANKS.in |1 +
bootstrap |6 +++---
gnulib|2 +-
tests/init.sh | 34 +-
5 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/NEWS b/NEWS
index 5770410..9ceaa06 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,9 @@ GNU coreutils NEWS-*-
outline -*-
sort no longer spawns 7 worker threads to sort 16 lines
[bug introduced in coreutils-8.6]
+ touch built on Solaris 9 would segfault when run on Solaris 10
+ [bug introduced in coreutils-8.8]
+
wc would dereference a NULL pointer upon an early out-of-memory error
[bug introduced in coreutils-7.1]
diff --git a/THANKS.in b/THANKS.in
index fe53c44..fbc4153 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -71,6 +71,7 @@ Barry Kelly
http://barrkel.blogspot.com/
Bauke Jan Douma bjdo...@xs4all.nl
Ben Ellistonb...@air.net.au
Ben Harris bj...@netbsd.org
+Ben Walton bwal...@artsci.utoronto.ca
Bengt Martenssonbe...@mathematik.uni-bremen.de
Benjamin Cutler cutle...@simla.colostate.edu
Bernard Giroud bernard.gir...@creditlyonnais.ch
diff --git a/bootstrap b/bootstrap
index e9ec11e..f004ad3 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
# Print a version string.
-scriptversion=2011-01-21.16; # UTC
+scriptversion=2011-03-03.12; # UTC
# Bootstrap this package from checked-out sources.
@@ -874,7 +874,7 @@ grep -E '^[ ]*AC_CONFIG_HEADERS?\>' configure.ac
>/dev/null ||
for command in \
libtool \
- "${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" \
+ "${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
"${AUTOCONF-autoconf} --force" \
"${AUTOHEADER-autoheader} --force" \
"${AUTOMAKE-automake} --add-missing --copy --force-missing"
@@ -885,7 +885,7 @@ do
command="${LIBTOOLIZE-libtoolize} -c -f"
fi
echo "$0: $command ..."
- $command || exit
+ eval "$command" || exit
done
diff --git a/gnulib b/gnulib
index 6f0680e..68d757e 16
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 6f0680eb29a1737d704a1df26aafc00490cd34d8
+Subproject commit 68d757e2cb228590d46961cbf3e9ec7d4460e335
diff --git a/tests/init.sh b/tests/init.sh
index 44be35b..71c6516 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -74,10 +74,10 @@ Exit () { set +e; (exit $1); exit $1; }
# the reason for skip/failure to console, rather than to the .log files.
: ${stderr_fileno_=2}
-warn_() { echo "$@" 1>&$stderr_fileno_; }
-fail_() { warn_ "$ME_: failed test: $@"; Exit 1; }
-skip_() { warn_ "$ME_: skipped test: $@"; Exit 77; }
-framework_failure_() { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+warn_ () { echo "$@" 1>&$stderr_fileno_; }
+fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
# Sanitize this shell to POSIX mode, if possible.
DUALCASE=1; export DUALCASE
@@ -193,7 +193,7 @@ fi
test -n "$EXEEXT" && shopt -s expand_aliases
# Enable glibc's malloc-perturbing option.
-# This is cheap and useful for exposing code that depends on the fact that
+# This is useful for exposing code that depends on the fact that
# malloc-related functions often return memory that is mostly zeroed.
# If you have the time and cycles, use valgrind to do an even better job.
: ${MALLOC_PERTURB_=87}
@@ -202,22 +202,22 @@ export MALLOC_PERTURB_
# This is a stub function that is run upon trap (upon regular exit and
# interrupt). Override it with a per-test function, e.g., to unmount
# a partition, or to undo any other global state changes.
-cleanup_() { :; }
+cleanup_ () { :; }
if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
- compare() { diff -