2011-12-31 Pádraig Brady
canonicalize: only stat() if required
* lib/canonicalize.c (canonicalize_filename_mode):
Avoid calling l?stat() when both CAN_MISSING,
and CAN_NOLINKS are set, as we neither need
to resolve symlinks or test component existence.
2011-12-31 Paul Eggert
doc: cover st_ino issues once; add OpenVMS etc.
* doc/posix-functions/stat.texi (stat):
* doc/posix-functions/lstat.texi (lstat):
* doc/posix-functions/fstatat.texi (fstatat):
* doc/posix-functions/fstat.texi (fstat):
Move general 'struct stat' stuff to sys_stat.texi,
leaving behind a pointer.
* doc/posix-headers/sys_stat.texi (sys/stat.h):
Merge duplicate info about 'struct stat' problems into here.
Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
and suggest partial workarounds.
same-inode: port to OpenVMS
* lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
three st_ino values.
2011-12-30 Pádraig Brady
canonicalize: fix references to stat() and lstat()
* lib/canonicalize.c (canonicalize_filename_mode):
Ensure references always resolve to a replacement
function if required (even via a macro).
2011-12-30 Jim Meyering
gitlog-to-changelog: remove a little duplication
* build-aux/gitlog-to-changelog (main): Grep @lines once,
rather than twice.
2011-12-29 Pádraig Brady
canonicalize: add support for not resolving symlinks
* lib/canonicalize.h: Add the CAN_NOLINKS flag to
indicate we don't want to follow symlinks. Also
provide CAN_MODE_MASK to aid setting these existing
mutually exclusive values.
* lib/canonicalize.c (canonicalize_filename_mode):
Extract the flags from can_mode parameter, which
are currently just used to select between stat()
and lstat(). Also ensure that mutually exclusive
values are flagged immediately as invalid.
* tests/test-canonicalize.c: Verify symlinks are
not followed, and that invalid flag combinations
are diagnosed.
2011-12-25 Jim Meyering
gitlog-to-changelog: do not clump multi-paragraph entries
Identical header lines (date,name,email+coauthors) are suppressed,
thus putting all entries with those same characteristics under
a single header. However, when a log entry consists of two or
more paragraphs, it may not be clear where it starts and ends.
This change makes it so that such an entry is always separated
from others by a header line, even when that header would
otherwise be suppressed.
* build-aux/gitlog-to-changelog: Implement the above.
Inspired by a related request from Stefano Lattarini in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2011-12-25 Paul Eggert
announce-gen: fix `cmd' typo in diagnostic
* build-aux/announce-gen (print_changelog_deltas): Fix typo in
diagnostic: a missing '$' meant that the command was not output.
2011-12-23 Jim Meyering
test-framework-sh: distribute init.sh
* modules/test-framework-sh (EXTRA_DIST): Append init.sh.
Otherwise, "make -C gnulib-tests check" (at least in grep) would
fail due to the lack of init.sh.
maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
* modules/atexit-tests: Rather than listing tests/init.sh,
now that there's a module for it, simply depend on that new module.
* modules/closein-tests: Likewise.
* modules/exclude-tests: Likewise.
* modules/getcwd-tests: Likewise.
* modules/perror-tests: Likewise.
* modules/pread-tests: Likewise.
* modules/pwrite-tests: Likewise.
* modules/vc-list-files-tests: Likewise.
* modules/verify-tests: Likewise.
* modules/xalloc-die-tests: Likewise.
* modules/xstrtoimax-tests: Likewise.
* modules/xstrtol-tests: Likewise.
* modules/xstrtoll-tests: Likewise.
* modules/xstrtoumax-tests: Likewise.
* modules/yesno-tests: Likewise.
2011-12-22 Jim Meyering
test-framework-sh: add minimal tests of init.sh's compare function
* modules/test-framework-sh-tests: New file.
* tests/test-init.sh: New file.
test-framework-sh: new module
* modules/test-framework-sh: New file.
* MODULES.html.sh (Support for maintaining and releasing projects):
List it.
init.sh: do not emit simulated diff output to stderr
* tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2011-12-22 Reuben Thomas
.gitignore: ignore gnulib.dvi and regex.info
* doc/.gitignore:add gnulib.dvi and regex.info
2011-12-22 Jim Meyering
init.sh: correct previous change
* tests/init.sh (compare): My previous change was wrong.
Don't clobber "$?". Spotted by Stefano Lattarini and Pádraig Brady.
init.sh: avoid unwarranted test failure when using "set -e"
* tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
a use like "compare exp out" would get evoke an unconditional failure.
2011-12-21 Alfred M. Szmidt
bootstrap: fix it to honor $ACLOCAL_FLAGS once again
The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
autoreconf that did not.
* build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
Reported by Mats Erik Andersson .
2011-12-17 Jim Meyering
bootstrap: remove some now-unneeded code
This script arose back when gnulib-tool was young.
Since then, it has seen improvements that render much of this
script unnecessary. In particular, it can now make symlinks
to the files it uses. Also, I no longer see as much value in
marking files as read-only via comments.
If you relied on the symlink-creation feature of the preceding
version of this script, you can get most of that functionality
by adding the --symlink option to the definition of
gnulib_tool_option_extras in your bootstrap.conf file.
* build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
Run autopoint and libtoolize *before* gnulib-tool.
After it, run an abbreviated autoreconf, rather than a loop around
all tools.
(slirp, bt_mark_as_generated): Remove functions.
2011-12-18 Paul Eggert
ftoastr: fix typo
* lib/ftoastr.h: Fix misspelling in comment.
2011-12-18 Reuben Thomas
* top/README-release: fix punctuation.
2011-12-17 Jim Meyering
bootstrap: correct the recent buildreq change
The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
had no effect.
* build-aux/bootstrap (buildreq): Bracket each search term with
"*...*", so that the shell "case" statement works as intended.
Add comments.
2011-12-17 Bernhard Voelker
build: let bootstrap resort to wget when downloading .po files
* build-aux/bootstrap (download_po_files): Fallback to wget when
downloading the .po files via rsync fails. This is necessary to
bootstrap from behind a strict firewall.
2011-12-15 Paul Eggert
stdint: don't assume C++11 when compiling with g++
Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
.
* m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
work also in C++ before C++11, as that improperly inhibits
generating a substitute stdint.h for that case.
2011-12-15 Paul Eggert
alloca: protect comment from gnulib-tool
* lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
that gnulib-tool doesn't think it's a license, and munge it to
say "GCC version 3".
2011-12-15 Ludovic Courtès (tiny change)
localcharset: Use an absolute path in TESTS_ENVIRONMENT.
* modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
$(abs_top_builddir) instead of $(top_builddir).
2011-12-14 Alex Nelson (tiny change)
strftime-tests: also test nanoseconds
* tests/test-strftime.c (T): Add a test of %N.
2011-12-13 Paul Eggert
inttypes, stdint: add C++11 support
C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
when including inttypes.h and stdint.h. Support this change to
the standard.
* doc/posix-headers/inttypes.texi (inttypes.h):
* doc/posix-headers/stdint.texi (stdint.h): Document this.
* lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
Define if not defined already, for the benefit of pre-C++11 hosts.
Define the standard format macros (e.g., PRId8) always.
* lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
Likewise, if __cpluspus. Define the standard constant and limit
macros (e.g., INT8_C, INT8_MAX) always.
* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
* m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
* tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
(__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
* tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
Likewise.
2011-12-12 Paul Eggert
nonblocking tests: Fix test failure on Linux/PPC.
Suggested by Prerna Saxena in
.
* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
Set to 1100000.
2011-12-12 Jim Meyering
argmatch: don't hard-code `' when listing valid option arguments
* lib/argmatch.c (argmatch_valid): Don't hard-code `%s'. Instead,
use the quote function to add quotes. Use fputs rather than
fprintf for the format string with no format directive.
2011-12-07 Eric Blake
bootstrap: detect tools required by gnulib-tool
* build-aux/bootstrap (buildreq): Provide minimum implicit
dependencies.
* DEPENDENCIES: Mention patch as a prereq.
2011-12-04 Bruno Haible
sethostname: Port to Windows platforms.
* lib/sethostname.c: Provide an alternate implementation for Windows
platforms.
* tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
(main): Skip the test if sethostname() fails with EPERM. On Windows
platforms, don't check the result of gethostname().
2011-12-04 Bruno Haible
Jim Meyering
tests: Avoid spurious error message on platforms without mktemp program.
* tests/init.sh (mktempd_): Run mktemp in a subcommand.
2011-12-04 Bruno Haible
sethostname: Fix documentation.
* doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
"not fixed" section.
2011-12-03 Bruno Haible
gnulib-tool: Verify that the License field is present and non-empty.
* gnulib-tool (func_get_license_raw): New function, extracted from
func_get_license.
(func_get_license): Use it. Warn if the module is not a test module and
has no license.
Suggested by Jim Meyering.
2011-12-03 Bruno Haible
sethostname tests: Fix link error on mingw.
* tests/test-sethostname1.c: New file, extracted from
tests/test-sethostname.c.
* tests/test-sethostname2.c: New file, extracted from
tests/test-sethostname.c.
* tests/test-sethostname.c: Remove file.
* modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
tests/test-sethostname2.c. Remove tests/test-sethostname.c.
(Depends-on): Add gethostname.
(Makefile.am): Compile both test-sethostname1 and test-sethostname2.
Link the latter with $(GETHOSTNAME_LIB).
sethostname tests: Fix compilation error on mingw.
* tests/test-sethostname.c: Don't include .
(geteuid): Use a dummy value without uid_t.
* modules/sethostname-tests (Depends-on): Remove sys_types.
sethostname tests: Avoid a gcc warning.
* tests/test-sethostname.c (main): Remove an unused variable.
Tweak last commit.
* modules/sethostname-tests (Files): Sort by decreasing importance.
(configure.ac): Check for geteuid.
* tests/test-sethostname.c (main): Emit error messages to stderr. Skip
the test when there's nothing to test. Drop an unnecessary cast.
Improve an error message. Verify that the final sethostname() call
succeeds.
2011-12-01 Ben Walton
Add a test suite for the sethostname module.
* modules/sethostname-tests: New file. A test program
for the sethostname module.
* tests/test-sethostname.c: Likewise.
2011-12-03 Bruno Haible
Tweak last commit.
* lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
Fix preprocessor directives indentation. Fix typos.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
* modules/unistd (Makefile): Likewise.
2011-12-01 Ben Walton
Integrate the sethostname module into unistd.
* lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
into the unistd.h header.
* m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
preprocessor directives.
* modules/unistd: Setup the Makefile substitutions of the
SETHOSTNAME preprocessor directives.
2011-12-03 Bruno Haible
Tweak last commit.
* lib/sethostname.c: Don't include .
(sethostname): No need to copy the argument string to the stack. Don't
call clearerr. Preserve errno when fprintf failed.
* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
Don't invoke AC_REPLACE_FUNCS.
* modules/sethostname (Link): Remove empty section.
* doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
failure problem.
2011-12-01 Ben Walton
New module 'sethostname'.
* lib/sethostname.c (sethostname): New file. Provide sethostname
for systems that lack it.
* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file. Detection of
sethostname declaration and function.
* modules/sethostname: New file. Define the sethostname module.
2011-12-03 Bruno Haible
Tweak last commit.
* m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2011-12-01 Ben Walton
Split the HOST_NAME_MAX detection into a separate m4 macro.
* m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
macro so it can be used by the pending sethostname module.
2011-12-03 Bruno Haible
Fix module descriptions syntax.
* modules/argv-iter (License): Fix syntax.
* modules/di-set (License): Likewise.
* modules/ino-map (License): Likewise.
Reported by Stefano Lattarini .
2011-12-02 Paul Eggert
stdalign: port to Clang 3.0
Problem reported by Simon Josefsson in
.
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
which has but which does not define alignof.
* m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2011-12-01 Eric Blake
mktempd: silence dd usage
* build-aux/mktempd (rand_bytes): Silence dd.
2011-11-30 Simon Josefsson
manywarnings: Don't mention gcc version in docstring.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix. Suggested by
Jim Meyering .
2011-11-30 Jim Meyering
hash: mark a few floating point constants with "f" suffix
* lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
(DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
floating point constants with "f", since they're destined to be
saved/used as "float"s.
2011-11-29 Paolo Bonzini
float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
* tests/test-float.c (test_long_double): Correct and re-enable the
assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2011-11-29 Matthew Wala (tiny change)
Avoid subtracting two pointers that don't point into the same block.
* lib/argp-help.c (hol_append): Reorder pointer subtractions so that
only pointers into the same memory block are subtracted. We cannot
assume that sizeof (ptrdiff_t) == sizeof (void *).
2011-11-29 Eric Blake
maint.mk: add syntax check for use of compare from init.sh
* top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
moved here from coreutils.
manywarnings: drop -Wunsuffixed-float-constants
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
'1.0D', which is the only way to silence this warning for 'double'.
2011-11-29 Jim Meyering
hash: mark compute_bucket_size with the pure attribute
* lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
quotearg, propername: correct pragma guard expression
* lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
* lib/propername.c: Likewise. Reported by Bernhard Voelker.
2011-11-28 Jim Meyering
propername: do not mark proper_name with the const attribute
* lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
since it examines data pointed to by its parameter.
* lib/propername.c (proper_name): Instead, add a pragma to suppress
the suggestion from -Wsuggest-attribute=const.
propername: mark one more function as const
* lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2011-11-27 Jim Meyering
mark functions with const and pure attributes
Mark functions per suggestions from gcc-4.6 when using these options:
-Wsuggest-attribute=pure -Wsuggest-attribute=const.
Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
Follow these guidelines: when possible, apply the attribute to
an extern declaration, not to its definition. Apply it to the
definition only when the definition is static.
* lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
* lib/argv-iter.h (argv_iter_n_args): Likewise.
* lib/base64.h (isbase64): Likewise.
* lib/basename-lgpl.c (last_component, base_len): Likewise.
* lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
(c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
(c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
(c_tolower, c_toupper): Likewise.
* lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
* lib/chdir-long.c (find_non_slash): Likewise.
* lib/dirname.h (base_len, dir_len, last_component): Likewise.
* lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
* lib/file-type.h (file_type): Likewise.
* lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
* lib/filevercmp.c (verrevcmp): Likewise.
* lib/freadahead.h (freadahead): Likewise.
* lib/fts.c (fts_maxarglen): Likewise.
* lib/hash-pjw.h (hash_pjw): Likewise.
* lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
* lib/hash.c (is_prime, next_prime): Likewise.
* lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
(hash_get_n_entries, hash_get_max_bucket_length): Likewise.
(hash_table_ok, hash_get_first, hash_string): Likewise.
(compute_bucket_size): Likewise.
* lib/i-ring.h (i_ring_empty): Likewise.
* lib/isnan.c (isnanl): Likewise.
* lib/math.h (isnanl, rpl_isnanl): Likewise.
* lib/memcasecmp.h (memcasecmp): Likewise.
* lib/memchr2.h (memchr2): Likewise.
* lib/memcmp2.h (memcmp2): Likewise.
* lib/parse-datetime.y (lookup_zone): Likewise.
* lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
[!WINDOWS_SOCKETS]: Likewise.
* lib/strnlen1.h (strnlen1): Likewise.
* lib/uniwidth.in.h (uc_width): Likewise.
* lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
(quoting_options_from_style): Add a comment.
* lib/propername.h (proper_name): Add a comment.
2011-11-27 Bruno Haible
Remove unused macros from !_LIBC code in glibc-borrowed files.
* lib/fnmatch.c (STRCOLL): Remove macro.
* lib/fnmatch_loop.c (STRCOLL): Remove undef.
* lib/glob.c (__stat, __readdir64): Remove macros.
* lib/tempname.c (__open64, __xstat64): Remove macros.
Suggested by Paul Eggert.
2011-11-27 Bruno Haible
getcwd: Fix link error on MSVC 9.
* modules/getcwd (Depends-on): Add readdir, rewinddir.
2011-11-27 Bruno Haible
Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
* m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
HAVE_OPENDIR is 0.
* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
HAVE_CLOSEDIR is 0.
* m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
is 0.
* m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2011-11-27 Bruno Haible
getcwd: Fix bug from 2011-08-17.
* m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
platforms that need it.
* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
code of 4 to be a failure, not a success. This ensures that
REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2011-11-27 Bruno Haible
binary-io tests: Avoid test failure on mingw when libtool is used.
* tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
Don't verify the size of t-bin-out1.tmp here.
* tests/test-binary-io.sh: Verify it here.
Reported by Simon Josefsson.
2011-11-26 Bruno Haible
Fix conflict between two instantiations of module 'unistd'.
* gnulib-tool (func_emit_autoconf_snippet): Substitute
${include_guard_prefix} also in the autoconf snippet.
* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
GNULIB_UNISTD_H_GETOPT.
* modules/getopt-posix (configure.ac): Set the
GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
* modules/getopt-gnu (configure.ac): Likewise.
* modules/unistd (Makefile.am): Change the substitution value of
GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
Reported by Simon Josefsson.
2011-11-25 Bruno Haible
pagealign_alloc: Doc and comments.
* doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
module.
* lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2011-11-25 Jim Meyering
test-update-copyright.sh: avoid false-positive failure
* tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
around false positive failure on Cygwin/Windows. The latter was
matching erroneously-created files with names like
update-copyright.test-ex.4.bak. Reported by Simon Josefsson.
2011-11-25 Simon Josefsson
valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
* m4/valgrind-tests.m4: Check that the parameters that will be
used works, not just a subset of them. Reported by Bruno Haible
.
2011-11-24 Jim Meyering
test-stdalign.c: comment out long double tests
* tests/test-stdalign.c: Don't try to reduce alignment of long double
variables. That provokes errors like this from gcc-4.7.0 20111124:
error: '_Alignas' specifiers cannot reduce alignment of \
'static_longdouble_alignas'.
2011-11-22 Jim Meyering
init.sh: make "compare /dev/null FILE" output more readable
* tests/init.sh (compare_): Document the preferred order of arguments.
(emit_diff_u_header_): New function.
(compare_dev_null_): Emit a simulated diff, rather than just the
contents of the unexpected file. Suggestion from Bruno Haible.
2011-11-21 Jim Meyering
Eric Blake
init.sh: work around OSF/1 5.1's mishandling of /dev/null
* tests/init.sh: Make our compare function slightly more portable.
Reported by Bruno Haible in
http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2011-11-21 Simon Josefsson
* m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
before using it, in code that ends up in config.h.
2011-11-20 Bruno Haible
getcwd: Work around getcwd bug on AIX 5..7.
* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
Use a different value for gl_cv_func_getcwd_path_max. Move the
definition of HAVE_PARTLY_WORKING_GETCWD from here...
* m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
Define HAVE_MINIMALLY_WORKING_GETCWD.
* lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
where it is not even minimally working, that is, on AIX.
* tests/test-getcwd.c (test_long_name): Distinguish the same cases as
m4/getcwd-path-max.m4.
(main): Update exit code computation.
* doc/posix-functions/getcwd.texi: Mention list of platforms where
getcwd does not handle long file names.
2011-11-20 Bruno Haible
getcwd: Fix bug from 2009-09-10.
* m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
like "no".
2011-11-20 Simon Josefsson
* m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2011-11-20 Bruno Haible
fma tests: Avoid shadowing local variables.
* tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
expected.
2011-11-20 Bruno Haible
copysignf tests: Fix.
* tests/test-copysignf.c: Fix signature check.
2011-11-20 Bruno Haible
fma: Remove unused code.
* lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
unused macros.
2011-11-20 Bruno Haible
sethostname: Fix doc about AIX.
* doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
sethostname; it has it.
sethostname: Mention more portability problems.
* doc/glibc-functions/sethostname.texi: Mention the missing declaration
problem.
Reported by Ben Walton .
2011-11-19 Bruno Haible
Depend on module fcntl-h when AT_FDCWD is used.
* modules/utimens (Depends-on): Add fcntl-h.
* modules/areadlinkat (Depends-on): Likewise.
* modules/areadlinkat-with-size (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/getcwd (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/dup2-tests (Depends-on): Likewise.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/futimens-tests (Depends-on): Likewise.
2011-11-19 Bruno Haible
euidaccess: Update a comment.
* lib/euidaccess.c: Update comment about platforms with faccessat.
2011-11-19 Bruno Haible
openat: Fix file list.
* modules/openat (Files): Remove lib/at-func.c.
2011-11-19 Bruno Haible
fstatat: Simplify.
* lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
gnulib should define rpl_fstatat, there is a
"#define fstatat rpl_fstatat" in .
2011-11-19 Bruno Haible
Ensure 'inline' can be used in tests/test-utimens-common.h.
* modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
* modules/futimens-tests (configure.ac): Likewise.
* modules/utimens-tests (configure.ac): Likewise.
* modules/utimensat-tests (configure.ac): Likewise.
2011-11-19 Simon Josefsson
* lib/hash.c (hash_insert): Use hash_insert_if_absent,
not hash_insert0.
(hash_insert_if_absent): Doc fix.
2011-11-19 Simon Josefsson
* m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2011-11-18 Paul Eggert
test-getcwd: disambiguate exit status
* tests/test-getcwd.c (test_long_name): Return 0..7.
(main): Exit with an unambiguous exit status. The old
code yielded a mysterious mixture of two failure codes.
fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
* lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
rpl_fstatat or fstatat. This should fix the other problem
reported by Kai Habel in
.
A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
and I reproduced it on a Solaris 8 host we still have in production.
2011-11-18 Jim Meyering
hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
* lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
Add a sentence to the comment.
(hash_insert0): New function that simply calls hash_insert_if_absent.
* lib/hash.h (hash_insert_if_absent): Declare it.
(hash_insert0): Add deprecation attribute.
(_GL_ATTRIBUTE_DEPRECATED): Define.
* lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
not hash_insert0.
* NEWS: Mention it, even though it's not really an incompatible change.
2011-11-18 Dagobert Michelsen (tiny change)
openat: avoid compilation failure due to lack of inclusion
* lib/openat.c: Include .
2011-11-17 Paul Eggert
* modules/getcwd (Depends-on): Add fdopendir.
This fixes one of the two problems reported by Kai Habel in
.
modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
stdalign problem reported by Ian Beckwith in
.
* modules/crypto/gc-arcfour (Depends-on):
Depend conditionally on crypto/arcfour.
* modules/crypto/gc-arctwo (Depends-on):
Depend conditionally on crypto/arctwo.
* modules/crypto/gc-des (Depends-on):
Depend conditionally on crypto/des.
* modules/crypto/gc-hmac-md5 (Depends-on):
Depend conditionally on crypto/hmac-md5.
* modules/crypto/gc-hmac-sha1 (Depends-on):
Depend conditionally on crypto/hmac-sha1.
* modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
* modules/crypto/gc-md4 (Depends-on):
Depend conditionally on crypto/md4.
* modules/crypto/gc-md5 (Depends-on):
Depend conditionally on crypto/md5.
* modules/crypto/gc-rijndael (Depends-on):
Depend conditionally on crypto/rijndael.
* modules/crypto/gc-sha1 (Depends-on):
Depend conditionally on crypto/sha1.
* modules/crypto/gc-arcfour:
* modules/crypto/gc-arctwo:
* modules/crypto/gc-des:
* modules/crypto/gc-hmac-md5:
* modules/crypto/gc-hmac-sha1:
* modules/crypto/gc-md2:
* modules/crypto/gc-md4:
* modules/crypto/gc-md5:
* modules/crypto/gc-rijndael:
* modules/crypto/gc-sha1:
(Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
now that the conditional dependencies do the work for us.
2011-11-17 Jim Meyering
tests: factor st_ctime-comparison out of two headers
* tests/test-utimens-common.h (ctime_compare): Define.
* tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
* tests/test-lutimens.h (test_lutimens): Likewise.
* tests/test-utimens.h (test_utimens): Likewise.
test-getcwd: don't leave behind a confdir3/ directory upon interrupt
Invoke the test program via an init.sh-using wrapper.
* tests/test-getcwd.sh: New file.
* modules/getcwd-tests (Files): Add it.
(Makefile.am) [TESTS]: Invoke the shell script wrapper.
2011-11-01 Gary V. Vaughan
gitlog-to-changelog: support multi-author commits.
The FSF cares about keeping track of all authors of patches to its
projects, but Git doesn't provide obvious support for multi-author
changesets. Consensus seems to be forming around the use of extra
Signed-off-by inspired lines in the log message formatted as
`Co-authored-by: A U Thor ' for round-tripping
multi-author commits between version control systems.
* gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
log message and output in standard ChangeLog multi-author format.
Reported by Peter Rosin
2011-11-15 Ben Walton (tiny change)
Bruno Haible
Fix some modules' file list.
* modules/fstatat (Files): Add m4/lstat.m4.
* modules/openat (Files): Likewise.
* modules/unlinkat (Files): Likewise.
2011-11-15 Gary V. Vaughan
maint.mk: fix tight-scope.mk generation in VPATH builds.
* top/maint.mk (tight-scope.mk): Make sure to prefix file
reference with $(srcdir) so that the file is found correctly even
when running `make syntax-check' in a VPATH build.
2011-11-13 Bruno Haible
Jim Meyering
Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
* tests/init.sh (compare): Remove "No differences encountered" or
synonymous output from the 'diff' program.
2011-11-13 Bruno Haible
Makefile: Tweak indentation.
* Makefile: Use tab as first character in every line that contains rule
commands.
2011-11-13 Bruno Haible
Syntax check for copyright statements.
* check-copyright: New file.
* Makefile (sc_check_copyright): New rule.
2011-11-13 Simon Josefsson
* build-aux/git-version-gen: Add --prefix to configure the tag
match string.
2011-11-13 Simon Josefsson
* build-aux/git-version-gen: Add --help and --version.
2011-11-12 Jim Meyering
revamp the other test-exclude?.sh scripts to use init.sh, too
* tests/test-exclude1.sh: Use init.sh.
* tests/test-exclude2.sh: Likewise.
* tests/test-exclude3.sh: Likewise.
* tests/test-exclude4.sh: Likewise.
* tests/test-exclude5.sh: Likewise.
* tests/test-exclude6.sh: Likewise.
* tests/test-exclude7.sh: Likewise.
* tests/test-exclude8.sh: Likewise.
* modules/exclude-tests (Files): List init.sh.
test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
These shell scripts ignored failure of the binary test-exclude,
so making the latter return 77 didn't cause them to be skipped.
* tests/test-exclude5.sh: Exit with test-exclude's error status
when that program fails. Revamp to use init.sh.
* tests/test-exclude2.sh: Likewise.
test-exclude: fix a typo
* tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2011-11-11 Bruno Haible
obstack: Fix compilation error on MSVC 9.
* lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2011-11-11 Jim Meyering
test-exclude: skip tests rather than failing on deficient systems
* tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
and FNM_LEADING_DIR on systems that lack the definitions. This affects
at least Solaris 9. Reported and diagnosed by Dagobert Michelsen in
http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2011-11-10 Bruno Haible
ptsname_r test: Avoid gcc warning on glibc systems.
* tests/test-ptsname_r.c (null_ptr): New function.
(test_errors): Use it.
2011-11-10 Bruno Haible
ptsname_r: Avoid compilation error on OSF/1 5.1.
* lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
function is not declared or incompatibly declared.
* modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
* modules/ptsname_r (Depends-on, configure.ac): Update.
* doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2011-11-10 Bruno Haible
fstatat: Make cross-compilation guess succeed everywhere except on AIX.
* m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
When cross-compiling, guess yes on all platforms except AIX.
Reported by Ludovic Courtès .
2011-11-09 Bruno Haible
ptsname_r tests: Fix bugs.
* tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2011-11-09 Paul Eggert
fstatat: work with cross-compilation
Problem reported by Ludovic Courtès in
.
* m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
"cross-compiling" and assume the bug is present. Replace
FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
an inverted sense, to be more conservative about our assumptions.
* lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2011-11-09 Bruno Haible
Improve MODULES.html output.
* modules/mkfifoat (Description): Use the word "function".
* modules/readlinkat (Description): Likewise.
* modules/symlinkat (Description): Likewise.
2011-11-09 Eric Blake
ptsname_r-tests: new test module
* modules/ptsname_r-tests: New module.
* tests/test-ptsname_r.c: New file.
ptsname_r: new module
* modules/ptsname_r: New module.
* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
* lib/ptsname.c (__ptsname_r): Split...
* lib/ptsname_r.c: ...into new file.
* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
(gl_STDLIB_H_DEFAULTS): Set witness defaults.
* modules/stdlib (Makefile.am): Substitute witnesses.
* lib/stdlib.in.h (ptsname_r): Declare it.
* doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
* MODULES.html.sh (Misc): Likewise.
* modules/ptsname (Depends-on): Alter dependency.
* doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2011-11-09 Jim Meyering
announce-gen: be more concise when there's only one URL+tarball
* build-aux/announce-gen (get_tool_versions): When you distribute
only one type of tarball, combine the first two "Here are..."
sections and make the key-checking grammar independent of
how many tarballs there are.
2011-11-09 Eric Blake
openpty: provide a stub on mingw
* lib/pty.in.h (includes): Provide forward declarations.
* lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
raise: fix mingw handling of SIGPIPE
* lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2011-11-08 Bruno Haible
More conditional dependencies.
* modules/faccessat (Depends-on): Add conditions.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/fstatat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
* modules/linkat (Depends-on): Refine the conditions.
* modules/renameat (Depends-on): Likewise.
2011-11-08 Bruno Haible
faccessat: Move AC_LIBOBJ invocation to module description.
* m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
(gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
invocation from here...
* modules/faccessat (configure.ac): ... to here. Invoke
gl_PREREQ_FACCESSAT.
2011-11-08 Bruno Haible
faccessat: Simplify autoconf macro.
* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
gl_FUNC_EUIDACCESS.
2011-11-08 Bruno Haible
renameat: Fix dependencies.
* modules/renameat (Depends-on): Add stdbool.
2011-11-08 Bruno Haible
mkfifoat: Fix module description.
* modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
not gl_UNISTD_MODULE_INDICATOR.
2011-11-08 Bruno Haible
fstatat: Remove unused dependency.
* modules/fstatat (Depends-on): Remove fstat.
2011-11-08 Simon Josefsson
GNUmakefile: behave when Makefile is missing.
* top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2011-11-08 Bruno Haible
openat: Conditionalize dependencies.
* lib/openat.c: Reduce the scope of some #includes.
* modules/openat (Depends-on): Add conditions.
2011-11-07 Jim Meyering
maint.mk: extract GPG key ID without using a temporary file
* top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
without using a temporary file. Based on a suggestion from Werner Koch
in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2011-11-07 Eric Blake
grantpt: fix typo
* lib/stdlib.in.h (grantpt): Check correct function.
maint.mk: silence new syntax check
* top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2011-11-06 Bruno Haible
Doc about floating-point and math API.
* doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
* doc/posix-headers/math.texi: Mention problem with math_errhandling.
2011-11-06 Bruno Haible
stdalign tests: Skip the test when compiled by Sun C.
* tests/test-stdalign.c (main): Skip the test on Sun C.
2011-11-06 Bruno Haible
ansi-c++-opt: Complete the 2011-06-05 change.
* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
does not support namespaces, set the variable to "no", not to ":".
2011-11-06 Paul Eggert
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2011-11-06 Bruno Haible
copysignl: Fix result for zero argument on HP-UX 11 with HP C.
* lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
(minus_zerol) [HP-UX]: New macro.
(unary_minus) [HP-UX]: New function.
(copysignl) [HP-UX]: Use unary_minus function.
2011-11-06 Bruno Haible
ldexp, ldexpf, ldexpl: Enhance tests.
* tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
and tests/test-ldexpl.c.
* tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
LDEXP, MIN_EXP, MAX_EXP): New macros.
Include test-ldexp.h.
(main): Just call test_function.
* tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
* modules/ldexp-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm, signbit, float.
* modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm, signbit, float.
2011-11-06 Bruno Haible
math tests: Cosmetics.
* tests/test-math-c++.cc: Reorder declarations.
2011-11-05 Bruno Haible
fma*: Simplify test.
* tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
(test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
Tests for module 'fmal'.
* modules/fmal-tests: New file.
* tests/test-fmal1.c: New file.
* tests/test-fmal2.c: New file.
New module 'fmal'.
* lib/math.in.h (fmal): New declaration.
* lib/fmal.c: New file.
* m4/fmal.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
* modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
REPLACE_FMAL.
* modules/fmal: New file.
* doc/posix-functions/fmal.texi: Mention the new module and the various
bugs.
Tests for module 'fmaf'.
* modules/fmaf-tests: New file.
* tests/test-fmaf1.c: New file.
* tests/test-fmaf2.c: New file.
New module 'fmaf'.
* lib/math.in.h (fmaf): New declaration.
* lib/fmaf.c: New file.
* m4/fmaf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
* modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
REPLACE_FMAF.
* modules/fmaf: New file.
* doc/posix-functions/fmaf.texi: Mention the new module and the various
bugs.
Tests for module 'fma'.
* modules/fma-tests: New file.
* tests/test-fma1.c: New file.
* tests/test-fma1.h: New file.
* tests/test-fma2.c: New file.
* tests/test-fma2.h: New file.
New module 'fma'.
* lib/math.in.h (fma): New declaration.
* lib/fma.c: New file.
* m4/fma.m4: New file.
* m4/fegetround.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
* modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
REPLACE_FMA.
* modules/fma: New file.
* doc/posix-functions/fma.texi: Mention the new module and the various
bugs.
Extend gl_MATHFUNC.
* m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
Support 'void' as argument type.
* m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
2011-11-05 Jim Meyering
maint.mk: also prohibit inclusion of dirent.h without use
* top/maint.mk (sc_prohibit_dirent_without_use): New rule.
2011-11-05 Bruno Haible
ldexpl tests: Avoid test failure on MSVC 9.
* tests/test-ldexpl.c (main): Use a temporary variable for the expected
value. Needed in order to enforce the conversion from a value greater
than LDBL_MAX to Infinity.
2011-11-05 Bruno Haible
New modules 'at-internal', 'openat-h', split off from module 'openat'.
* modules/at-internal: New file, extracted from modules/openat.
* modules/openat-h: New file.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
* modules/openat (Description): Add reference to POSIX function.
(Files): Remove lib/openat.h, lib/openat-proc.c.
(Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
intprops, unistd.
(configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
gl_FCNTL_MODULE_INDICATOR.
(Include): Remove unistd.h, openat.h.
* modules/areadlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd.
* modules/areadlinkat-with-size (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd, unistd.
* modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/fchmodat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, unistd.
* modules/fchownat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/fdopendir (Files): Remove lib/openat-priv.h,
lib/openat-proc.c.
(Depends-on): Add at-internal.
(condigure.ac): Remove AC_LIBOBJ of openat-proc.
* modules/fstatat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool, unistd.
* modules/fts (Depends-on): Add openat-h.
* modules/linkat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/mkdirat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/mkfifoat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/openat-die (Depends-on): Add openat-h. Remove openat.
* modules/readlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/renameat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/selinux-at (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
* modules/symlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/unlinkat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool.
* modules/utimensat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
openat-die, openat-h, save-cwd.
* modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
* modules/fdutimensat-tests (Depends-on): Add openat.
* modules/fstatat-tests (Depends-on): Add openat-h.
* modules/readlinkat-tests (Depends-on): Add openat.
* modules/symlinkat-tests (Depends-on): Add openat.
2011-11-05 Bruno Haible
openat: Include .
* lib/openat.c: Include .
2011-11-04 Bruno Haible
fchownat, renameat, unlinkat: Fix dependencies.
* modules/fchownat (Depends-on): Add fstatat.
* modules/renameat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
2011-11-04 Paul Eggert
openat: remove direct dependency on dirent
* lib/openat.h: Don't include ; it's no longer needed,
and hasn't been needed ever since fdopendir was split into its own
module on 2009-08-31.
* modules/openat (Depends-on): Remove dirent.
2011-11-04 Bruno Haible
renameat: Optimize code size.
* modules/renameat (configure.ac): Don't compile at-func2.c if
REPLACE_RENAMEAT is 1.
2011-11-04 Bruno Haible
openat tests: Fix file list.
* modules/openat-tests (Files): Add tests/test-open.h.
2011-11-04 Bruno Haible
openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
* modules/fchmodat (Depends-on): Add openat-die.
* modules/fchownat (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/openat (Depends-on): Add dirent.
2011-11-04 Jim Meyering
at-func*.c: fix comments
* lib/at-func2.c: Correct/improve first-line comment.
* lib/at-func.c: Correct grammar in first-line comment.
2011-11-04 Bruno Haible
New module 'mkdirat', split off from module 'openat'.
* m4/mkdirat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
* modules/mkdirat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/mkdirat.c.
(Depends-on): Remove mkdir.
(configure.ac): Remove AC_LIBOBJ of mkdirat.
(Include): Remove .
* modules/mkdirat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-mkdirat.c,
tests/test-mkdir.h.
(Depends-on): Remove ignore-value.
(Makefile.am): Remove rules for test-mkdirat.
* doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
of module 'openat'.
* NEWS: Mention the change.
2011-11-04 Bruno Haible
closedir: Avoid warning on mingw.
* lib/closedir.c: Include .
2011-11-04 Bruno Haible
New module 'fstatat', split off from module 'openat'.
* lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
defined.
* m4/fstatat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
gl_FUNC_FSTATAT.
(gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
* modules/fstatat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fstatat.c.
(Depends-on): Remove lstat.
(configure.ac): Remove AC_LIBOBJ of fstatat.
* modules/fstatat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fstatat.c,
tests/test-lstat.h, tests/test-stat.h.
(Depends-on): Remove getcwd-lgpl.
(Makefile.am): Remove rules for test-fstatat.
* doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/getcwd (Depends-on): Add fstatat.
* modules/linkat (Depends-on): Likewise.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/utimensat (Depends-on): Add fstatat. Remove openat.
2011-11-03 Bruno Haible
New module 'unlinkat', split off from module 'openat'.
* m4/unlinkat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
* modules/unlinkat: New file, extracted from modules/openat. Correct
the dependency conditions.
* modules/openat (Files): Remove lib/unlinkat.c.
(Depends-on): Remove rmdir, unlink.
(configure.ac): Remove AC_LIBOBJ of unlinkat.
* modules/unlinkat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-unlinkat.c,
tests/test-rmdir.h, tests/test-unlink.h.
(Depends-on): Remove unlinkdir.
(Makefile.am): Remove rules for test-unlinkat.
* doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/linkat-tests (Depends-on): Add unlinkat.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/readlinkat-tests (Depends-on): Likewise.
2011-11-02 Bruno Haible
New module 'fchmodat', split off from module 'openat'.
* lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
defined.
* m4/fchmodat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
* modules/fchmodat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchmodat.c.
(configure.ac): Remove AC_LIBOBJ of fchmodat.
* modules/fchmodat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchmodat.c.
(Makefile.am): Remove rules for test-fchmodat.
* doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
of module 'openat'.
* NEWS: Mention the change.
2011-11-02 Jim Meyering
putenv: indent #definition of "environ" to placate cppi
* lib/putenv.c (environ): Make indentation reflect cpp nesting.
gitlog-to-changelog: provide a ChangeLog-repair mechanism
Git logs are often treated as immutable, because editing them
changes the SHA1 checksums of all descendants. Thus, errors in
git logs tend to stay there forever. However, when we generate
a ChangeLog file -- typically for distribution -- from that git log,
we can actually make corrections in the generated file. The key
lies in recording in machine-readable/applicable form the desired
corrections. See --help for description and an example.
* build-aux/gitlog-to-changelog (parse_amend_file): New function.
(usage): Describe it; alphabetize option descriptions.
(main): Honor the new option, carefully.
2011-11-01 Jim Meyering
gitlog-to-changelog: avoid an infloop
* build-aux/gitlog-to-changelog: Don't infloop for a commit log
that ends up being empty.
2011-11-01 Paul Eggert
* MODULES.html.sh: Fix sed-script shell quoting and locale issues.
(func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
contains (possibly-quoted) backslashes. This should avoid
all-too-common shell bugs if COMPLICATED contains backslashes in
the "wrong" places. Reported by David Evans in
.
When 'sed' uses character ranges like A-Z, invoke it in the C locale,
because we want ASCII ranges. Is there some reason we don't use
the C locale everywhere in this script?
(func_module, top level): Avoid unwanted pathname expansion when
$repo_url_prefix or $repo_url_suffix_repl contain shell
metacharacters like '?' and '*'.
2011-11-01 Bruno Haible
fchownat: Improve description.
* modules/fchownat (Description): Add link to function.
2011-11-01 Paul Eggert
* tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
mingw supports alignments only up to 8 (!). Reported by Bruno Haible in
.
* doc/posix-headers/stdalign.texi (stdalign.h): Document this.
2011-11-01 Bruno Haible
alignof: Avoid collision with stdalign module.
* lib/alignof.h (alignof): Remove macro.
* NEWS: Mention the change.
Reported by Paul Eggert.
2011-11-01 Bruno Haible
New module 'fchownat', split off from module 'openat'.
* lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
defined.
* m4/fchownat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
invoke gl_FUNC_FCHOWNAT.
(gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
* modules/fchownat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchownat.c.
(Depends-on): Remove lchown.
(configure.ac): Remove AC_LIBOBJ of fchownat.
* modules/fchownat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchownat.c,
tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
(Depends-on): Remove mgetgroups, usleep, stat-time.
(configure.ac): Remove test for getegid.
(Makefile.am): Remove rules for test-fchownat.
* doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
of module 'openat'.
* NEWS: Mention the change.
2011-10-31 Paul Eggert
stdalign: port better to MSVC and to Sun C 5.11
This fixes some of the problems reported by Bruno Haible in
.
* doc/posix-headers/stdalign.texi (stdalign.h): Document more
shortcomings of MSVC and of Sun C 5.11.
* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
around __declspec arg.
* modules/stdalign-tests (Files): Add tests/macros.h.
* tests/test-stdalign.c: Do not include ; no longer needed.
Include macros.h, for ASSERT.
(DECLARE_ALIGNED): Remove.
(TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
to catch bug), and to 1 if not (simplifies the rest of the code).
(CHECK_STATIC): Always declare the alignment test vars; that's simpler.
(CHECK_AUTO): Remove.
(CHECK_ALIGNED): Check only the alignment of the static vars,
since auto var alignment isn't supported by Sun C 5.11.
(CHECK_TYPES): Remove. All uses replaced by inline code, so that
ASSERT failures are easier to diagnose.
2011-10-31 Bruno Haible
doc about some IRIX 5.3 problems.
* doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
on IRIX 5.3.
* doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
* doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5.3.
* doc/posix-functions/grantpt.texi: Likewise.
* doc/posix-functions/unlockpt.texi: Likewise.
* doc/posix-functions/lgamma.texi: Likewise.
* doc/posix-functions/nextafter.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/select.texi: Mention misplaced declaration on
IRIX 5.3.
Reported by Tom G. Christensen .
2011-10-31 Dmitry V. Levin
gitlog-to-changelog: fix git-log invocation.
git-log mishandles date strings before 1970-01-01 UTC, and there is
no use to specify --since=1970-01-01 by default anyway.
* build-aux/gitlog-to-changelog: By default, when no --since option
was given, do not specify explicit --since option to git-log.
2011-10-30 Dmitry V. Levin
gitlog-to-changelog: new option --append-dot.
* build-aux/gitlog-to-changelog: New option --append-dot, makes the
first non-blank line of each commit message terminated with a dot.
2011-10-30 Bruno Haible
ffsl, ffsll: Avoid compilation error due to 'restrict'.
* lib/ffsl.h: Include .
Suggested by Tom G. Christensen .
2011-10-30 Jim Meyering
GNUmakefile: reenable "make syntax-check" for most projects
Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
build-aux variable", "syntax-check" would do nothing but succeed with
the "No version control files detected..." diagnostic (unless you
happened to override _build-aux via cfg.mk).
* top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
to precede inclusion of maint.mk. Otherwise, these variables would
be used undefined in any project that does not override the default.
2011-10-29 Dmitry V. Levin
gitlog-to-changelog: treat a message with only blank lines as empty.
* build-aux/gitlog-to-changelog: Move the code that removes leading and
trailing blank lines before the code that issues a warning about an
empty commit message.
2011-10-30 Jim Meyering
test-parse-datetime.c: avoid new DST-related false positive test failure
* tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
based on the time/date we'll convert, not the current time.
Otherwise, the moment we cross a DST boundary like today's in
Europe, (CEST to CET), that offset ends up being one hour off.
2011-10-27 Bruno Haible
fstat: Tweak documentation.
* modules/fstat (Description): More precise description.
2011-10-27 Bruno Haible
Update documentation regarding 'largefile' module.
* doc/posix-functions/fstat.texi: Tweak wording.
* doc/posix-functions/opendir.texi: Mention that the module fixes the
problems with huge directories and/or small ino_t types.
* doc/posix-functions/readdir.texi: Likewise.
* doc/posix-functions/rewinddir.texi: Likewise.
2011-10-28 Gary V. Vaughan
maint.mk: don't maintain a second build-aux variable.
* maint.mk (build_aux): Removed. The maintainer-makefile module
depends on GNUmakefile, which already maintains a cfg.mk
overridable $(_build-aux) for projects with a non-standard
build-aux directory location, although without the $(srcdir)
prefix. Use that variable consistently instead of introducing a
second one. Adjust all call sites.
2011-10-27 Paul Eggert
Add stdalign module and use it in other modules.
This is based on a previous proposal by Bruno Haible
.
stdalign: new module
* doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
* modules/stdalign: New files.
* MODULES.html.sh (c1x_core_properties): Add stdalign.
* doc/gnulib.texi (Header File Substitutes): Add stdalign.
stdalign-tests: new module
* modules/stdalign-tests, tests/test-stdalign.c: New files.
argp: use stdalign
* lib/argp-parse.c: Include .
(alignof): Remove.
* modules/argp (Depends-on): Add stdalign.
crypto libraries: use stdalign
* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
Include and . Do not include .
Do not include twice, in md4.c.
(UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t,
because we are accessing a pointer's bit-pattern, not a size.
* modules/crypto/gc-md4 (Depends-on): Add stdalign.
* modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
* modules/crypto/sha512: Likewise.
sys_socket: use stdalign, not alignof
* lib/sys_socket.in.h: Include instead of .
* modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
2011-10-27 Bruno Haible
raise test: Avoid a test failure on Linux/MIPS.
* tests/test-raise.c (main): Try raising signal 199, not 99. Needed
because 99 is a valid signal on Linux/MIPS.
2011-10-27 Bruno Haible
nonblocking tests: Fix test failure on Linux/MIPS.
* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
Set to 270000.
2011-10-27 Bruno Haible
utimensat: Work around problem on Linux/hppa.
* lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
values.
* doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
2011-10-25 Jim Meyering
maint.mk: fix a bug in sc_prohibit_stddef_without_use
* top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
after symbols like NULL, size_t, etc.
Reported by Alfred M. Szmidt.
maint.mk: exempt ENODATA from a syntax-check rule
* top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
from the sc_prohibit_always-defined_macros syntax-check rule.
Add a comment. See this for more details:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
2011-10-23 Jim Meyering
fts: close parent dir FD before returning from post-traversal fts_read
The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
unlink A, even though an FD open on A remained. This is suboptimal
(holding a file descriptor open longer than needed), but otherwise not
a problem on Unix-like kernels. However, on Cygwin with certain Novell
file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
that represents a real problem: it causes the removal of A to fail
with e.g., "rm: cannot remove `A': Device or resource busy"
fts visits each directory twice and keeps a cache (fts_fd_ring) of
directory file descriptors. After completing the final, FTS_DP,
visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
cache, but then proceeded to add a new FD to it via the subsequent
FCHDIR (which calls cwd_advance_fd and i_ring_push). Before, the
final file descriptor would be closed only via fts_close's call to
fd_ring_clear. Now, it is usually closed earlier, via the final
FTS_DP-returning fts_read call.
* lib/fts.c (restore_initial_cwd): New function, converted from
the macro. Call fd_ring_clear *after* FCHDIR, not before it.
Update callers.
Reported by Franz Sirl via the above URL, with analysis by Eric Blake
in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
2011-10-23 Gary V. Vaughan
Bruno Haible
Jim Meyering
readme-release: improve safety of release prep instructions.
* README-release: Don't git pull all branches when only master
is needed for the release process.
Run make maintainer-clean before changing trees and merging.
Don't try to run ./configure right after git pull in case files
that influence the bootstrap process have changed, move the
./configure step to after running ./bootstrap.
Don't bootstrap "one last time"... it's the first time!
2011-10-22 Bruno Haible
errno, strerror-override: Support for MSVC 10.
* lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
(ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
Assign values compatible with MSVC 10.
(ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
New macros.
(GNULIB_defined_EWINSOCK): New macro.
* lib/strerror-override.c (strerror_override): Update accordingly.
* lib/strerror-override.h: Likewise.
* lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
longer equal to the corresponding errno value.
Reported by Michael Goffioul .
2011-10-22 Bruno Haible
perror: Recognize when test program crashes.
* m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
strerror, set gl_cv_func_perror_works to no.
Reported by Daniel Richard G. .
perror: Fix indentation.
* m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
2011-10-22 Bruno Haible
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
* lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
_GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
(isfinite, isinf, isnan, signbit): In C++, define as overloaded
functions, not as a macro.
* tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
macros.
(isfinite, isinf, isnan, signbit): Check overloaded functions and
absence of macro.
Suggested by Eric Blake.
Reported by Michael Goffioul .
2011-10-21 Bruno Haible
relocatable-prog-wrapper: Don't leave object files behind.
* build-aux/install-reloc: Re-synchronize list of .o files to be
removed with list of compilation units.
2011-10-20 Bruno Haible
openpty, posix_openpt: Remove code duplication.
* lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
* lib/openpty.c: Include .
(openpty): Use posix_openpt on all platforms except IRIX.
* modules/openpty (Depends-on): Add posix_openpt. Add conditions.
2011-10-20 Bruno Haible
unlockpt: Detect invalid argument.
* lib/unlockpt.c: Include .
(unlockpt): Check whether fd is valid, using fcntl().
* modules/unlockpt (Depends-on): Add fcntl-h.
2011-10-20 Bruno Haible
openpty: Avoid compilation error on AIX 6.1.
* lib/pty.in.h [AIX]: Include , for 'struct winsize'.
2011-10-20 Bruno Haible
posix_openpt: Support for OpenBSD.
* lib/posix_openpt.c [OpenBSD]: Include , .
(posix_openpt) [OpenBSD]: New code.
* lib/grantpt.c: Include .
(grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
* modules/grantpt (Depends-on): Add fcntl-h.
2011-10-20 Bruno Haible
posix_openpt test: Coding style.
* tests/test-posix_openpt.c: Use GNU coding style.
2011-10-20 Bruno Haible
grantpt: Support --avoid=pt_chown.
* modules/grantpt (Files): Add lib/pty-private.h.
2011-10-20 Bruno Haible
posix_openpt: Fix autoconf macro.
* m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
unneeded check for _getpty.
2011-10-20 Bruno Haible
openpty: Update comments.
* lib/openpty.c: Add comments about Minix.
2011-10-19 Eric Blake
openpty: relax license
* modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
pt_chown: use configmake to simplify build
* modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
ptsname and others: relax license
* modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
* modules/unlockpt (License): Likewise.
* modules/pt_chown (License): Likewise.
* modules/ptsname (License): Likewise.
* modules/ttyname_r (License): Likewise.
2011-10-19 Jim Meyering
posix_openpt: remove spurious #endif
* lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
2011-10-19 Gary V. Vaughan
maint.mk: Respect $(build_aux) in web-manual rule.
* top/maint.mk (web-manual): Find gen-announce script in user's
$(build_aux) directory instead of hard-coding 'build-aux'.
2011-10-19 Bruno Haible
posix_openpt: Fix compilation error.
* lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
* doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
Mention the openpty module as an alternative.
2011-10-19 Bruno Haible
Support for old NeXTstep 3.3 frexp().
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
execution time of the test to 5 seconds.
Reported by Daniel Richard G. .
2011-10-19 Bruno Haible
Support for old NeXTstep 3.3 sed.
* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
part, use /.../, not \|...|. Escape periods in the header file name.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
Reported by Daniel Richard G. .
2011-10-18 Daniel Richard G. (tiny change)
Support for old NeXTstep 3.3 gcc.
* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
* lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
* lib/spawn.in.h (_Restrict_arr_): Likewise.
* lib/regex.h (_Restrict_arr_): Likewise.
* lib/regex_internal.h (re_token_t): Likewise.
* lib/regexec.c (check_node_accept_bytes): Likewise.
* tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
2011-10-18 Eric Blake
posix_openpt: new module
* modules/posix_openpt: New module.
* m4/posix_openpt.m4: New file.
* lib/posix_openpt.c: Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
(gl_STDLIB_H_DEFAULTS): Set defaults.
* modules/stdlib (Makefile.am): Substitute macros.
* lib/stdlib.in.h (posix_openpt): Declare.
* MODULES.html.sh (systems lacking POSIX:2008): Document it.
* doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
* modules/posix_openpt-tests: New test module.
* tests/test-posix_openpt.c: New test.
2011-10-15 Bruno Haible
xstrtoll: Fix compilation failure.
* lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
from lib/strtol.c.
* doc/posix-headers/limits.texi: Mention missing numerical limits on
some platforms.
Reported by Tom G. Christensen .
2011-10-15 Bruno Haible
vasnprintf: Optimize bit search operation.
* lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
gl_DOUBLE_EXPONENT_LOCATION.
* modules/vasnprintf (Files): Add m4/exponentd.m4.
* modules/unistdio/u8-vasnprintf (Files): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
* modules/unistdio/u16-vasnprintf (Files): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
* modules/unistdio/u32-vasnprintf (Files): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
* modules/unistdio/ulc-vasnprintf (Files): Likewise.
* m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
2011-10-15 Bruno Haible
vasnprintf: Fix comments.
* lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
2011-10-14 Bruno Haible
Tests for module 'integer_length_ll'.
* modules/integer_length_ll-tests: New file.
* tests/test-integer_length_ll.c: New file.
New module 'integer_length_ll'.
* lib/integer_length_ll.c: New file.
* modules/integer_length_ll: New file.
2011-10-14 Bruno Haible
Tests for module 'integer_length_l'.
* modules/integer_length_l-tests: New file.
* tests/test-integer_length_l.c: New file.
New module 'integer_length_l'.
* lib/integer_length_l.c: New file.
* modules/integer_length_l: New file.
2011-10-14 Bruno Haible
Tests for module 'integer_length'.
* modules/integer_length-tests: New file.
* tests/test-integer_length.c: New file.
New module 'integer_length'.
* lib/integer_length.h: New file.
* lib/integer_length.c: New file.
* modules/integer_length: New file.
2011-10-14 Daniel Richard G. (tiny change)
popen: Fix dependency conditions.
* modules/popen (Depends-on, configure.ac): Fix shell syntax error.
2011-10-14 Daniel Richard G. (tiny change)
perror: Fix autoconf test.
* m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
and .
2011-10-14 Bruno Haible
ffsl: Optimize on 64-bit platforms.
* lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
unrolling.
2011-10-13 Bruno Haible
ffsl: Optimize on 32-bit platforms.
* lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
use ffs() without a loop.
ffsl, ffsll: Optimize for GCC.
* lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
* lib/ffsl.c (GCC_BUILTIN): New macro.
* lib/ffsll.c (GCC_BUILTIN): Likewise.
2011-10-13 Bruno Haible
ffs, bcopy, memset: Support symbol renaming via config.h.
* lib/ffs.c: Include .
* lib/bcopy.c: Likewise.
* lib/memset.c: Likewise.
2011-10-10 Bruno Haible
atanl: Simplify for platforms where 'long double' == 'double'.
* lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
alternative implementation.
* m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
* modules/atanl (Depends-on): Add atan. Update conditions.
2011-10-10 Bruno Haible