]> Savannah Git Hosting - gnulib.git/log
gnulib.git
7 years agoerror: formatting cleanup
Dmitry Selyutin [Sat, 9 Sep 2017 20:41:13 +0000 (23:41 +0300)]
error: formatting cleanup

7 years agoprivate import even for standard modules
Dmitry Selyutin [Sat, 9 Sep 2017 20:01:51 +0000 (23:01 +0300)]
private import even for standard modules

7 years agotype_assert helper (unify type error handling)
Dmitry Selyutin [Sat, 9 Sep 2017 19:54:55 +0000 (22:54 +0300)]
type_assert helper (unify type error handling)

7 years agoprivate import; yet another naming simplification
Dmitry Selyutin [Sat, 9 Sep 2017 18:58:23 +0000 (21:58 +0300)]
private import; yet another naming simplification

7 years agomodule: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 17:33:55 +0000 (20:33 +0300)]
module: do not export private class members into inherited classes

7 years agomodule: alternate naming for some properties
Dmitry Selyutin [Sat, 9 Sep 2017 17:22:10 +0000 (20:22 +0300)]
module: alternate naming for some properties

7 years ago[backport] Assume gnulib is checked out from Git, not CVS
Dmitry Selyutin [Sat, 9 Sep 2017 16:56:33 +0000 (19:56 +0300)]
[backport] Assume gnulib is checked out from Git, not CVS

commit 435f1d7ad985d95a6000e55e3fc398300b04ba12
Author: Stefano Lattarini <stefano.lattarini@gmail.com>
Date:   Sat May 4 10:30:14 2013 +0200

    Assume gnulib is checked out from Git, not CVS

    In fact, access to the gnulib repository through CVS has been disabled,
    or more precisely, got broken and was never restored; see:
    <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>

7 years ago[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2
Dmitry Selyutin [Sat, 9 Sep 2017 16:48:53 +0000 (19:48 +0300)]
[backport] gnulib-tool: fix incompatibility with autopoint 0.18.2

commit 8e858e6d77dd239e9102626b292519eae170679a
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Sat Jan 5 08:03:10 2013 -0800

    gnulib-tool: fix incompatibility with autopoint 0.18.2

    * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
    Problem reported by Tom G. Christensen in
    <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.

7 years agogenerator: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:55 +0000 (19:42 +0300)]
generator: do not export private class members into inherited classes

7 years agofilesystem: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:42:34 +0000 (19:42 +0300)]
filesystem: do not export private class members into inherited classes

7 years agoconfig: do not export private class members into inherited classes
Dmitry Selyutin [Sat, 9 Sep 2017 16:35:00 +0000 (19:35 +0300)]
config: do not export private class members into inherited classes

7 years agoalmost full support of command-line options (except --version)
Dmitry Selyutin [Sat, 9 Sep 2017 16:20:34 +0000 (19:20 +0300)]
almost full support of command-line options (except --version)

7 years ago[python] python gnulib API development branch
Dmitry Selyutin [Fri, 8 Sep 2017 20:35:13 +0000 (23:35 +0300)]
[python] python gnulib API development branch

7 years ago* lib/fts.c: Fix XFS comments.
Paul Eggert [Fri, 8 Sep 2017 16:35:53 +0000 (09:35 -0700)]
* lib/fts.c: Fix XFS comments.

7 years agostddef: Avoid conflict with system-defined max_align_t.
Bruno Haible [Fri, 8 Sep 2017 08:02:47 +0000 (10:02 +0200)]
stddef: Avoid conflict with system-defined max_align_t.

The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
Reported by Werner Lemberg <wl@gnu.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00185.html>.

* lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
(max_align_t): Define as a macro.
(GNULIB_defined_max_align_t): New macro. Guards against multiple
definitions of rpl_max_align_t in different copies of gnulib-generated
<stddef.h>.

7 years agolibc-config: port to MSVC
Paul Eggert [Wed, 6 Sep 2017 06:32:59 +0000 (23:32 -0700)]
libc-config: port to MSVC

Problems reported by Gisle Vanem in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00016.html
* lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
(libc_hidden_proto): Stick to Standard C syntax for varargs macro.
* m4/__inline.m4: New file.
* modules/libc-config (Files): Add it.
(Depends-on): Use it.

7 years agoglob: Use enum for __glob_pattern_type result
Paul Eggert [Wed, 6 Sep 2017 04:14:51 +0000 (21:14 -0700)]
glob: Use enum for __glob_pattern_type result

