[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8230: touch dumps core on solaris 10
From: |
Jim Meyering |
Subject: |
bug#8230: touch dumps core on solaris 10 |
Date: |
Sun, 13 Mar 2011 10:11:33 +0100 |
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 <address@hidden>
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 address@hidden
Ben Elliston address@hidden
Ben Harris address@hidden
+Ben Walton address@hidden
Bengt Martensson address@hidden
Benjamin Cutler address@hidden
Bernard Giroud address@hidden
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 160000
--- 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 -u "$@"; }
+ compare () { diff -u "$@"; }
elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
- compare() { cmp -s "$@"; }
+ compare () { cmp -s "$@"; }
else
- compare() { cmp "$@"; }
+ compare () { cmp "$@"; }
fi
# An arbitrary prefix to help distinguish test directories.
-testdir_prefix_() { printf gt; }
+testdir_prefix_ () { printf gt; }
# Run the user-overridable cleanup_ function, remove the temporary
# directory and exit with the incoming value of $?.
-remove_tmp_()
+remove_tmp_ ()
{
__st=$?
cleanup_
@@ -233,7 +233,7 @@ remove_tmp_()
# contains only the specified bytes (see the case stmt below), then print
# a space-separated list of those names and return 0. Otherwise, don't
# print anything and return 1. Naming constraints apply also to DIR.
-find_exe_basenames_()
+find_exe_basenames_ ()
{
feb_dir_=$1
feb_fail_=0
@@ -266,7 +266,7 @@ find_exe_basenames_()
# PROG that simply invokes PROG.exe, then return 0. If any selected
# file name or the directory name, $1, contains an unexpected character,
# define no alias and return 1.
-create_exe_shims_()
+create_exe_shims_ ()
{
case $EXEEXT in
'') return 0 ;;
@@ -288,7 +288,7 @@ create_exe_shims_()
# Use this function to prepend to PATH an absolute name for each
# specified, possibly-$initial_cwd_-relative, directory.
-path_prepend_()
+path_prepend_ ()
{
while test $# != 0; do
path_dir_=$1
@@ -311,7 +311,7 @@ path_prepend_()
export PATH
}
-setup_()
+setup_ ()
{
if test "$VERBOSE" = yes; then
# Test whether set -x may cause the selected shell to corrupt an
@@ -364,7 +364,7 @@ setup_()
# - make only $MAX_TRIES_ attempts
# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9.
-rand_bytes_()
+rand_bytes_ ()
{
n_=$1
@@ -396,7 +396,7 @@ rand_bytes_()
| LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
}
-mktempd_()
+mktempd_ ()
{
case $# in
2);;
--
1.7.4.1.299.ga459d
- bug#8230: touch dumps core on solaris 10, Ben Walton, 2011/03/10
- bug#8230: touch dumps core on solaris 10, Paul Eggert, 2011/03/10
- bug#8230: touch dumps core on solaris 10, Eric Blake, 2011/03/11
- bug#8230: touch dumps core on solaris 10, Bruno Haible, 2011/03/11
- bug#8230: touch dumps core on solaris 10, Paul Eggert, 2011/03/11
- bug#8230: touch dumps core on solaris 10, Bruno Haible, 2011/03/12
- bug#8230: touch dumps core on solaris 10, Ben Walton, 2011/03/12
- bug#8230: touch dumps core on solaris 10,
Jim Meyering <=
- bug#8230: touch dumps core on solaris 10, Ben Walton, 2011/03/13
- bug#8230: touch dumps core on solaris 10, Jim Meyering, 2011/03/13