* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
* lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
* lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
test for a truncated result.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
* modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
* modules/getlogin_r (Depends-on): Add memchr.
* doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
* doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
instead of "guessing no" when the OSF/1 bug or the Solaris bug is
present.
* lib/ttyname_r.c (ttyname_r): Update comments.
* doc/posix-functions/gai_strerror.texi: Return type is also an
issue on Solaris 9 and earlier.
* doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
on Solaris 10 and earlier.
* modules/roundl-ieee: New file.
* m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
test whether roundl works according to ISO C 99 with IEC 60559.
* m4/roundl-ieee.m4: New file.
* modules/roundl-ieee-tests: New file.
* tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
* tests/test-roundl.c (main): Remove signbit tests.
* modules/roundl-tests (Depends-on): Remove signbit.
* doc/posix-functions/roundl.texi: Mention the new module.
* modules/truncl-ieee: New file.
* modules/truncl-ieee-tests: New file.
* tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
* tests/test-truncl.c (main): Remove signbit tests.
* modules/truncl-tests (Depends-on): Remove signbit.
* doc/posix-functions/truncl.texi: Mention the new module.
* modules/ceill-ieee: New file.
* modules/ceill-ieee-tests: New file.
* tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
* tests/test-ceill.c (main): Remove signbit tests.
* modules/ceill-tests (Depends-on): Remove signbit.
* doc/posix-functions/ceill.texi: Mention the new module.
* modules/floorl-ieee: New file.
* modules/floorl-ieee-tests: New file.
* tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
* tests/test-floorl.c (main): Remove signbit tests.
* modules/floorl-tests (Depends-on): Remove signbit.
* doc/posix-functions/floorl.texi: Mention the new module.
* modules/round-ieee: New file.
* m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
whether round works according to ISO C 99 with IEC 60559.
* m4/round-ieee.m4: New file.
* modules/round-ieee-tests: New file.
* tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
* tests/test-round1.c (main): Remove signbit tests.
* modules/round-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/round.texi: Mention the new module.
* modules/trunc-ieee: New file.
* m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
whether trunc works according to ISO C 99 with IEC 60559.
* m4/trunc-ieee.m4: New file.
* lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
* modules/math (Makefile.am): Substitute REPLACE_TRUNC.
* modules/trunc-ieee-tests: New file.
* tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
* tests/test-trunc1.c (main): Remove signbit tests.
* modules/trunc-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/trunc.texi: Mention the new module.
* modules/ceil-ieee: New file.
* m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
ISO C 99 with IEC 60559.
* m4/ceil-ieee.m4: New file.
* modules/ceil (Files): Add lib/ceil.c.
(Depends-on): Add 'float'.
(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
* lib/math.in.h (ceil): New declaration.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
REPLACE_CEIL.
* modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
* modules/ceil-ieee-tests: New file.
* tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
* tests/test-math-c++.cc: Check the signature of 'ceil'.
* doc/posix-functions/ceil.texi: Mention the new module.
* modules/floor-ieee: New file.
* m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
ISO C 99 with IEC 60559.
* m4/floor-ieee.m4: New file.
* modules/floor (Files): Add lib/floor.c.
(Depends-on): Add 'float'.
(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
* lib/math.in.h (floor): New declaration.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
REPLACE_FLOOR.
* modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
* modules/floor-ieee-tests: New file.
* tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
* tests/test-math-c++.cc: Check the signature of 'floor'.
* doc/posix-functions/floor.texi: Mention the new module.
* modules/roundf-ieee: New file.
* m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
test whether roundf works according to ISO C 99 with IEC 60559.
* m4/roundf-ieee.m4: New file.
* modules/roundf-ieee-tests: New file.
* tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
* tests/test-roundf1.c (main): Remove signbit tests.
* modules/roundf-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/roundf.texi: Mention the new module.
* modules/truncf-ieee: New file.
* m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
test whether truncf works according to ISO C 99 with IEC 60559.
* m4/truncf-ieee.m4: New file.
* lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
* modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
* modules/truncf-ieee-tests: New file.
* tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
* tests/test-truncf1.c (main): Remove signbit tests.
* modules/truncf-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/truncf.texi: Mention the new module.
* modules/ceilf-ieee: New file.
* m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
test whether ceilf works according to ISO C 99 with IEC 60559.
* m4/ceilf-ieee.m4: New file.
* modules/ceilf-ieee-tests: New file.
* tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
* tests/test-ceilf1.c (main): Remove signbit tests.
* modules/ceilf-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/ceilf.texi: Mention the new module.
* modules/floorf-ieee: New file.
* m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
test whether floorf works according to ISO C 99 with IEC 60559.
* m4/floorf-ieee.m4: New file.
* modules/floorf-ieee-tests: New file.
* tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
* tests/test-floorf1.c (main): Remove signbit tests.
* modules/floorf-tests (Depends-on): Remove 'signbit'.
* doc/posix-functions/floorf.texi: Mention the new module.
* lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
HAVE_TTYNAME_R.
* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
declared. Set HAVE_TTYNAME_R always.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
* modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
HAVE_TTYNAME_R.
* doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
* lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
HAVE_TCGETSID.
* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
Don't set HAVE_TCGETSID.
* m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
* modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
HAVE_TCGETSID.
* doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
* m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
Don't set HAVE_UNSETENV. In the test program, set _BSD.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
not HAVE_UNSETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
HAVE_UNSETENV.
* doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
* lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
declared. Don't set HAVE_SETENV.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
not HAVE_SETENV.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
HAVE_SETENV.
* doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
* modules/pipe-posix: New file.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
(gl_UNISTD_H): Check for declaration.
* modules/unistd (Makefile.am): Substitute it.
* lib/unistd.in.h (pipe): Provide it for mingw.
* doc/posix-functions/pipe.texi (pipe): Update documentation.
* MODULES.html.sh (File descriptor based Input/Output): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
NetBSD; the test fails on NetBSD 5.0.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about NetBSD.
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
MacOS X; the test fails on MacOS X 10.5.8.
* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
about MacOS X.
* m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
(gl_FUNC_FCHOWNAT): Invoke it.
* lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
* doc/posix-functions/fchownat.texi: Document the glibc bug.
Reported by Gary V. Vaughan <gary@gnu.org>.
* lib/string.in.h (strerror_r): New declaration.
* lib/strerror_r.c: New file.
* m4/strerror_r.m4: New file.
* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
of strerror_r.
(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
* modules/strerror_r-posix: New file.
* modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
* doc/posix-functions/strerror_r.texi: Mention the new module and the
portability problems.
* lib/stdio.in.h: Include <unistd.h> on Solaris.
* lib/renameat.c: Don't include <unistd.h> here.
* doc/posix-functions/renameat.texi: Mention the Solaris problem.
Reported by Paul Eggert and Eric Blake.
Revert "test-futimens: avoid unwarranted test failure on Solaris 5.11"
This reverts commit 0afab138f4.
* m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
* tests/test-futimens.h (test_futimens): Enhance, rather than
weaken test.
* doc/posix-functions/futimens.texi (futimens): Document the bug.
Signed-off-by: Eric Blake <eblake@redhat.com>