From a patch proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
* lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
(GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
* lib/glob_internal.h (__glob_pattern_type):
* lib/glob.c (glob):
* lib/glob_pattern_p.c (__glob_pattern_p):
Use them.

7 years agoglob: fix for use in glibc
Paul Eggert [Wed, 6 Sep 2017 01:58:50 +0000 (18:58 -0700)]
glob: fix for use in glibc

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
* lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
Do not redefine if _LIBC.

7 years agoglob: fix bugs with long login names
Paul Eggert [Sat, 2 Sep 2017 22:39:16 +0000 (15:39 -0700)]
glob: fix bugs with long login names

Problem reported by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
* lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
(glob): Use the same scratch buffer for both getlogin_r and
getpwnam_r.  Don’t require preallocation of the login name.  This
simplifies storage allocation, and corrects the handling of
long login names.

7 years agodirent: Update doc.
Bruno Haible [Sat, 2 Sep 2017 11:14:00 +0000 (13:14 +0200)]
dirent: Update doc.

* doc/posix-headers/dirent.texi: More concrete list of platforms.

7 years agoglob: fix getpwnam_r errno typo
Paul Eggert [Sat, 2 Sep 2017 10:56:06 +0000 (03:56 -0700)]
glob: fix getpwnam_r errno typo

* lib/glob.c (glob): Fix longstanding misuse of errno after
getpwnam_r, which returns an error number rather than setting
errno.

7 years agoglob: fix typo in recent change
Paul Eggert [Sat, 2 Sep 2017 10:37:46 +0000 (03:37 -0700)]
glob: fix typo in recent change

* lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
Fix recently-introduced typo.

7 years agoglob: don't save and restore errno unnecessarily
Paul Eggert [Sat, 2 Sep 2017 09:05:09 +0000 (02:05 -0700)]
glob: don't save and restore errno unnecessarily

* lib/glob.c (glob): Don't save and restore errno
merely because we have getpwnam_r.

7 years agoglob: don't assume getpwnam_r
Paul Eggert [Sat, 2 Sep 2017 09:00:40 +0000 (02:00 -0700)]
glob: don't assume getpwnam_r

* lib/glob.c (glob): Port recent patches to platforms
lacking getpwnam_r.

7 years agoscratch_buffer: don’t use private glibc API
Paul Eggert [Sat, 2 Sep 2017 08:21:03 +0000 (01:21 -0700)]
scratch_buffer: don’t use private glibc API

Suggested by Florian Weimer in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00004.html
* lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
* lib/scratch_buffer_grow.c: Rename to
lib/malloc/scratch_buffer_grow.c.
* lib/scratch_buffer_grow_preserve.c: Rename to
lib/malloc/scratch_buffer_grow_preserve.c.
* lib/scratch_buffer_set_array_size.c: Rename to
lib/malloc/scratch_buffer_set_array_size.c.
* lib/scratch_buffer.h: New file.
* modules/scratch_buffer (Files, Makefile.am):
Adjust to source-file renaming.

7 years agoglob: use scratch_buffer instead of extend_alloca
Paul Eggert [Fri, 1 Sep 2017 22:41:45 +0000 (15:41 -0700)]
glob: use scratch_buffer instead of extend_alloca

Much of the lib/glob.c part of this patch comes from a glibc patch
proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
* lib/glob.c: Do not include <config.h>, since <libc-config.h>,
included via glob.h, does this for us now.
(__set_errno): Remove, as libc-config does this for us now.
Include <scratch_buffer.h>.
(GETPW_R_SIZE_MAX): Remove.
(glob): Use struct scratch_buffer instead of extend_alloca.
* lib/glob.in.h: Include libc-config.h rather than
including <sys/cdefs.h> conditionally.
(__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
(__glibc_unlikely, __restrict, weak_alias):
Remove, as libc-config does this for us now.
* m4/glob.m4 (gl_PREREQ_GLOB):
Remove sys/cdefs.h tests; no longer needed.
* modules/glob (Depends-on): Add libc-config, scratch_buffer.
(glob.h): Do not replace HAVE_SYS_CDEFS_H.

7 years agoscratch_buffer: new module
Paul Eggert [Fri, 1 Sep 2017 21:42:53 +0000 (14:42 -0700)]
scratch_buffer: new module

* lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
* lib/scratch_buffer_grow_preserve.c:
* lib/scratch_buffer_set_array_size.c:
New files, copied from glibc with very minor changes that can be
copied back.
* modules/scratch_buffer: New file.

7 years agolibc-config: new module
Paul Eggert [Fri, 1 Sep 2017 21:40:58 +0000 (14:40 -0700)]
libc-config: new module

* MODULES.html.sh: Add libc-config.
* lib/cdefs.h: New file, copied from the GNU C Library with very
minor changes that can be copied back.
* lib/libc-config.h, modules/libc-config: New files.

7 years agoglob: match dangling symlinks
Paul Eggert [Thu, 31 Aug 2017 21:34:25 +0000 (14:34 -0700)]
glob: match dangling symlinks

This fixes a bug I inadvertently introduced to Gnulib when I
merged glibc glob back into gnulib on 2007-10-16.  This fix is
inspired by a patch proposed for glibc by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
* doc/posix-functions/glob.texi: Update list of affected platforms.
* lib/glob.c (__lstat64): New macro.
(is_dir): New function.
(glob, glob_in_dir): Match symlinks even if they are dangling.
(link_stat, link_exists_p): Remove.  All uses removed.
* lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
* m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
* modules/glob (Depends-on): Remove dirfd.
* modules/glob-tests (Depends-on): Add symlink.
* tests/test-glob.c: Include errno.h, unistd.h.
(BASE): New macro.
(main): Test dangling symlinks, if symlinks are supported.

7 years agoglob, backupfile: inode 0 is a valid inode number
Paul Eggert [Thu, 31 Aug 2017 21:34:24 +0000 (14:34 -0700)]
glob, backupfile: inode 0 is a valid inode number

* doc/posix-functions/readdir.texi (readdir):
* doc/posix-headers/dirent.texi (dirent.h):
Document more readdir portability issues.
* lib/backupfile.c (REAL_DIR_ENTRY): Remove.
(numbered_backup): Don’t treat inode 0 any differently from
other inode values.
* lib/glob.c (struct readdir_result): Remove skip_entry member.
(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
All uses removed.
* modules/glob (Depends-on): Remove d-ino.

7 years agoglob: simplify symlink detection
Paul Eggert [Thu, 31 Aug 2017 21:34:24 +0000 (14:34 -0700)]
glob: simplify symlink detection

* lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
uint8_t, as C99 does not require uint8_t.
(DT_UNKNOWN, DT_DIR, DT_LNK) [!HAVE_STRUCT_DIRENT_D_TYPE]:
New macros.
(struct readdir_result): Use dirent_type.  Do not define skip_entry
unless it is needed; this saves a byte on platforms lacking d_ino.
(readdir_result_type, readdir_result_skip_entry):
New functions, replacing ...
(readdir_result_might_be_symlink, readdir_result_might_be_dir):
... these functions, which were removed.  This makes the callers
easier to read.  All callers changed.
(D_INO_TO_RESULT): Now empty if there is no d_ino.

7 years agofts-tests: tag as a longrunning-test so not included by default
Pádraig Brady [Thu, 31 Aug 2017 05:32:23 +0000 (22:32 -0700)]
fts-tests: tag as a longrunning-test so not included by default

* modules/fts-tests: This test takes about 20s on current systems,
and uses about 285M of space on ext4.

7 years agorenameat2: fix compilation on alpine linux
Pádraig Brady [Wed, 30 Aug 2017 07:16:39 +0000 (00:16 -0700)]
renameat2: fix compilation on alpine linux

* m4/renameat.m4: Check for <linux/fs.h> presence.
* lib/renameat2.h: Only include <linux/fs.h> if present.
Reported by Assaf Gordon on Alpine Linux.

7 years agoglob: try to port recent changes to MS-Windows
Paul Eggert [Fri, 25 Aug 2017 06:51:07 +0000 (23:51 -0700)]
glob: try to port recent changes to MS-Windows

Problem reported by Bruno Haible in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00170.html
* lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
* lib/glob.in.h (__glob_pattern_p): ... to here.

7 years agowarnings: fix compilation with old autoconf
Eric Blake [Fri, 25 Aug 2017 01:28:52 +0000 (20:28 -0500)]
warnings: fix compilation with old autoconf

Autoconf older than 2.63b (such as what ships on CentOS 6) had
a bug that any AC_DEFUN'd macro name that includes shell meta-
characters causes failure due to missing shell quoting during
aclocal's use of autom4te.  We can work around the problem by
using m4_defun instead (same semantics in autom4te, but no
longer traced by aclocal, so no longer tickles the shell
quoting bug).

* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
AC_DEFUN.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
(gl_MANYWARN_ALL_GCC(C++)): Likewise.

Reported-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
7 years ago* doc/gnulib-intro.texi: Add comment regarding IRIX.
Bruno Haible [Thu, 24 Aug 2017 21:49:08 +0000 (23:49 +0200)]
* doc/gnulib-intro.texi: Add comment regarding IRIX.

7 years agoautoupdate
Karl Berry [Thu, 24 Aug 2017 15:10:28 +0000 (08:10 -0700)]
autoupdate

7 years agoglob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
Bruno Haible [Thu, 24 Aug 2017 10:12:31 +0000 (12:12 +0200)]
glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.

* modules/glob (Depends-on): Add c99.

7 years agoglob: fix typo that broke platforms lacking d_ino
Paul Eggert [Thu, 24 Aug 2017 07:46:49 +0000 (00:46 -0700)]
glob: fix typo that broke platforms lacking d_ino

This typo also hurt performance on GNU/Linux and similar hosts.
* lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
in previous change.

7 years agoflexmember: fix typo in previous patch
Paul Eggert [Wed, 23 Aug 2017 21:45:58 +0000 (14:45 -0700)]
flexmember: fix typo in previous patch

* lib/flexmember.h: Fix comment typo.

7 years agoglob: merge from glibc with Zanella glob changes
Paul Eggert [Wed, 23 Aug 2017 17:45:42 +0000 (10:45 -0700)]
glob: merge from glibc with Zanella glob changes

Merge glob from glibc, with changes for glob proposed
by Adhemerval Zanella in the thread starting here:
https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
plus some fixes for this merge.
* lib/flexmember.h: Change license wording to something that
works unchanged in Glibc, since this code might be used in
Glibc and this will minimize 'diff' output.
* lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
New files, ported from glibc.
* lib/glob_pattern_p.c, lib/globfree.c, lib/glob.c [!_LIBC]:
Include <config.h> first.
* lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
with __restrict.
(__size_t): Remove.  All uses replaced by size_t.
(size_t): Define by defining __need_size_t and including <stddef.h>.
This should work even in non-glibc platforms, where any name
pollution is OK.
Use __USE_MISC instead of __USE_BSD || __USE_GNU.
(struct stat64): Don’t worry about __GLOB_GNULIB.
(glob, globfree, glob_pattern_p): Remove macros for
__USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
but set errno.
* lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
removed since the glibc behavior works on null pointers.
Do not include stdio.h; old SunOS is irrelevant now.
Do not worry about GLOB_ONLY_P as we now mimic glibc here.
Include glob_internal.h.
(D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
worked only coincidentally.
(attribute_hidden, __attribute_noinline__, __glibc_unlikely):
Remove macros; now done in glob.in.h.
(size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
(glob): Properly initialize glob structure with
GLOB_BRACE|GLOB_DOOFFS (bug 20707).
Remove old code using SHELL since Bash no longer
uses this.
(glob, prefix_array): Separate MS code better.
(glob, glob_in_dir): Use C99 decls before statements when glibc
does.
(glob_in_dir): Remove old Amiga and VMS code.
(globfree, __glob_pattern_type, __glob_pattern_p): Move to
separate files.
* lib/glob.in.h (attribute_hidden, __attribute_noinline__)
(__glibc_unlikely):
Move here from glob.c.
(__restrict): New macro here, replacing the _Restrict_ in glob.c.
(weak_alias): New macro.
(__size_t): Remove.  All uses replaced by size_t.
* modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
* modules/flexmember (License): Now LGPLv2+, which it should have
been anyway since flexmember.h is not unlimited-license.
* modules/glob (Files): Add +lib/glob_internal.h,
lib/glob_pattern_p.c, lib/globfree.c.
(Depends-on): Remove snippet/arg-nonnull.

7 years agoglob: port to clang's Undefined Sanitizer
Paul Eggert [Tue, 22 Aug 2017 17:13:50 +0000 (10:13 -0700)]
glob: port to clang's Undefined Sanitizer

Problem reported by Tim Rühsen in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00144.html
* lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
(glob_in_dir): Do not rely on undefined behavior in accessing
struct members beyond their bounds.  Use a flexible array member
instead.

7 years ago) -> } -> })
Bruno Haible [Mon, 21 Aug 2017 20:20:11 +0000 (22:20 +0200)]
) -> } -> })

