doc/posix-functions


Log

Author Commit Date CI Message
Bruno Haible 0ff4d2d5 2023-01-03T19:48:59 ffs: Document Android problem. * doc/posix-functions/ffs.texi: Mention Android problem. * m4/ffs.m4: Update comment.
Paul Eggert ea26437b 2022-12-24T00:10:23 doc: C2x → C23
Paul Eggert ee37744d 2022-12-21T13:25:39 asctime, ctime: deprecate C23 deprecates asctime and ctime, so deprecate them in Gnulib too. * NEWS, doc/posix-functions/asctime.texi: * doc/posix-functions/ctime.texi: Mention this. * lib/time.in.h (ctime): Deprecate any ctime replacement. * modules/ctime: Now obsolete.
Pádraig Brady 2f7479a1 2022-12-02T14:45:23 doc: poll: document poll of special files not supported on macOS * doc/posix-functions/poll.texi: Reinstate (updated) macOS info, removed in recent cleanup re removal of support for Mac OS X <= 10.4. * m4/poll.m4: Update macOS to latest tested version.
Paul Eggert e4603ee9 2022-11-27T20:52:04 memset_explicit: new module * doc/posix-functions/memset_explicit.texi, lib/memset_explicit.c: * m4/memset_explicit.m4, modules/memset_explicit: * modules/memset_explicit-tests, tests/test-memset_explicit.c: New files. * lib/string.in.h (memset_explict): New decl. * m4/string_h.m4 (gl_STRING_H, gl_STRING_H_REQUIRE_DEFAULTS) (gl_STRING_H_DEFAULTS): * modules/string (string.h): Support memset_explicit.
Paul Eggert 48405111 2022-11-03T11:43:45 doc: mention macOS war on sprintf * doc/posix-functions/sprintf.texi, doc/posix-functions/vsnprintf.texi: Mention that these functions are deprecated.
Bruno Haible 841e32cc 2022-10-17T02:44:54 getdelim: Work around buggy implementation on macOS 10.13. * doc/posix-functions/getdelim.texi: Mention the macOS bug. * m4/getdelim.m4 (gl_FUNC_GETDELIM): Let the "checking for working getdelim function" test answer 'no' on macOS.
Bruno Haible bfcd9671 2022-09-04T13:26:19 nanosleep: Work around bug on newer 32-bit mingw. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Test for 32-bit mingw bug. * tests/test-nanosleep.c (main): Add another test. * doc/posix-functions/nanosleep.texi: Mention the mingw bug.
Bruno Haible 73ea8982 2022-09-04T04:48:31 fmal: Work around glibc 2.17 bug on x86_64. * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Test against bug seen on glibc 2.17 x86_64. * doc/posix-functions/fmal.texi: Update info.
Bruno Haible 5d2d12d7 2022-07-14T21:57:16 doc: Fix typo. Reported by Eric Gallager <egall@gwmail.gwu.edu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00045.html>. * doc/posix-functions/mmap.texi: Add parenthesis.
Bruno Haible 2f1bb591 2022-06-22T01:43:52 chmod: New module. * lib/sys_stat.in.h (chmod): Declare when GNULIB_CHMOD is 1. * lib/chmod.c: New file, based on lib/lchmod.c. * m4/chmod.m4: New file, based on m4/fchmodat.m4. * m4/sys_stat_h.m4 (gl_SYS_STAT_H): Test whether chmod is declared. (gl_SYS_STAT_H_REQUIRE_DEFAULTS): Initialize GNULIB_CHMOD. (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_CHMOD. * modules/sys_stat (Makefile.am): Substitute GNULIB_CHMOD, REPLACE_CHMOD. * modules/chmod: New file, based on modules/lchmod. * doc/posix-functions/chmod.texi: Mention the new module and the problems on IRIX and Windows.
Paul Eggert 8f71b269 2022-06-19T23:30:01 lchmod: port back to AIX 7.2 Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html * lib/lchmod.c: Include string.h, for strlen. (lchmod): Do not depend on HAVE_READLINK since we now depend on the readlink module. Check for AIX 7.2 bug. * m4/lchmod.m4 (gl_PREREQ_LCHMOD): Do not check for readlink since we now depend on the readlink module. * modules/lchmod (Depends-on): Depend on readlink.
Paul Eggert 34a93be8 2022-04-26T14:54:26 glob: port to NetBSD 9.2 Problem reported by Benno Schulenberg in: https://lists.gnu.org/r/bug-gnulib/2022-04/msg00052.html * doc/posix-functions/dirfd.texi: Document NetBSD 9.2 portability bugs. Remove an old common about errno that is no longer true of POSIX 2018. * lib/glob.c (glob_in_dir): Convert dirfd arg from void * to DIR * before passing it to dirfd.
Paul Eggert 69822de4 2022-01-27T11:36:00 alignalloc: work around AddressSanitizer bug * doc/posix-functions/aligned_alloc.texi (aligned_alloc): Mention AddressSanitizer bug. * lib/alignalloc.h (ALIGNALLOC_VIA_ALIGNED_ALLOC): Define to 0 if AddressSanitizer is in use. * tests/test-alignalloc.c (test_alignalloc): New function, which tests for non-aligned sizes too. (main): Use it. Don’t bother checking for alignments greater than 16 MiB, as this flummoxes AddressSanitizer and there seems little point to testing them.
Paul Eggert d45d1618 2021-12-28T12:03:37 clock_getres: document portability issues better * doc/posix-functions/clock_getres.texi: * doc/posix-functions/timespec_getres.texi: Document problems with timestamp resolution.
Paul Eggert af4148ce 2021-12-28T11:39:17 timespec_getres: new module * lib/time.in.h (timespec_getres): New decl. * lib/timespec_getres.c, m4/timespec_getres.m4: * modules/timespec_getres, modules/timespec_getres-tests: * tests/test-timespec_getres.c: New files. * m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS, gl_TIME_H_DEFAULTS): * modules/time (time.h): Support timespec_getres.
Paul Eggert 0f42dafa 2021-12-28T11:38:33 gettime-res: new module * lib/gettime-res.c, modules/gettime-res: New files. * lib/timespec.h (gettime_res): New decl. * m4/clock_time.m4 (gl_CLOCK_TIME): Also check for clock_getres. * m4/gettime.m4 (gl_GETTIME_RES): New macro.
Paul Eggert 17936033 2021-12-28T11:38:32 clock_gettime: improve doc
Bruno Haible 39685a37 2021-12-26T12:46:40 pselect: Fix compilation error in C++ mode on AIX 7. * lib/sys_select.in.h (pselect): Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS. * doc/posix-functions/pselect.texi: Mention the AIX problem.
Bruno Haible 2a0fb7f6 2021-12-24T16:29:58 doc: Small updates. * doc/glibc-functions/ptsname_r.texi: Update info regarding Mac OS X. * doc/posix-functions/getlogin_r.texi: Update info regarding FreeBSD.
Paul Eggert 4db8db34 2021-11-15T15:08:25 lseek: port around macOS SEEK_DATA glitch Problem reported by Sudhip Nashi (Bug#51857). * doc/posix-functions/lseek.texi (lseek): Mention macOS SEEK_DATA issue. * lib/lseek.c (rpl_lseek): Work around macOS portability glitch. * m4/lseek.m4 (gl_FUNC_LSEEK): Replace lseek on Darwin. * modules/lseek (Depends-on): Depend on msvc-nothrow and fstat only if needed.
Bruno Haible 8f4538a5 2021-08-14T22:07:33 doc: Update for glibc 2.34. * doc/posix-functions/timespec_getres.texi: New file. * doc/glibc-functions/_Fork.texi: New file. * doc/glibc-functions/closefrom.texi: New file. * doc/glibc-functions/dn_comp.texi: New file. * doc/glibc-functions/dn_skipname.texi: New file. * doc/glibc-functions/execveat.texi: New file. * doc/glibc-functions/posix_spawn_file_actions_addclosefrom_np.texi: New file. * doc/glibc-functions/res_dnok.texi: New file. * doc/glibc-functions/res_hnok.texi: New file. * doc/glibc-functions/res_mailok.texi: New file. * doc/glibc-functions/res_nmkquery.texi: New file. * doc/glibc-functions/res_nquery.texi: New file. * doc/glibc-functions/res_nquerydomain.texi: New file. * doc/glibc-functions/res_nsearch.texi: New file. * doc/glibc-functions/res_nsend.texi: New file. * doc/glibc-functions/res_ownok.texi: New file. * doc/glibc-functions/res_send.texi: New file. * doc/gnulib.texi: Include them. * doc/glibc-functions/inet_neta.texi: Remove file. * doc/glibc-functions/malloc_get_state.texi: Remove file. * doc/glibc-functions/malloc_set_state.texi: Remove file. * doc/glibc-functions/pthread_mutex_consistent_np.texi: Remove file. * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: Remove file. * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: Remove file. * doc/glibc-functions/pthread_yield.texi: Remove file. * doc/gnulib.texi: Don't include them. * doc/glibc-headers/resolv.texi: Update. * doc/pastposix-functions/h_errno.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Paul Eggert 9c4b4b08 2021-05-20T11:24:52 fstatat: doc improvement * doc/posix-functions/fstatat.texi (fstatat): Mention AT_EMPTY_PATH when talking about empty strings.
Bruno Haible 301426c0 2021-05-13T21:23:09 fstatat: Document a glibc 2.7 bug. * doc/posix-functions/fstatat.texi: Document an old glibc 2.7 bug.
Bruno Haible 4d42b019 2021-05-13T15:48:38 posix_spawn, posix_spawnp: Fix build error on Minix 3.3. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): If posix_spawn does not exist but is declared, set REPLACE_POSIX_SPAWN. * doc/posix-functions/posix_spawn.texi: Update platforms list. * doc/posix-functions/posix_spawnp.texi: Likewise.
Bruno Haible 295626fb 2021-04-18T13:58:56 malloc-posix, realloc-posix, calloc-posix: Document affected platforms. * doc/posix-functions/malloc.texi: Re-add platforms list. * doc/posix-functions/realloc.texi: Likewise. * doc/posix-functions/calloc.texi: Likewise.
Paul Eggert 58fe1054 2021-04-17T18:44:25 malloc, etc.: check for ptrdiff_t overflow In glibc 2.30 and later, malloc, realloc and calloc reject attempts to create objects larger than PTRDIFF_MAX bytes. This patch changes malloc-gnu etc. to support this behavior on non-GNU hosts. It also makes this change for malloc-posix etc. since it’s a safety measure that ought to be in POSIX (perhaps we can talk them into that...). In writing this patch I found a complicated set of code that had accumulated over the years, some written by yours truly. I got rid of the code I couldn’t see the need for nowadays. Among other things, the GNU realloc behavior is no longer incompatible with the C standard, because in C17 the latter was relaxed to allow the former. If I went too far in cleaning up, the old stuff can be resurrected. This change is mostly for 32-bit platforms, since practical 64-bit platforms cannot create objects larger than PTRDIFF_MAX bytes anyway. * doc/posix-functions/calloc.texi: * doc/posix-functions/malloc.texi: * doc/posix-functions/realloc.texi: Mention ptrdiff_t issues, and go into more detail about what the gnu extension module does. * doc/posix-functions/realloc.texi: Fix now-obsolete commentary about C99 vs glibc, as C17 allows the glibc behavior and POSIX will follow suit when it gets around to it. * lib/calloc.c, lib/malloc.c, lib/realloc.c: Simplify by always supplying a GNU-compatible version, as that suffices for correctness and is good enough for performance. Include xalloc-oversized.h, and use xalloc_oversized to check for ptrdiff_t overflow. (NEED_CALLOC_GNU, NEED_MALLOC_GNU, NEED_REALLOC_GNU): Remove. * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Don’t start with a newline. Fix message to match behavior. * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don’t test for size_t overflow, as the ptrdiff_t test is good enough. * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Do not define HAVE_CALLOC_GNU, HAVE_MALLOC_GNU, HAVE_REALLOC_GNU. It’s not worth the aggravation of maintaining these, as they are confusing (they don’t really mean GNU-compatible anyway). Don’t bother testing for GNU behavior if we have already decided to replace the function, since the replacement is always GNUish. * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Defer to gl_FUNC_MALLOC_POSIX. * m4/malloc.m4 (gl_FUNC_MALLOC_PTRDIFF, gl_CHECK_MALLOC_PTRDIFF): New macros. (gl_FUNC_MALLOC_POSIX): Use them to check for ptrdiff_t overflow. * modules/calloc-gnu, modules/malloc-gnu, modules/realloc-gnu: Remove no-longer-needed module indicators. * modules/calloc-posix, modules/malloc-posix, modules/realloc-posix: Depend on xalloc-oversized. * modules/malloc-posix: Require gl_FUNC_MALLOC_POSIX instead of calling it directly, so that other code can require it. * modules/realloc-posix: Depend on free-posix and malloc-posix.
Bruno Haible 04a9dd8f 2021-04-17T15:29:16 doc: Update for FreeBSD 11.0, 12.0, 13.0. * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Update cross-compilation guess.
Bruno Haible 9a120afc 2021-04-04T12:14:59 doc: Fix syntax error (regression from 2021-04-02). * doc/posix-functions/strtol.texi: Put @item inside @itemize block.
Bruno Haible ea1816fd 2021-04-02T20:46:15 strtoll: Work around a bug on native Windows and Minix. * lib/stdlib.in.h (strtoll): Override if REPLACE_STRTOLL is 1. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_STRTOLL. * m4/strtoll.m4 (gl_FUNC_STRTOLL): Test whether strtoll works. Set REPLACE_STRTOLL. * modules/stdlib (Makefile.am): Substitute REPLACE_STRTOLL. * modules/strtoll (configure.ac): Test REPLACE_STRTOLL. * tests/test-strtoll.c (main): Add tests of hexadecimal integer syntax. * doc/posix-functions/strtoll.texi: Mention the bug.
Bruno Haible 705c2369 2021-04-02T20:42:13 strtol: Work around a bug on native Windows and Minix. * lib/stdlib.in.h (strtol): New declaration. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtol is declared. (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOL, HAVE_STRTOL, REPLACE_STRTOL. * m4/strtol.m4 (gl_FUNC_STRTOL): Require gl_STDLIB_H_DEFAULTS. Test whether strtol works. Set REPLACE_STRTOL. * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOL, HAVE_STRTOL, REPLACE_STRTOL. * modules/strtol (Status, Notice): Remove. (Depends-on): Add stdlib. (configure.ac): Test HAVE_STRTOL and REPLACE_STRTOL. Invoke gl_STDLIB_MODULE_INDICATOR. * tests/test-strtol.c (main): Add tests of hexadecimal integer syntax. * doc/posix-functions/strtol.texi: Mention the bug.
Bruno Haible 837ffb5e 2021-04-02T20:14:28 strtoull: Work around a bug on native Windows and Minix. * lib/stdlib.in.h (strtoull): Override if REPLACE_STRTOULL is 1. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_STRTOULL. * m4/strtoull.m4 (gl_FUNC_STRTOULL): Test whether strtoull works. Set REPLACE_STRTOULL. * modules/stdlib (Makefile.am): Substitute REPLACE_STRTOULL. * modules/strtoull (configure.ac): Test REPLACE_STRTOULL. * tests/test-strtoull.c (main): Add tests of hexadecimal integer syntax. * doc/posix-functions/strtoull.texi: Mention the bug.
Bruno Haible cbff21f9 2021-04-02T19:56:28 strtoul: Work around a bug on native Windows and Minix. Reported by Eric Blake <eblake@redhat.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00082.html>. * lib/stdlib.in.h (strtoul): New declaration. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtoul is declared. (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOUL, HAVE_STRTOUL, REPLACE_STRTOUL. * m4/strtoul.m4 (gl_FUNC_STRTOUL): Require gl_STDLIB_H_DEFAULTS. Test whether strtoul works. Set REPLACE_STRTOUL. * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOUL, HAVE_STRTOUL, REPLACE_STRTOUL. * modules/strtoul (Status, Notice): Remove. (Depends-on): Add stdlib. (configure.ac): Test HAVE_STRTOUL and REPLACE_STRTOUL. Invoke gl_STDLIB_MODULE_INDICATOR. * tests/test-strtoul.c (main): Add tests of hexadecimal integer syntax. * doc/posix-functions/strtoul.texi: Mention the bug.
Bruno Haible 92ee1fe6 2021-03-22T13:47:44 doc: Mention an open glibc bug. * doc/posix-functions/mbrtowc.texi: Mention the possible out-of-range wchar_t values returned by this function on glibc. * doc/posix-functions/mbtowc.texi: Likewise.
Bruno Haible 0b06bc0c 2021-03-21T16:03:57 doc: More updates. * doc/glibc-functions/sethostname.texi: Update regarding macOS. * doc/glibc-functions/sethostname.texi: List the affected platforms.
Bruno Haible 79c4db53 2021-03-21T14:56:02 doc: Update for macOS 11.1. * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Update cross-compilation guess.
Bruno Haible 49855b3b 2021-03-21T12:30:33 ftell: Document bug in macOS >= 10.15. * doc/posix-functions/ftell.texi: Mention the macOS bug.
Bruno Haible a646e362 2021-03-21T03:46:05 ftello: Work around bug in macOS >= 10.15. Reported by Martin Storsjö <martin@martin.st> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00002.html>. * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): On macOS, don't define FUNC_UNGETC_BROKEN. Instead, set gl_ftello_broken_after_ungetc to yes. * m4/ftello.m4 (gl_FUNC_FTELLO): Invoke gl_FUNC_UNGETC_WORKS, and arrange to provide the workaround if ftello is broken after ungetc. * lib/ftello.c: Include <errno.h>, intprops.h. (ftello) [FTELLO_BROKEN_AFTER_UNGETC]: Implement from scratch. * modules/ftello (Files): Add m4/ungetc.m4. (Depends-on): Add intprops. * doc/posix-functions/ftello.texi: Mention the macOS bug.
Bruno Haible fa6c6f2a 2021-03-06T13:49:52 free-posix: Update documentation. * doc/posix-functions/free.texi: Add platform details.
Bruno Haible 3699ec97 2021-03-06T13:49:30 doc: Update for glibc 2.33. * doc/glibc-functions/mallinfo2.texi: New file. * doc/gnulib.texi: Include it. (Glibc sys/vtimes.h): Remove section. * doc/glibc-functions/vtimes.texi: Remove file. * doc/pastposix-functions/h_errno.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise.
Bruno Haible 75461c74 2021-02-21T21:39:07 string-buffer: New module. * lib/string-buffer.h: New file. * lib/string-buffer.c: New file. * modules/string-buffer: New file. * doc/posix-functions/open_memstream.texi: Mention the new module.
Bruno Haible 548423f2 2021-02-08T21:35:14 Document non-standard prototypes on MidnightBSD. * doc/posix-functions/initstate.texi: Mention different prototype on MidnightBSD 2.0. * doc/posix-functions/srandom.texi: Likewise. * doc/posix-functions/getlogin_r.texi: Likewise. * doc/glibc-functions/sethostname.texi: Likewise.
Bruno Haible b3f18c63 2021-02-07T17:34:59 wcwidth: Document MidnightBSD bug. * doc/posix-functions/wcwidth.texi: Mention MidnightBSD as an affected platform. * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Update comments.
Bruno Haible 0d42d754 2021-02-07T17:31:24 pthread_sigmask: Document MidnightBSD bug. * doc/posix-functions/pthread_sigmask.texi: Mention MidnightBSD as an affected platform. * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update cross-compilation guess accordingly.
Bruno Haible 7b9b52a9 2021-01-31T13:27:42 fmaf: Document QEMU bug * doc/posix-functions/fmaf.texi: Add note about QEMU bug.
Bruno Haible 4f16dff6 2021-01-31T13:21:24 remainderl: Work around musl libc bug. * doc/posix-functions/remainderl.texi: Document musl libc bug. * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): Add more tests. Update cross compilation guess.
Bruno Haible 231b5036 2021-01-31T13:20:28 log2l: Work around musl libc bugs. * doc/posix-functions/log2l.texi: Document musl libc bugs. * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Add more tests. Update cross compilation guess.
Bruno Haible 6958256b 2021-01-31T13:19:17 log1pl: Work around musl libc bug. * doc/posix-functions/log1pl.texi: Document musl libc bug. * m4/log1pl.m4 (gl_FUNC_LOG1PL_WORKS): New macro. (gl_FUNC_LOG1PL): Invoke it.
Bruno Haible a6be52c6 2021-01-31T13:16:30 log10l: Document musl libc bug. * doc/posix-functions/log10l.texi: Document musl libc bug. * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Update comment and cross compilation guess.
Bruno Haible 84d2f6de 2021-01-31T13:15:38 logl: Document musl libc bug. * doc/posix-functions/logl.texi: Document musl libc bug. * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Update comment and cross compilation guess.
Bruno Haible dc25dacc 2021-01-31T13:14:29 expm1l: Document musl libc bug. * doc/posix-functions/expm1l.texi: Document musl libc bug. * m4/expm1l.m4 (gl_FUNC_EXPM1L): Update comment and cross compilation guess.
Bruno Haible db446a33 2021-01-31T13:10:58 expl: Document musl libc bug. * doc/posix-functions/expl.texi: Document musl libc bug. * m4/expl.m4 (gl_FUNC_EXPL): Update comment and cross compilation guess.
Bruno Haible 36a838b0 2021-01-25T09:59:20 posix_spawn_file_actions_addclose: Relax configure test. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Test a negative file descriptor, not an out-of-range file descriptor. * tests/test-posix_spawn_file_actions_addclose.c (main): Add comment. * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Update.
Simon Josefsson e1f404f4 2021-01-25T08:51:29 getaddrinfo: Doc fix. * doc/posix-functions/getaddrinfo.texi (getaddrinfo): Gnulib does not support IDN.
Bruno Haible 6bb37d98 2021-01-24T10:12:00 getcwd: Fix cross-compilation guess for musl libc. * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Guess no also on musl libc. * doc/posix-functions/getcwd.texi: Update platform info.
Bruno Haible 77ca5f1d 2021-01-20T09:14:18 canonicalize-lgpl: Work around a Cygwin bug. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Test for lstat. Add a test case that involves a symbolic link to an existing file. * doc/posix-functions/realpath.texi: Mention the Cygwin bug.
Bruno Haible 6ee6c718 2021-01-17T22:07:14 canonicalize-lgpl: Work around // handling in realpath() of musl 1.2.2. Reported by Natanael Copa <ncopa@alpinelinux.org> in <https://lists.gnu.org/archive/html/bug-gettext/2021-01/msg00021.html>. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add a test whether // is the same as /, on Linux only. * lib/canonicalize-lgpl.c: Correct indentation of preprocessor directives. * doc/posix-functions/realpath.texi: Mention the musl 1.2.2 bug.
Bruno Haible 028296a9 2021-01-15T10:22:33 doc: Update doc about realpath. * doc/posix-functions/realpath.texi: Update info about macOS.
Bruno Haible c738b11c 2021-01-09T08:20:17 fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2. * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works, also test for the trailing slashes behaviour. Define HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature. * lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle trailing slashes here. * modules/fchmodat (Depends-on): Sort by condition, not alphabetically. * doc/posix-functions/fchmodat.texi: Document the AIX bug.
Bruno Haible b32c83f5 2021-01-09T07:43:37 truncate: Document last workaround. * doc/posix-functions/truncate.texi: Document the AIX bug.
Bruno Haible 08afe3dc 2021-01-06T19:59:10 logb: Fix test failure on glibc/powerpc. * doc/posix-functions/logb.texi: Update platform info. * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative subnormal numbers.
Bruno Haible fde3f75d 2021-01-06T11:06:55 ilogbl: Fix test failures on AIX 7.1 in 64-bit mode. * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized argument. * doc/posix-functions/ilogbl.texi: Mention the AIX bug.
Bruno Haible 1ac1751a 2021-01-06T11:06:25 ilogb: Fix test failures on AIX 7.1 in 64-bit mode. * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized argument. * doc/posix-functions/ilogb.texi: Mention the AIX bug.
Bruno Haible 1ca1485f 2021-01-06T08:47:04 fclose: Fix test failure on AIX 7.2. * m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro. (gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly. * doc/posix-functions/fclose.texi: Update platform information. * doc/posix-functions/fflush.texi: Likewise.
Bruno Haible 9333dcf6 2021-01-06T02:08:41 utimensat: Work around trailing slash bug in utimensat() on AIX 7.2. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a test for trailing slash handling. Improve cross-compilation guesses. Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT. * lib/utimensat.c (rpl_utimensat): Add alternative implementation when HAVE_NEARLY_WORKING_UTIMENSAT is defined. * lib/utimens.c: Use the overridden utimensat when HAVE_NEARLY_WORKING_UTIMENSAT is defined. * doc/posix-functions/utimensat.texi: Mention the AIX bug.
Bruno Haible f120c3d0 2021-01-05T04:48:20 mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2. * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT. * lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT. * lib/mknodat.c: Add an overriding implementation of mknodat(). * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT. * modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT. * modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT. * doc/posix-functions/mknodat.texi: Mention the AIX bug.
Bruno Haible 5e6fdcd6 2021-01-05T04:23:48 mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2. * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects trailing slashes. Set REPLACE_MKFIFOAT if not. * lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT. * lib/mkfifoat.c: Add an overriding implementation of mkfifoat(). * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKFIFOAT. * modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT. * modules/mkfifoat (Depends-on): Add fstatat. (configure.ac): Consider REPLACE_MKFIFOAT. * doc/posix-functions/mkfifoat.texi: Mention the AIX bug.
Bruno Haible 571a0fae 2021-01-04T22:27:47 expm1f-ieee: Work around AIX 7.2 bug. * m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If module 'expm1f-ieee' is in use, check whether expm1f works according to IEEE. * m4/expm1f-ieee.m4: New file. * modules/expm1f-ieee (Files): Add it. (Depends-on): Update conditions. (configure.ac): Invoke gl_FUNC_EXPM1F_IEEE. * doc/posix-functions/expm1f.texi: Mention the AIX bug.
Bruno Haible 0f9b7082 2021-01-03T20:46:04 iconv, iconv_open: Improve documentation. Reported by Noah Misch <noah@leadboat.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>. * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability problems handled by Gnulib". * doc/posix-functions/iconv.texi: Likewise. Update info about AIX. * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
Paul Eggert dd49d2f9 2020-12-31T19:14:49 doc: mention year-0 bugs in Solaris etc. * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi: * doc/posix-functions/localtime.texi: * doc/posix-functions/localtime_r.texi: * doc/posix-functions/mktime.texi: Mention year-0 bugs in localtime etc.
Bruno Haible ae3a9135 2020-12-31T23:49:25 poll tests: Avoid test failure on AIX. * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after shutdown" test on AIX. * doc/posix-functions/poll.texi: Mention the AIX bug.
Paul Eggert d82dfeb8 2020-12-28T12:38:52 faccessat: revert recent EOVERFLOW change I misunderstood the glibc source code. Deduced from Adhemerval Zanella’s proposed glibc patch in: https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html * doc/posix-functions/faccessat.texi: It is not a problem. * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c: (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed. * lib/faccessat.c: Revert to simpler version now that LSTAT_FOLLOWS_SLASHED_SYMLINK must be false. * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): Remove. All uses removed. * modules/canonicalize, modules/canonicalize-lgpl (Files): Remove m4/faccessat.m4.
Bruno Haible 761c7c94 2020-12-26T14:42:38 execlp: New module. * lib/execlp.c: New file. * m4/execlp.m4: New file. * modules/execlp: New file. * doc/posix-functions/execlp.texi: Mention more Windows problems and the new module.
Bruno Haible 6b1f8243 2020-12-26T14:39:39 execle: New module. * lib/execle.c: New file. * m4/execle.m4: New file. * modules/execle: New file. * doc/posix-functions/execle.texi: Mention more Windows problems and the new module.
Bruno Haible 7fbf62eb 2020-12-26T14:36:35 execl: New module. * lib/execl.c: New file. * m4/execl.m4: New file. * modules/execl: New file. * doc/posix-functions/execl.texi: Mention more Windows problems and the new module.
Bruno Haible 58ef9c2d 2020-12-26T14:31:50 execv: New module. * lib/execv.c: New file. * m4/execv.m4: New file. * modules/execv: New file. * doc/posix-functions/execv.texi: Mention more Windows problems and the new module.
Bruno Haible 0e3778b0 2020-12-26T14:28:16 execvp: New module. * lib/execvp.c: New file. * m4/execvp.m4: New file. * modules/execvp: New file. * doc/posix-functions/execvp.texi: Mention more Windows problems and the new module.
Bruno Haible e8f57867 2020-12-26T14:13:03 execve: New module. * lib/execve.c: New file. * m4/execve.m4: New file. * modules/execve: New file. * doc/posix-functions/execve.texi: Mention more Windows problems and the new module.
Bruno Haible 2debee31 2020-12-25T18:39:47 Make it possible to turn off the mkdir override on Windows. * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR, GNULIB_MDA_MKDIR. * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR, GNULIB_MDA_MKDIR. * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR. * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
Bruno Haible f2ca14d1 2020-12-24T22:18:36 posix_spawn-internal: Implement for native Windows. * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles, close_inheritable_handles, memiszero, sigisempty, open_handle, do_open, do_dup2, do_close): New functions. (__spawni): Implement on native Windows. * modules/posix_spawn-internal (Depends-on): Add filename, concat-filename, findprog-in, malloca, windows-spawn. * doc/posix-functions/posix_spawn.texi: Update. * doc/posix-functions/posix_spawnp.texi: Likewise.
Paul Eggert 6c98a296 2020-12-24T11:38:48 faccessat: work around F_OK EOVERFLOW bug Also, tune when LSTAT_FOLLOWS_SLASHED_SYMLINK. * doc/posix-functions/faccessat.texi: Mention the problem. * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS) (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0. (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check for F_OK and EOVERFLOW, which means we can return 0. If LSTAT_FOLLOWS_SLASHED_SYMLINK, don't worry about file names ending in slashes, as faccessat should already do the right thing for them. * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro. (gl_FUNC_FACCESSAT): Use it.
Bruno Haible 2845b3be 2020-12-24T03:49:20 posix_spawn, posix_spawnp: Fix execution of scripts. * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro. (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn or posix_spawnp allows unsecure execution of scripts. * doc/posix-functions/posix_spawn.texi: Document the script execution problem. * doc/posix-functions/posix_spawnp.texi: Likewise.
Bruno Haible 741631c9 2020-12-19T00:18:50 free-posix: New module, renamed from 'free'. * modules/free-posix: Renamed from modules/free. (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX, not GNULIB_FREE. * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not GNULIB_FREE. * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE. * doc/posix-functions/free.texi: Mention the module 'free-posix' and what it does. * NEWS: Mention that module 'free' no longer exists. * modules/canonicalize (Depends-on): Add free-posix. Remove free. * modules/canonicalize-lgpl (Depends-on): Likewise.
Bruno Haible e7d4443c 2020-12-18T23:58:37 free: Remove support for obsolete platforms. * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define CANNOT_FREE_NULL. * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL. * modules/free (Description): Update. * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
Paul Eggert a2549454 2020-12-13T16:48:26 readlink, readlinkat: add ERANGE portability Fix some portability issues with Gnulib's readlink and readlinkat, notably mostly working around the ERANGE problem in AIX and HP-UX. * doc/posix-functions/readlink.texi: * doc/posix-functions/readlinkat.texi: ERANGE problem is mostly fixed now. Mention AIX problem with trailing / and EINVAL. Lessen differences between these two files. * lib/readlink.c (rpl_readlink): * lib/readlinkat.c (rpl_readlinkat): If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an existing directory. Mostly work around READLINK_TRUNCATE BUG. Lessen spurious differences between the readlink and readlinkat code. * lib/readlinkat.c (rpl_readlinkat): Fix bug where stat was used where fstatat was intended. * m4/readlink.m4 (gl_FUNC_READLINK): Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash to identify readlink problems more precisely. All uses changed. Guess no on AIX or HP-UX for this variable. Add check for whether readlink truncates results, and define new macro READLINK_TRUCATE_BUG accordingly. * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Also check gl_cv_func_readlink_trailing_slash when deciding whether to replace readlinkat. * modules/readlinkat (Depends-on): Most dependencies are also needed if replacing readlinkat. fstatat is different, as it is needed only if replacing an existing readlinkat.
Bruno Haible 8183682c 2020-12-11T12:14:03 memchr: Work around memory overrun bug on AIX 7.2. * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug. * doc/posix-functions/memchr.texi: Mention the AIX bug.
Bruno Haible 658d3920 2020-12-10T00:15:42 fmaf: Work around a bug on FreeBSD 12.2/arm. * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test. * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
Bruno Haible dc256199 2020-12-05T00:17:02 utime: Fix a test failure on macOS 10.13. Reported by Martin Storsjö <martin@martin.st> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>. * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing slashes on files. * lib/utime.c (utime): Add alternative implementation for Unix platforms. * modules/utime (Depends-on): Add stat. * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug. * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the trailing-slash bug. * doc/posix-functions/open.texi: Likewise. * doc/posix-functions/stat.texi: Likewise. * doc/posix-functions/symlink.texi: Likewise.
Bruno Haible a5a7a76c 2020-11-29T21:13:33 fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC. * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually works. * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same fallback implementation as on Haiku. * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is effective. * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
Bruno Haible a6d9eef5 2020-11-26T17:06:46 raise-tests: Fix compilation error on MSVC (regression 2020-11-25). * modules/raise-tests (Depends-on): Add unistd. * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
Bruno Haible 07053570 2020-11-22T17:48:50 doc: Add references to the LSB. * doc/glibc-functions/*.texi: Add references to LSB 5.0. * doc/posix-functions/*.texi: Likewise.
Bruno Haible 1e075df2 2020-11-22T12:59:48 doc: Fix a makeinfo warning (regression 2020-11-03). * doc/posix-functions/aligned_alloc.texi: Add missing @item.
Bruno Haible d8de841b 2020-11-04T02:22:33 aligned_alloc: New module. * lib/stdlib.in.h (aligned_alloc): New declaration. * lib/aligned_alloc.c: New file. * m4/aligned_alloc.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared. (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC, HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC. * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC, HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC. * modules/aligned_alloc: New file. * tests/test-stdlib-c++.cc (aligned_alloc): Check signature. * doc/posix-functions/aligned_alloc.texi: Mention the new module and the AIX bug.
Bruno Haible 419322ec 2020-11-04T02:19:08 posix_memalign: New module. * lib/stdlib.in.h (posix_memalign): New declaration. * lib/posix_memalign.c: New file. * m4/posix_memalign.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared. (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN, HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN. * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN, HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN. * modules/posix_memalign: New file. * tests/test-stdlib-c++.cc (posix_memalign): Check signature. * doc/posix-functions/posix_memalign.texi: Mention the new module and the OpenBSD bug.
Bruno Haible 3d87a9ad 2020-09-19T12:37:14 nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3. Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html> and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>. * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c. * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h> or <threads.h>. (ITEMS, MAX_RESULT_LEN): New macros. (nl_langinfo_unlocked): New function. (gl_get_nl_langinfo_lock): New declaration. (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c. (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo. * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set REPLACE_NL_LANGINFO. (gl_PREREQ_NL_LANGINFO_LOCK): New macro. * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c, lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4. (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0. * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
Bruno Haible d17a87bd 2020-08-23T00:44:24 doc: Update for OpenBSD 6.0, 6.7. * doc/*/*.texi: Update. * m4/printf.m4: Update comments and cross-compilation guesses. * m4/ceill.m4: Update comments. * m4/getcwd-abort-bug.m4: Likewise. * m4/ilogb.m4: Likewise. * m4/ilogbf.m4: Likewise. * m4/langinfo_h.m4: Likewise. * m4/modf.m4: Likewise. * m4/modff.m4: Likewise.
Bruno Haible feebf0f6 2020-08-15T17:52:24 doc: Update for MSVC/clang. * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs that MSVC 14 does not have.
Bruno Haible efbd8572 2020-08-14T19:51:56 strdup: Assume the function exists. * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test whether strdup exists. * modules/strdup (Files): Remove lib/strdup.c. (configure.ac): Don't compile strdup.c. * modules/strdup-posix (Depends-on, configure.ac): Don't test ac_cv_func_strdup. * doc/posix-functions/strdup.texi: Update. * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1. * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h. (Depends-on): Remove unistr/u8-strlen.
Bruno Haible 94ac56c0 2020-08-11T20:55:52 execute, spawn-pipe: Use _spawnvpe, not spawnvpe. * lib/execute.c (execute): Use _spawnvpe, not spawnvpe. * lib/spawn-pipe.c (create_pipe): Likewise. * tests/test-nonblocking-pipe-main.c (main): Likewise. * tests/test-nonblocking-socket-main.c (main): Likewise. * lib/wait-process.c: Update comment. * doc/posix-functions/fork.texi: Update.
Paul Eggert bff5e7a5 2020-08-07T15:26:27 doc: more updates for glibc 2.32 * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi: * doc/posix-functions/fchmodat.texi: Update.