summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-27sort: avoid a NaN-induced infloopJim Meyering
These commands would fail to terminate: yes -- -nan | head -156903 | sort -g > /dev/null echo nan > F; sort -m -g F F That can happen with any strtold implementation that includes uninitialized data in its return value. The problem arises in the mergefps function when bubble-sorting the two or more lines, each from one of the input streams being merged: compare(a,b) returns 64, yet compare(b,a) also returns a positive value. With a broken comparison function like that, the bubble sort never terminates. Why do the long-double bit strings corresponding to two identical "nan" strings not compare equal? Because some parts of the result are uninitialized and thus depend on the state of the stack. For more details, see http://bugs.gnu.org/9612. * src/sort.c (nan_compare): New function. (general_numcompare): Use it rather than bare memcmp. Reported by Aaron Denney in http://bugs.debian.org/642557. * NEWS (Bug fixes): Mention it. * tests/misc/sort-NaN-infloop: New file. * tests/Makefile.am (TESTS): Add it.
2011-09-24build: update gnulib submodule to latestJim Meyering
2011-09-24maint: avoid new syntax-check failureJim Meyering
Pulling in the latest gnulib triggered a new false-positive syntax-check failure. * cfg.mk (exclude_file_name_regexp--sc_prohibit_always-defined_macros): Exempt remove.c; its definitions of DT_UNKNOWN, DT_DIR and DT_LNK are harmless.
2011-09-24tests: mention new check-expensive/check-very-expensive in test logsBernhard Voelker
* tests/init.cfg: (very_expensive_): Mention toplevel make target, check-very-expensive. (expensive_): Likewise for check-expensive.
2011-09-24tests: introduce make targets check-expensive and check-very-expensiveBernhard Voelker
* Makefile.am: add shortcuts to run (very) expensive tests. Use "make check-expensive" to run tests with RUN_EXPENSIVE_TESTS=yes, use "make check-very-expensive" to run tests with both RUN_EXPENSIVE_TESTS=yes and RUN_VERY_EXPENSIVE_TESTS=yes. Non-expensive tests are included in all cases.
2011-09-22timeout: handle implicitly created threadsPádraig Brady
On some systems like glibc on GNU/kFreeBSD, a thread is implicitly created when timer_settime() is used. This breaks our scheme to ignore signals we've sent ourselves. * src/timeout.c (send_sig): Change the scheme used to ignore signals we've sent ourselves, to a more robust but perhaps limited scheme of ignoring all signals of a certain type after we've sent that signal to the job. * NEWS: Mention the change in behavior.
2011-09-19tests: init.sh: support any non-GNU diffBruno Haible
* tests/init.sh (compare): If "diff -c" is supported but "diff -u" is not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, Solaris 8.
2011-09-19gnulib: update for getcwd fix on systems without openatJim Meyering
This fixes a bug in pwd and all getcwd-using applications (for some uses: df, readlink, stat) when run from a directory whose absolute name contains more than PATH_MAX / 3 components. For more details, see http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=f6fe351fc534ae1 * gnulib: Update. * NEWS (Improvements): Mention it.
2011-09-19md5sum: clarify what is meant by binary/text flag.Reuben Thomas
src/md5sum.c: Clarify that we are talking about input mode. doc/coreutils.texi: Ditto.
2011-09-19tests: cp-parents: don't let a failing chmod go unnoticedJim Meyering
* tests/cp/cp-parents: If somehow a chmod set-up command failed, subsequent tests would fail in a harder-to-diagnose manner.
2011-09-17randread: add FIXME comment for RDRANDPaul Eggert
* gl/lib/randread.c: Add a FIXME comment suggesting how to improve performance by using the RDRAND hardware instruction.
2011-09-16md5sum: handle BSD reversed format checksumsPádraig Brady
* src/md5sum.c (split_3): Detect and handle BSD reversed format checksums. * tests/misc/md5sum-bsd: Add a new test. * tests/Makefile.am: Reference new test. * NEWS: Mention the improvement Suggested by Rimas Kudelis.
2011-09-14doc: improve description of join's -a optionEric Blake
* src/join.c (usage): Mention that -a adds to the overall output, rather than replacing the default output. * THANKS: Update. Reported by Tomas Volka.
2011-09-12build: avoid unwarranted failure w/gcc-4.6.1 and --enable-gcc-warningsJim Meyering
* configure.ac (gl_GCC_VERSION_IFELSE): Define new macro. (WERROR_CFLAGS): With --enable-gcc-warnings, use it to add -Wsuggest-attribute=pure only with gcc 4.7 or newer.
2011-09-08doc: fix typo in test script commentJim Meyering
* tests/d_type-check: Fix typo in comment.
2011-09-08maint: post-release administriviaJim Meyering
* NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
2011-09-08version 8.13Jim Meyering
* NEWS: Record release date.
2011-09-08build: update gnulib submodule to latestJim Meyering
2011-09-08stat: avoid compilation failure on AIX 7.xJim Meyering
* src/stat.c (USE_STATVFS): Adjust definition so that it is enabled also on AIX 7.x systems that provide statvfs64 and no statvfs. [USE_STATVFS && ! STAT_STATVFS && STAT_STATVFS64] (STATFS): Define to statvfs64 in that precise case. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Adjust the condition here to match the new one in stat.c, to keep them in sync. Reported by Bruno Haible. For details, see http://article.gmane.org/gmane.comp.gnu.coreutils.general/1668
2011-09-07tests: adjust PATH to include /sbin for mkfs-using testsBernhard Voelker
* tests/init.cfg (require_mkfs_PATH_): New function to test whether mkfs is in PATH, otherwise adding /sbin to PATH. Needed for distributions (OpenSuSE, Solaris) in which sudo does not include /sbin in PATH. * tests/cp/cp-a-selinux: Use require_mkfs_PATH_. * tests/cp/cp-mv-enotsup-xattr: Likewise. * tests/cp/sparse-fiemap: Likewise. * tests/mkdir/writable-under-readonly: Likewise. * tests/rm/read-only: Likewise.
2011-09-07tests: avoid false-positive "make check" failure when perl is missingJim Meyering
* doc/Makefile.am (sc-lower-case-var): Skip this test when $(PERL) is not usable. Reported by Bruno Haible.
2011-09-07cp: update gnulib to get support for NFSv4 ACLsJim Meyering
* NEWS (Improvements): Mention the cp-vs-NFSv4-ACL improvement we have inherited via gnulib. For details, see http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28100 and the following messages in that thread. * gnulib: Update to latest, for numerous ACL-related improvements.
2011-09-02tests: init.sh: work also with any non-GNU diff that supports -uBruno Haible
* tests/init.sh: Relax check for diff -u support. Rather than checking for GNU diff via --version, simply check for support for -u itself. Useful at least on OpenBSD 4.9.
2011-09-02tests: remove require-perl script; use function insteadJim Meyering
* tests/require-perl: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove it from this list. * tests/init.cfg (require_perl_): New function. * tests/misc/pwd-long: Use the new function, not the file. * tests/ls/nameless-uid: Likewise. * tests/misc/sum-sysv: Likewise.
2011-09-02tests: cut: exercise distro-added multibyte code pathsJim Meyering
* tests/misc/cut: Repeat each test using a multibyte locale, if the configure-time test found such a locale. Adjust the tests so that they also accept a slightly different diagnostic that is specific to the MB-patched cut.
2011-09-02doc: describe test control variablesPádraig Brady
* HACKING (Add tests): Mention the variables and default values. * README-release (Pre-release testing): Mention that setting the SHELL variable may be required. Suggested by Bruno Haible.
2011-09-01timeout: fixup previous warning fixPádraig Brady
* src/timeout.c (settimeout): Fix the previous commit to test errno rather than the return value.
2011-09-01tests: split/l-chunk: avoid a portability issuePádraig Brady
* tests/split/l-chunk: Don't use the `test "$var"` idiom to test that var is set to something as that's not supported by all shells. The new style matches the usage is the rest of the test in any case. Reported by Bruno Haible on AIX 6.1 and 7.1
2011-09-01tests: pwd-long: diagnose failure earlierJim Meyering
Without this change, we'd get use-of-uninit value warnings and harder-to-diagnose failure down the road. * tests/misc/pwd-long (normalize_to_cwd_relative): Diagnose stat failure. This failed on AIX 6.1 and 7.1. Reported by Bruno Haible.
2011-09-01tests: printf-surprise: avoid false-positive failureJim Meyering
* tests/misc/printf-surprise: Also accept a strerror-style string after the usual 'printf: write error:' diagnostic prefix. Otherwise, this test would fail on HP-UX 11. Reported by Bruno Haible.
2011-09-01tests: improve message in 'require_membership_in_two_groups_' functionBernhard Voelker
* tests/init.cfg (require_membership_in_two_groups_): Add quotes around the suggested groups for the COREUTILS_GROUPS variable.
2011-09-01tests: misc/printf: accommodate alternate behaviorJim Meyering
* tests/misc/printf: Avoid false positive failure on MacOS X 10.5 due to a slightly differing diagnostic. Reported by Bruno Haible.
2011-09-01tests: invoke via "env printf", rather than using an absolute nameJim Meyering
* tests/misc/printf: This results in more concise diagnostics.
2011-09-01timeout: suppress a redundant warning on some systemsPádraig Brady
* src/timeout.c (settimeout): Don't warn about ENOSYS which is returned on OpenBSD 4.9 at least. Reported by Bruno Haible
2011-09-01stdbuf: fix helper lib identification on some platformsPádraig Brady
* src/stdbuf.c (main): Pass the path of `stdbuf` rather than the command it's running to the search function. This is significant on platforms without /proc/self/exe Reported by Bruno Haible
2011-09-01build: avoid the use of strsignal() in splitPádraig Brady
... which is not available on some platforms, and the replacement currently requires linking with threading libraries. * src/split.c (closeout): Remove the call to strsignal() which is largely redundant anyway as sig2str() is already used to map number to name in the error. Reported by Bruno Haible on AIX 6.1 and 7.1
2011-08-31date: support parsing of ISO-8601-with-"T" datesJim Meyering
Thanks to an improvement in gnulib's parse-datetime module, commands like this now succeed (output manually indented): $ ./date -u -d 2004-02-29T16:21:42.33+07:00 +%FT%T.%N%z 2004-02-29T09:21:42.330000000+0000 * tests/misc/date: Add a test to exercise the new-in-gnulib parsing of ISO8601-with-"T" dates. * NEWS (New features): Mention it. * gnulib: Update, to pull in this parse-datetime improvement.
2011-08-30build: heap.c: make possible gnulib candidate c89 compatiblePádraig Brady
* gl/lib/heap.c: Move declaration to the top of scope. Reported by Rob McMahon and Wolfgang Steinwender in relation to "Sun WorkShop 6 update 2 C 5.3 Patch 111679-12 2003/05/18" and "GCC 2.95.3" respectively.
2011-08-25timeout: revert signal propagation enhancementPádraig Brady
This effectively reverts the unreleased commit 5a647a05 * src/timeout.c (main): Don't propagate signals from the monitored process, as on Linux /proc/sys/kernel/core_pattern could still handle them and cause false reports against `timeout`
2011-08-24maint: rename a testJim Meyering
Lesson: do not include details like "4 million" in a file name. * tests/rm/many-dir-entries-vs-OOM: Renamed from ... * tests/rm/4-million-entry-dir: ...this. * tests/Makefile.am (TESTS): Reflect renaming.
2011-08-24tests: adjust the new, very expensive rm test to be less expensiveJim Meyering
* tests/rm/4-million-entry-dir: Create only 200,000 files, rather than 4 million. The latter was overkill, and was too likely to fail due to inode exhaustion. Not everyone is using btrfs yet. Now that this test doesn't take so long, label it as merely "expensive", rather than "very expensive". Thanks to Bernhard Voelker for pointing out the risk of inode exhaustion.
2011-08-24pr: fix so that LAST_PAGE is honored with -TPádraig Brady
Ever since the LAST_PAGE functionality was added in commit ed0923a1, 1996-12-05, "Apply big patch (patch-20) from Roland Huebner" it was ignored when -t or -T were specified or when -l <= 10. * src/pr.c (print_page): Increment the current page here. (print_header): Don't increment the current page here. * tests/pr/pr-tests: Add a test case. * NEWS: Mention the fix Reported at http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9347
2011-08-20doc: correct typo in yesterday's NEWS entry: 30GB -> 30MBErik Auerswald
* NEWS: s/30GB/30MB/
2011-08-19rm, du, chmod, chown, chgrp: use much less memory for large directoriesJim Meyering
For details, see the gnulib commit, http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=47cb657e * tests/rm/4-million-entry-dir: New test. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. * gnulib: Update to latest to get the required fts fixes.
2011-08-13maint: remove empty statement after jump labelBernhard Voelker
* src/head.c (elide_tail_bytes_pipe): Remove the empty statement, ";" after a jump label; it is needed only when a declaration follows. * src/kill.c (main): Likewise. * src/od.c (main): Likewise. * src/paste.c (collapse_escapes): Likewise. * src/printf.c (print_formatted): Likewise.
2011-08-12pathchk: port to hosts where mbstate_t is replacedPaul Eggert
This problem was discovered when trying to build git coreutils on Solaris 8 sparcv9 with Sun C 5.8: the 3rd argument to mbrlen was of type int * (a pointer to the gnulib replacement mbstate_t) but the system mbrlen wants the system mbstate_t *. * bootstrap.conf (gnulib_modules): Add mbrlen. * src/pathchk.c (mbrlen, mbstate_t) [!(HAVE_MBRLEN && HAVE_MBSTATE_T)]: Remove macros, which are wrong now that gnulib supplies replacements for mbstate_t and mbrlen.
2011-08-11bootstrap: use latest gnulib bootstrap, gettextPaul Eggert
* bootstrap: Sync from gnulib. This removes an obsolescent gettext.m4 patch, along with some other changes that do not seem to affect coreutils. * bootstrap.conf (gnulib_modules): Use gettext, not gettext-h. Current gnulib gettext seems to work without needing special hacking. * configure.ac (AM_GNU_GETTEXT_VERSION): Now 0.18.1, not 0.17. * gnulib: Update to latest.
2011-08-11maint: use gnulib's new largefile modulueJim Meyering
* bootstrap.conf (gnulib_modules): Add largefile. This is useful to Mac OS X 10.5 users if/when configure is generated using autoconf prior to v2.68-80-gdb2f2e0. * gnulib: Update to latest.
2011-08-08tests: avoid lack-of-support du test failure on HP-UX 11.31Jim Meyering
* tests/du/inaccessible-cwd: Skip this test on systems like HP-UX 11.31 that lack both the *at functions and the /proc/self/fd-based support we might have used to emulate them. Reported by Bruno Haible in http://debbugs.gnu.org/8846
2011-08-08join: with --check-order print offending file name, line number and dataJim Meyering
* src/join (g_names): New global (was main's "names"). (main): Update all uses of "names". (line_no[2]): New globals. (get_line): Increment after reading each line. (check_order): Print the standard "file name:line_no: " prefix as well as the offending line when reporting disorder. Here is a sample old/new comparison: -join: file 1 is not in sorted order +join: in:4: is not sorted: contents-of-line-4 * tests/misc/join: Change the two affected tests to expect the new diagnostic. Add new tests for more coverage: mismatch in file 2, two diagnostics, zero-length out-of-order line. * NEWS (Improvements): Mention it. Suggested by David Gast in http://debbugs.gnu.org/9236