7 years agovc-list-files: port to Solaris 10
Paul Eggert [Mon, 21 Aug 2017 19:38:20 +0000 (12:38 -0700)]
vc-list-files: port to Solaris 10

* build-aux/vc-list-files: Don't assume test -e works.

7 years ago) -> }
Karl Berry [Mon, 21 Aug 2017 15:00:44 +0000 (08:00 -0700)]
) -> }

7 years agoautoupdate
Karl Berry [Mon, 21 Aug 2017 14:57:47 +0000 (07:57 -0700)]
autoupdate

7 years agogit-version-gen: port to Solaris 10
Paul Eggert [Mon, 21 Aug 2017 00:03:55 +0000 (17:03 -0700)]
git-version-gen: port to Solaris 10

Problem reported by Dagobert Michelsen in:
http://lists.gnu.org/archive/html/grep-devel/2017-08/msg00002.html
* build-aux/git-version-gen (v_from_git):
Use expr instead of shell substitution.

7 years agohost-cpu-c-abi: Improve detection of MIPS ABI.
Bruno Haible [Sat, 19 Aug 2017 23:19:50 +0000 (01:19 +0200)]
host-cpu-c-abi: Improve detection of MIPS ABI.

* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
_MIPS_SIM.

7 years agohypot tests: Fix test failure on FreeBSD 11.0/x86.
Bruno Haible [Thu, 17 Aug 2017 20:15:10 +0000 (22:15 +0200)]
hypot tests: Fix test failure on FreeBSD 11.0/x86.

* tests/test-hypot.h (test_function): Declare z as 'volatile'.

7 years agofloat: Fix LDBL_MIN value on FreeBSD/x86.
Bruno Haible [Thu, 17 Aug 2017 19:32:28 +0000 (21:32 +0200)]
float: Fix LDBL_MIN value on FreeBSD/x86.

* lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.

7 years agorandom: Fix test compilation failure on Cygwin 1.5.25.
Bruno Haible [Thu, 17 Aug 2017 12:17:58 +0000 (14:17 +0200)]
random: Fix test compilation failure on Cygwin 1.5.25.

* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
HAVE_DECL_SETSTATE.
* m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
declared.
* modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
HAVE_DECL_SETSTATE.
* lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
(setstate): Declare also if HAVE_DECL_SETSTATE is 0.
* doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
* doc/posix-functions/random.texi: Likewise.
* doc/posix-functions/setstate.texi: Likewise.
* doc/posix-functions/srandom.texi: Likewise.

7 years agostdnoreturn: Fix test compilation failure on Cygwin.
Bruno Haible [Wed, 16 Aug 2017 23:59:11 +0000 (01:59 +0200)]
stdnoreturn: Fix test compilation failure on Cygwin.

* m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
<stdnoreturn.h> replacement.
* lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
* doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.

7 years agocloexec: spelling fixes in comments
Paul Eggert [Wed, 16 Aug 2017 20:59:54 +0000 (13:59 -0700)]
cloexec: spelling fixes in comments

7 years agothread: Fix conflict with pthread_sigmask module.
Bruno Haible [Wed, 16 Aug 2017 18:35:42 +0000 (20:35 +0200)]
thread: Fix conflict with pthread_sigmask module.

* lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
it's defined as a macro.
* modules/thread (Depends-on): Add pthread_sigmask.

7 years agorename: port better to NetBSD
Paul Eggert [Wed, 16 Aug 2017 15:34:41 +0000 (08:34 -0700)]
rename: port better to NetBSD

* doc/posix-functions/rename.texi (rename): NetBSD 7
does not have the link-count bug.
* m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
broken merely because rename ("a", "b") removes "a" when the two
names are hard links to the same file.

7 years agoiconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
Bruno Haible [Wed, 16 Aug 2017 09:25:10 +0000 (11:25 +0200)]
iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.

* modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
the target file names with '$(srcdir)/'.
* modules/unicase/locale-language (Makefile.am): Likewise.
* modules/unicase/special-casing (Makefile.am): Likewise.
* modules/unictype/bidiclass-byname (Makefile.am): Likewise.
* modules/unictype/category-byname (Makefile.am): Likewise.
* modules/unictype/combining-class-byname (Makefile.am): Likewise.
* modules/unictype/joininggroup-byname (Makefile.am): Likewise.
* modules/unictype/joiningtype-byname (Makefile.am): Likewise.
* modules/unictype/property-byname (Makefile.am): Likewise.
* modules/unictype/scripts (Makefile.am): Likewise.
* modules/uninorm/composition (Makefile.am): Likewise.

7 years agononblocking-socket tests: Fix failure on OpenBSD 6.0.
Bruno Haible [Wed, 16 Aug 2017 09:04:30 +0000 (11:04 +0200)]
nonblocking-socket tests: Fix failure on OpenBSD 6.0.

* tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
value for OpenBSD.

7 years agorename, renameat: Update doc regarding NetBSD.
Bruno Haible [Wed, 16 Aug 2017 08:13:42 +0000 (10:13 +0200)]
rename, renameat: Update doc regarding NetBSD.

* doc/posix-functions/rename.texi: Clarify that when using
-D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
* doc/posix-functions/renameat.texi: Be more precise about NetBSD
version.

7 years agorenameat2: port better to macOS
Paul Eggert [Wed, 16 Aug 2017 00:09:35 +0000 (17:09 -0700)]
renameat2: port better to macOS

* lib/renameat2.c (renameat2): Use renameatx_np if available.

7 years agofutimens: don’t assume struct timespec layout
Paul Eggert [Tue, 15 Aug 2017 23:47:22 +0000 (16:47 -0700)]
futimens: don’t assume struct timespec layout

* m4/futimens.m4 (gl_FUNC_FUTIMENS):
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
* tests/test-fdutimensat.c (main):
* tests/test-futimens.h (test_futimens):
* tests/test-lutimens.h (test_lutimens):
* tests/test-utimens.h (test_utimens):
* tests/test-utimensat.c (main):
Don’t assume that struct timespec is a two-member structure in
tv_sec, tv_nsec order.  Although this is true on all platforms we
know about, POSIX does not guarantee it.

7 years agorename: document+test NetBSD rename
Paul Eggert [Tue, 15 Aug 2017 22:53:50 +0000 (15:53 -0700)]
rename: document+test NetBSD rename

Test failure reported by Bruno Haible in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00104.html
This is an area where NetBSD is better-behaved than POSIX,
so allow the NetBSD behavior in tests.
* doc/posix-functions/rename.texi:
* doc/posix-functions/renameat.texi: Document NetBSD behavior.
* tests/test-rename.h (test_rename): Allow NetBSD behavior.

7 years agorenameat: Ensure declaration in <stdio.h> on NetBSD.
Bruno Haible [Tue, 15 Aug 2017 20:03:48 +0000 (22:03 +0200)]
renameat: Ensure declaration in <stdio.h> on NetBSD.

* lib/stdio.in.h: Include <unistd,h> also on NetBSD.
* doc/posix-functions/renameat.texi: Mention this problem.

7 years agoduplocale: Work around NetBSD 7.0 bug.
Bruno Haible [Tue, 15 Aug 2017 19:18:44 +0000 (21:18 +0200)]
duplocale: Work around NetBSD 7.0 bug.

* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
* lib/duplocale.c: Add comment about NetBSD problem.
* doc/posix-functions/duplocale.texi: Mention the NetBSD problem.

7 years agoduplocale tests: Verify use with *_l functions.
Bruno Haible [Tue, 15 Aug 2017 18:23:00 +0000 (20:23 +0200)]
duplocale tests: Verify use with *_l functions.

* modules/duplocale-tests (configure.ac): Test for uselocale and
some *_l functions.
* tests/test-duplocale.c (test_with_uselocale): New function, extracted
from main.
(get_locale_dependent_values_from, test_with_locale_parameter): New
functions.
(main): Test both test_with_uselocale and test_with_locale_parameter.

7 years agoextensions: Enable NetBSD specific extensions.
Bruno Haible [Mon, 14 Aug 2017 22:31:15 +0000 (00:31 +0200)]
extensions: Enable NetBSD specific extensions.

* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.

7 years agoopen, openat: Update doc about O_CLOEXEC.
Bruno Haible [Mon, 14 Aug 2017 22:48:25 +0000 (00:48 +0200)]
open, openat: Update doc about O_CLOEXEC.

* doc/posix-functions/open.texi: More concrete list of platforms.
* doc/posix-functions/openat.texi: Likewise.

7 years agoopen: support O_CLOEXEC
Paul Eggert [Mon, 14 Aug 2017 20:04:46 +0000 (13:04 -0700)]
open: support O_CLOEXEC

* NEWS, doc/posix-functions/open.texi:
* doc/posix-functions/openat.texi: Document this.
* lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
(GNULIB_defined_O_CLOEXEC): New symbol.
* lib/open.c: Include cloexec.h.
(open): Support O_CLOEXEC.
* lib/openat.c: Include cloexec.h.
(rpl_openat): Support O_CLOEXEC.
* lib/popen-safer.c: Do not include cloexec.h.
(open_noinherit): Remove.
(popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
* lib/save-cwd.c: Do not include cloexec.h.
(save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
* m4/open-cloexec.m4: New file.
* m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
Replace 'open' if O_CLOEXEC is not present.
* m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
Replace 'openat' if O_CLOEXEC is not present.
* modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
* modules/open (Files): Add m4/open-cloexec.m4.
(Depends-on): Depend on cloexec if replacing 'open'.
* modules/openat (Files): Add m4/open-cloexec.m4.
(Depends-on): Depend on cloexec if replacing openat.
* modules/popen-safer (Depends-on): Remove cloexec.
* modules/save-cwd (Depends-on): Remove cloexec, and add
fd-safer-flag and 'open'.

7 years ago* lib/reallocarray.c: Fix layout.
Paul Eggert [Sun, 13 Aug 2017 18:03:40 +0000 (11:03 -0700)]
* lib/reallocarray.c: Fix layout.

7 years agoreallocarray: minor fixes
Paul Eggert [Sun, 13 Aug 2017 17:55:55 +0000 (10:55 -0700)]
reallocarray: minor fixes

* doc/glibc-functions/reallocarray.texi: Update version numbers.
* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
* modules/reallocarray (License): Change from GPL to LGPL.
* tests/test-reallocarray.c (main): Fix ENOMEM typo.
Indent properly and don't use tabs.

7 years agoreallocarray: New module
Darshit Shah [Sun, 13 Aug 2017 17:13:33 +0000 (10:13 -0700)]
reallocarray: New module

reallocarray is a new function in glibc 2.26 to safely allocate an array
of memory locations with integer overflow protection.
* MODULES.html.sh: Add reallocarray.
* doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
* lib/reallocarray.c: New file to implement module reallocarray.
* lib/stdlib.in.h: Add function declarations for reallocarray.
* m4/reallocarray.m4: New file.
* m4/stdlib_h.m4: Declare reallocarray.
* modules/reallocarray: New file.
* modules/reallocarray-test: New file.
* modules/stdlib: Coerce stdlib.h to export reallocarray.
* tests/test-reallocarray.c: New test.

7 years agodirent-safer: fix cloexec race
Paul Eggert [Sat, 12 Aug 2017 18:34:50 +0000 (11:34 -0700)]
dirent-safer: fix cloexec race

* lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
(opendir_safer): Use F_DUPFD_CLOEXEC.
* modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
* tests/test-dirent-safer.c: Do not include unistd-safer.h,
as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
instead of dup_safer.

7 years agofts: fix cloexec races
Paul Eggert [Sat, 12 Aug 2017 18:20:41 +0000 (11:20 -0700)]
fts: fix cloexec races

* lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
(opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
(fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
(fd_ring_check): Set cloexec flag on new file descriptors.
(fts_build, fd_ring_check): While we’re at it, make sure the
resulting file descriptor is not 0, 1, or 2, since that is easy.
* modules/fts (Depends-on): Remove cloexec, dirent-safer, dup,
fcntl-safer, unistd-safer.  Add fcntl.

7 years agofts tests: Fix link error.
Bruno Haible [Fri, 11 Aug 2017 18:43:35 +0000 (20:43 +0200)]
fts tests: Fix link error.

Reported by Tom G. Christensen in
https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00078.html

* modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.

7 years agofts: port recent changes to CentOS 6
Paul Eggert [Thu, 10 Aug 2017 13:06:06 +0000 (06:06 -0700)]
fts: port recent changes to CentOS 6

Problem reported by Tom G. Christensen in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00064.html
* lib/fts.c (fsword): New type.
(struct dev_type, filesystem_type): Use it.
* m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
Also, check for f_type only if fstatfs and sys/vfs.h work.

7 years agoautoupdate
Karl Berry [Wed, 9 Aug 2017 22:56:01 +0000 (15:56 -0700)]
autoupdate

7 years agotempname: do not depend on secure_getenv
Paul Eggert [Wed, 9 Aug 2017 18:30:36 +0000 (11:30 -0700)]
tempname: do not depend on secure_getenv

Excess dependency noted by Eli Zaretskii (Bug#28023#17).
* lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
* modules/tempname (Depends-on): Remove secure_getenv.

7 years agoextensions: add _OPENBSD_SOURCE
Paul Eggert [Tue, 8 Aug 2017 18:07:06 +0000 (11:07 -0700)]
extensions: add _OPENBSD_SOURCE

* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.

7 years agomanywarnings: Add support for C++.
Reuben Thomas [Mon, 7 Aug 2017 20:08:13 +0000 (22:08 +0200)]
manywarnings: Add support for C++.

* build-aux/g++-warning.spec: New file.
* m4/manywarnings-c++.m4: New file.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
redirects to manywarnings-c++.m4.
* modules/manywarnings (Files): Add m4/manywarnings-c++.m4.

7 years agomanywarnings: Add support for C++.
Reuben Thomas [Mon, 7 Aug 2017 15:32:18 +0000 (17:32 +0200)]
manywarnings: Add support for C++.

* build-aux/g++-warning.spec: New file.
* m4/manywarnings-c++.m4: New file.
* modules/manywarnings (Files): Add it.

7 years agogit-version-gen: another fix for tags with "-"
Paul Eggert [Mon, 7 Aug 2017 06:24:10 +0000 (23:24 -0700)]
git-version-gen: another fix for tags with "-"

* build-aux/git-version-gen: Improve fix for tags containing "-".
Suggested by Markus Armbruster in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00034.html

7 years agowarnings, manywarnings: Add support for multiple languages, not just C.
Bruno Haible [Sun, 6 Aug 2017 22:40:41 +0000 (00:40 +0200)]
warnings, manywarnings: Add support for multiple languages, not just C.

* warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
gl_UNKNOWN_WARNINGS_ARE_ERRORS.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
(gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
of the current language. If C++ is the current language, modify
WARN_CXXFLAGS instead of WARN_CFLAGS.
* manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
gl_MANYWARN_ALL_GCC.
(gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).

7 years agogit-version-gen: port better to older Git
Paul Eggert [Sun, 6 Aug 2017 16:21:05 +0000 (09:21 -0700)]
git-version-gen: port better to older Git

Work even if the hash contains more than 4 digits.

7 years agogit-version-gen: Fix for tags containing '-'
Markus Armbruster [Sun, 6 Aug 2017 06:26:03 +0000 (08:26 +0200)]
git-version-gen: Fix for tags containing '-'

Really old versions of git-describe (before v1.5.0, Feb 2007) don't
have the number of commits in their long format output, i.e. where
modern 'git describe --abbrev=4 --match="v*"' prints
"v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
recognizes both patterns, and normalizes the old format to the new
one.

Unfortunately, this normalization code gets confused when the tag
contains '-'.  Reproducer:

    $ git-tag -m test v0.2-rc1
    $ build-aux/git-version-gen .tarball-version; echo
    build-aux/git-version-gen: WARNING: git rev-list failed
    UNKNOWN

We take exact tag "v0.2-rc1" for the old format, extract the presumed
tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
commits since tha tag.  Fails, because tag "v0.2" does not exist.

* git-version-gen: We could perhaps drop support for versions from more
than a decade ago.  But tightening the pattern match is easy enough,
so do that.  Still breaks when you use version tags ending in something
matching -g????, but you arguably get what you deserve then.

7 years agovalgrind-tests: use ls, and cache
Paul Eggert [Sat, 5 Aug 2017 18:45:10 +0000 (11:45 -0700)]
valgrind-tests: use ls, and cache

* m4/valgrind-tests.m4: Test ls, not bash.
Problem reported by Reuben Thomas.
Also, cache the result so that it can be overridden.

7 years agomanywarnings: port to 64-bit GCC builds of Emacs
Paul Eggert [Fri, 4 Aug 2017 22:14:59 +0000 (15:14 -0700)]
manywarnings: port to 64-bit GCC builds of Emacs

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
object size rather than hardwiring 2147483647.  This is needed to
build GNU Emacs, which has one conditional (and used
only-in-theory) call to malloc with a literal greater than
2147483647.

7 years agoRelax the license of some modules with no runtime code.
Bruno Haible [Fri, 4 Aug 2017 09:57:20 +0000 (11:57 +0200)]
Relax the license of some modules with no runtime code.

7 years agorenameat2: port to RHEL 7 + NFS
Paul Eggert [Thu, 3 Aug 2017 23:28:18 +0000 (16:28 -0700)]
renameat2: port to RHEL 7 + NFS

* lib/renameat2.c (renameat2) [SYS_renameat2]:
Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html

7 years agorenameat2: port to non-renameat platforms
Paul Eggert [Wed, 2 Aug 2017 18:06:33 +0000 (11:06 -0700)]
renameat2: port to non-renameat platforms

Problem reported for MSVC-2015 by Gisle Vanem in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00001.html
* lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
(renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.

7 years agomanywarnings: port to 32-bit GCC bug
Paul Eggert [Tue, 1 Aug 2017 16:52:40 +0000 (09:52 -0700)]
manywarnings: port to 32-bit GCC bug

Problem reported by Pino Toscano in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00150.html
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
not 2**63 - 1, to work around the following GCC bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650

7 years agobackupfile: new function to validate backup suffix
Paul Eggert [Mon, 31 Jul 2017 00:05:06 +0000 (17:05 -0700)]
backupfile: new function to validate backup suffix

* lib/backupfile.c (set_simple_backup_suffix): New function.
Also, reject suffixes containing "/".
(backupfile_internal): Use it.

7 years agocanonicalize: fix EOVERFLOW commentary
Paul Eggert [Sun, 30 Jul 2017 22:38:56 +0000 (15:38 -0700)]
canonicalize: fix EOVERFLOW commentary

Problem reported by Bruno Haible in:
http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00147.html
* lib/canonicalize.c (canonicalize_filename_mode):
* lib/canonicalize-lgpl.c (__realpath): Fix comments.

7 years agoDon't interpret EOVERFLOW to mean nonexistence
Paul Eggert [Sun, 30 Jul 2017 20:06:41 +0000 (13:06 -0700)]
Don't interpret EOVERFLOW to mean nonexistence

* lib/fts.c (fts_stat): If lstat fails, report its errno, which
may be EOVERFLOW; this is likely more useful than reporting the
stat errno.
* lib/glob.c (link_stat): Rename from link_exists2_p and
return -1/0 instead of 0/1.  Caller changed.
* lib/glob.c (link_exists_p):
* lib/renameat2.c (rename_noreplace, renameat2):
* lib/tempname.c (try_nocreate):
If errno == EOVERFLOW then the directory entry exists, so do not
act as if it does not exist.

7 years agobackup-rename: new module
Paul Eggert [Sun, 30 Jul 2017 17:53:32 +0000 (10:53 -0700)]
backup-rename: new module

It is like backupfile, except it avoids some race conditions,
and it does not output to stderr or exit.
* MODULES.html.sh: Add backup-rename.
* lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
* modules/backup-rename: New files.
* lib/backupfile.c: Turn this into an internals file, which
contains code common to backupfile and backup_rename.  Do not
include argmatch.h or xalloc.h: include xalloc-oversized.h.
Include renameat2.h and fcntl.h.
(BACKUP_NOMEM): New constant.
(numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
(backupfile_internal): Rename from find_backup_file_name.
Support new arg RENAME.
(backup_args, backup_types, get_version, xget_version):
Move to lib/backup-find.c.
* lib/backupfile.h (backup_file_rename): New decl.
* modules/backupfile (Files): Add lib/backup-internal.h,
lib/backup-find.c.
(Depends-on): Add dirfd, fcntl, renameat2.
(lib_SOURCES): Add backup-find.c.

7 years agorenameat2: port better to older Solaris
Paul Eggert [Sun, 30 Jul 2017 17:53:32 +0000 (10:53 -0700)]
renameat2: port better to older Solaris

* lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
Add goto to use a label, to silence picky compilers.

7 years agofts-tests: port to gcc -Wwrite-strings
Paul Eggert [Sun, 30 Jul 2017 17:53:32 +0000 (10:53 -0700)]
fts-tests: port to gcc -Wwrite-strings

* tests/test-fts.c (base, base_d): New static vars.
(argv, remove_tree, main): Use them.

7 years agorelocatable-lib{,-lgpl}: improve documentation
Reuben Thomas [Sun, 30 Jul 2017 11:54:08 +0000 (13:54 +0200)]
relocatable-lib{,-lgpl}: improve documentation

* doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
Various other updates.

7 years agorelocatable-lib{,-lgpl}: add Valgrind suppressions
Reuben Thomas [Sun, 30 Jul 2017 11:34:44 +0000 (13:34 +0200)]
relocatable-lib{,-lgpl}: add Valgrind suppressions

* lib/relocatable.valgrind: New file.
* modules/relocatable-lib (Files): Add relocatable.valgrind.
* modules/relocatable-lib-lgpl: Likewise.

7 years agorelocatable: Make the license on the sources the GPL.
Reuben Thomas [Sun, 30 Jul 2017 11:16:11 +0000 (13:16 +0200)]
relocatable: Make the license on the sources the GPL.

* lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
LGPL, which was a special case so that the relocatable source files
could be used without gnulib-tool, to GPL. They can still be used under
the LGPL, using the --lgpl option to gnulib-tool.

7 years agohost-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
Bruno Haible [Sun, 30 Jul 2017 10:39:01 +0000 (12:39 +0200)]
host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.

* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
__ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).

7 years agofaccessat: document AT_SYMLINK_NOFOLLOW issue
Paul Eggert [Fri, 28 Jul 2017 01:02:18 +0000 (18:02 -0700)]
faccessat: document AT_SYMLINK_NOFOLLOW issue

* doc/posix-functions/faccessat.texi: Modernize platform list.
Document AT_SYMLINK_NOFOLLOW limitation.