]> Savannah Git Hosting - gnulib.git/log
gnulib.git
6 years agogetloadavg: Remove support for ConvexOS.
Bruno Haible [Tue, 16 Oct 2018 19:09:51 +0000 (21:09 +0200)]
getloadavg: Remove support for ConvexOS.

* lib/getloadavg.c: Remove convex case.

6 years agogetloadavg: Remove support for Sony NEWS.
Bruno Haible [Tue, 16 Oct 2018 19:05:02 +0000 (21:05 +0200)]
getloadavg: Remove support for Sony NEWS.

* lib/getloadavg.c: Remove sony_news case.

6 years agofsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
Bruno Haible [Tue, 16 Oct 2018 19:02:51 +0000 (21:02 +0200)]
fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.

* lib/fsusage.c: Remove _SEQUENT_ case.
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
* lib/mountlist.c: Don't test for MNTTABNAME.
* m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
(gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
* lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
* lib/stat-size.h: Don't mention the Sequent bug.
* doc/posix-functions/utime.texi: Don't mention the Dynix bug.

6 years agofsusage: Remove support for AIX 3.
Bruno Haible [Tue, 16 Oct 2018 18:47:03 +0000 (20:47 +0200)]
fsusage: Remove support for AIX 3.

* lib/fsusage.c: Remove code for AIX 3.
* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.

6 years agofsusage, stat-size, getloadavg: Remove support for AIX PS/2.
Bruno Haible [Tue, 16 Oct 2018 18:43:03 +0000 (20:43 +0200)]
fsusage, stat-size, getloadavg: Remove support for AIX PS/2.

* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
* lib/fsusage.c: Remove code for AIX PS/2.
* lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
* lib/getloadavg.c: Likewise.

6 years agogetloadavg: Remove support for HP-UX on m68k.
Bruno Haible [Tue, 16 Oct 2018 18:21:30 +0000 (20:21 +0200)]
getloadavg: Remove support for HP-UX on m68k.

* lib/getloadavg.c: Remove hp9000s300 case.

6 years agofsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
Bruno Haible [Tue, 16 Oct 2018 16:59:25 +0000 (18:59 +0200)]
fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).

* lib/fsusage.c: Remove DOLPHIN case.
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
* lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.

6 years agogetloadavg: Remove support for Alliant FX/2800.
Bruno Haible [Tue, 16 Oct 2018 16:53:05 +0000 (18:53 +0200)]
getloadavg: Remove support for Alliant FX/2800.

* lib/getloadavg.c: Remove alliant case.

6 years agogetloadavg: Remove support for tek4300.
Bruno Haible [Tue, 16 Oct 2018 16:51:00 +0000 (18:51 +0200)]
getloadavg: Remove support for tek4300.

* lib/getloadavg.c: Remove tek4300 case.

6 years agogetloadavg: Remove support for Ardent.
Bruno Haible [Tue, 16 Oct 2018 16:47:19 +0000 (18:47 +0200)]
getloadavg: Remove support for Ardent.

* lib/getloadavg.c: Remove ardent case.

6 years agomountlist: Remove support for SVR2.
Bruno Haible [Tue, 16 Oct 2018 16:44:33 +0000 (18:44 +0200)]
mountlist: Remove support for SVR2.

Reported by Andrew Borodin <aborodin@vmail.ru> in
<https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.

* lib/mountlist.c: Remove MOUNTED_FREAD case.
* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
MOUNTED_FREAD.

6 years agoautoupdate
Karl Berry [Wed, 17 Oct 2018 17:30:48 +0000 (10:30 -0700)]
autoupdate

6 years agoassure: Fix comment.
Bruno Haible [Mon, 15 Oct 2018 08:14:15 +0000 (10:14 +0200)]
assure: Fix comment.

* lib/assure.h: Fix typo in comment.

6 years agolibc-config: merge from glibc
Paul Eggert [Mon, 15 Oct 2018 05:37:55 +0000 (00:37 -0500)]
libc-config: merge from glibc

* lib/cdefs.h (__glibc_has_attribute): New macro.

6 years agoregex: depend on libc-config
Paul Eggert [Mon, 15 Oct 2018 05:17:34 +0000 (00:17 -0500)]
regex: depend on libc-config

* modules/regex (Depends-on): Add libc-config.
This is needed after the recent autoupdate from glibc.

6 years agoautoupdate
Paul Eggert [Mon, 15 Oct 2018 04:49:00 +0000 (23:49 -0500)]
autoupdate

6 years agolocalename: Add support for per-thread locales on Solaris 11.4.
Bruno Haible [Sun, 14 Oct 2018 15:03:01 +0000 (17:03 +0200)]
localename: Add support for per-thread locales on Solaris 11.4.

* lib/locale.in.h (newlocale, freelocale): New declarations.
(duplocale): Declare also when the 'localename' module requests it.
* lib/localename.c (struniq_hash_node): Renamed from hash_node.
(STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
(struniq): Update.
(struct locale_categories_names, struct locale_hash_node): New types.
(LOCALE_HASH_TABLE_SIZE): New constant.
(locale_hash_table, locale_lock): New variables.
(pointer_hash, get_locale_t_name): New functions.
(newlocale, duplocale, freelocale): New overridden functions.
(gl_locale_name_thread_unsafe): Use get_locale_t_name.
* m4/intlsolaris.m4: New file.
* m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
* m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
declared.
(gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
* modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
* modules/localename (Files): Add intlsolaris.m4.
(Depends-on): Add 'locale'.
(configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
* tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
the signatures.

6 years agotimevar: use gethrxtime to get wall clock time
Akim Demaille [Fri, 12 Oct 2018 04:46:09 +0000 (06:46 +0200)]
timevar: use gethrxtime to get wall clock time

clock_gettime is not portable.  gethrxtime takes the best available
option to get the wall clock time, including clock_gettime (monotonic
clock), and gettime (non monotonic).
Also, using xtime_t instead of float preserves the precision.
Suggested by Bruno Haible.

* lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
* modules/timevar (Depends-on): We need gethrxtime.
We no longer use times().
(Link): Update.
* lib/timevar.h (timevar_time_def): Use xtime_t.
* lib/timevar.c (set_to_current_time): Use gethrxtime.
(timevar_print): Instead of checking whether the timings themselves
are large enough for the timevar to be printed, check the percentages.

6 years agowcsnrtombs: Work around Solaris 11.4 bug.
Bruno Haible [Sun, 14 Oct 2018 07:21:24 +0000 (09:21 +0200)]
wcsnrtombs: Work around Solaris 11.4 bug.

* m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
macro.
(gl_FUNC_WCSNRTOMBS): Invoke it.
* doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.

6 years agombsnrtowcs: Work around Solaris 11.4 bug.
Bruno Haible [Sun, 14 Oct 2018 07:19:12 +0000 (09:19 +0200)]
mbsnrtowcs: Work around Solaris 11.4 bug.

* m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
macro.
(gl_FUNC_MBSNRTOWCS): Invoke it.
* doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.

6 years agodoc: Update for Solaris 11.4.
Bruno Haible [Sun, 14 Oct 2018 07:33:46 +0000 (09:33 +0200)]
doc: Update for Solaris 11.4.

* doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
mention Solaris 11.4.
* m4/printf.m4: Update comments about Solaris.
* m4/log.m4: Likewise.
* m4/log10.m4: Likewise.
* m4/logb.m4: Likewise.
* m4/logbf.m4: Likewise.
* m4/logbl.m4: Likewise.
* m4/rename.m4: Likewise.
* m4/wcrtomb.m4: Likewise.
* m4/hostent.m4: Likewise.
* m4/servent.m4: Likewise.

6 years agofloor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
Bruno Haible [Sun, 14 Oct 2018 07:27:21 +0000 (09:27 +0200)]
floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.

* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
pointer.
* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
pointer.
* m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
pointer.
* m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
pointer.
* m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
pointer.

6 years agobootstrap: fix wget command for po files.
Akim Demaille [Sat, 13 Oct 2018 05:16:00 +0000 (07:16 +0200)]
bootstrap: fix wget command for po files.

* build-aux/bootstrap (po_download_command_format): Fix comment,
and adjust callers.

6 years agotimevar: improve the output format
Akim Demaille [Thu, 11 Oct 2018 20:15:36 +0000 (22:15 +0200)]
timevar: improve the output format

From:

    Execution times (seconds)
     reader                :   0,01 ( 3%) usr   0,00 (16%) sys   0,00 ( 0%) wall
     outputting report     :   0,03 ( 6%) usr   0,00 (15%) sys   0,00 ( 0%) wall
     parser action tables  :   0,02 ( 4%) usr   0,00 ( 2%) sys   0,00 ( 0%) wall
     outputting parser     :   0,01 ( 2%) usr   0,00 (13%) sys   0,00 ( 0%) wall
     running m4            :   0,37 (84%) usr   0,00 (50%) sys   0,00 ( 0%) wall
     total time            :   0,44             0,01             0,00

To:

    Execution times (seconds)
                              CPU user      CPU system    wall clock
     reader                   0,020 ( 4%)   0,002 ( 9%)   0,000000 ( 0%)
     outputting report        0,029 ( 6%)   0,002 (11%)   0,000000 ( 0%)
     parser action tables     0,020 ( 4%)   0,001 ( 6%)   0,000000 ( 0%)
     outputting parser        0,014 ( 3%)   0,002 (10%)   0,000000 ( 0%)
     running m4               0,431 (83%)   0,012 (59%)   0,000000 ( 0%)
     total time               0,522         0,020         0,000000

Suggested by Bruno Haible.
See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.

* lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
wall, since its resolution is much higher.

6 years agotimevar: expect that getrusage is available
Akim Demaille [Thu, 11 Oct 2018 15:54:35 +0000 (17:54 +0200)]
timevar: expect that getrusage is available

Don't keep both times and getrusage as backend: both are guaranteed by
gnulib, a single one suffices.  Using getrusage is open to possibly
tracking other types of resources in the future.

* modules/timevar (Depends-on): Add getrusage.
(configure.ac): Remove gl_TIMEVAR.
(Files): Remove m4/timevar.m4.
* m4/timevar.m4: Remove, rely on gnulib for getrusage.
* lib/timevar.h (timevar_enabled): Clarify documentation.
* lib/timevar.c: Remove all the code about times.
Remove all the CPP guards about getrusage: expect it to be present
(courtesy of gnulib).

6 years agomountlist: Improve support for Solaris in 64-bit mode.
Bruno Haible [Fri, 12 Oct 2018 09:12:53 +0000 (11:12 +0200)]
mountlist: Improve support for Solaris in 64-bit mode.

Reported by David Wood <David.Wood@deshaw.com> in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.

* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
* lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.

6 years agomountlist: Add support for Minix.
Bruno Haible [Fri, 12 Oct 2018 09:06:33 +0000 (11:06 +0200)]
mountlist: Add support for Minix.

Reported by Assaf Gordon in
<https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.

* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
AC_CHECK_FUNCS to check for 'getmntinfo'.
* lib/mountlist.c: Update comments.

6 years agoMake better use of Autoconf.
Bruno Haible [Fri, 12 Oct 2018 00:42:44 +0000 (02:42 +0200)]
Make better use of Autoconf.

* m4/environ.m4: Use AC_CACHE_CHECK where possible.
* m4/manywarnings.m4: Likewise.
* m4/manywarnings-c++.m4: Likewise.
* m4/socklen.m4: Likewise.
* m4/sockpfaf.m4: Likewise.
* m4/stdarg.m4: Likewise.
* m4/visibility.m4: Likewise.
* m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
indentation.
* m4/ls-mntd-fs.m4: Likewise.

6 years agomountlist: Modernize platform lists.
Bruno Haible [Thu, 11 Oct 2018 21:29:28 +0000 (23:29 +0200)]
mountlist: Modernize platform lists.

* m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
platforms, deemphasizing the obsolete ones.
* lib/mountlist.c: Likewise.

6 years agogetprogname: Add support for 32-bit programs on HP-UX.
Bruno Haible [Thu, 11 Oct 2018 18:07:00 +0000 (20:07 +0200)]
getprogname: Add support for 32-bit programs on HP-UX.

* lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
try the similar functions 32-bit programs on 64-bit HP-UX.

6 years agogetprogname: Work around program name truncation when possible.
Bruno Haible [Thu, 11 Oct 2018 16:24:51 +0000 (18:24 +0200)]
getprogname: Work around program name truncation when possible.

* lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
possibly use pst_cmd instead.

6 years agofts: cleanup after FTS_NOATIME removal
Paul Eggert [Mon, 8 Oct 2018 23:53:59 +0000 (16:53 -0700)]
fts: cleanup after FTS_NOATIME removal

* lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
(FTS_STOP): Shrink to minimal values.  We don’t need to
worry about binary compatibility in Gnulib, and the old way
of doing things had a hole in the user options that caused
FTS_OPTIONMASK to not work as desired.

6 years agofts: remove FTS_NOATIME
Bernhard Voelker [Mon, 8 Oct 2018 23:45:36 +0000 (16:45 -0700)]
fts: remove FTS_NOATIME

This reverts commit da4d6974013c822af1498941e32db774b2031765.
We cannot guarantee that O_NOATIME works: e.g. openat fails
with EPERM if the effective user ID of the caller does not match
the owner of the file and the caller is not privileged.
Downstream findutils has never picked up FTS_NOATIME.  Discussed at
<https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
* lib/fts_.h (FTS_NOATIME): Remove bit flag.
(FTS_OPTIONMASK): Adjust.
* lib/fts.c (diropen, fts_open, fts_build): Likewise.
(fd_ring_check): Likewise.

6 years agocsharpcomp*, csharpexec*: Remove support for pnet.
Bruno Haible [Mon, 8 Oct 2018 23:44:07 +0000 (01:44 +0200)]
csharpcomp*, csharpexec*: Remove support for pnet.

* m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
HAVE_CSCC.
* build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
Don't test HAVE_CSCC.
* lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
(compile_csharp_class): Don't invoke it.
* m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
HAVE_ILRUN.
* build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
Don't test HAVE_ILRUN.
* lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
(execute_csharp_program): Don't invoke it.
* m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
any more.

6 years agoautoupdate
Paul Eggert [Mon, 8 Oct 2018 18:32:09 +0000 (11:32 -0700)]
autoupdate

6 years agorenameatu: prefer renameat2 to syscall
Andreas Henriksson [Sun, 7 Oct 2018 22:01:07 +0000 (15:01 -0700)]
renameatu: prefer renameat2 to syscall

* lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
Use renameat2 instead of syscall (Bug#32796).
* m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.

6 years agobootstrap, gnulib-tool: use https instead of insecure rsync
Benno Schulenberg [Sun, 7 Oct 2018 16:20:44 +0000 (18:20 +0200)]
bootstrap, gnulib-tool: use https instead of insecure rsync

The rsync command does not do any authentication and thus allows
man-in-the-middle attacks.  Better use wget over https, although
this is slower.

* build-aux/bootstrap (download_po_files, po_download_command_format):
Don't try using rsync; always use wget over https to fetch PO files.
* gnulib-tool (func_import): Likewise.
* pygnulib/GLImport.py (GLImport.execute): Likewise.

6 years agoAdd ChangeLog entry for last commit.
Benno Schulenberg [Sun, 7 Oct 2018 17:19:30 +0000 (19:19 +0200)]
Add ChangeLog entry for last commit.

6 years agobootstrap, gnulib-tool: correct the translations wget command
Benno Schulenberg [Sun, 7 Oct 2018 16:20:43 +0000 (18:20 +0200)]
bootstrap, gnulib-tool: correct the translations wget command

Using the -np (--no-parent) option doesn't prevent wget from
traversing the given URL to a default depth of 5, and since
the domain directory contains a href="/latest/" link, this
means that wget searches through all domains anyway and will
also download PO files that are meant for other packages.
When getting the PO files for the nano domain, for example,
you will end up with af.po and ast.po (and many others) too,
but there are no African nor Asturian translations for nano.

So, use the --level option instead, to stop wget from looking
any further than the given URL.

* build-aux/bootstrap (po_download_command_format2): Restrict
recursion to a single level.
* gnulib-tool (func_import): Likewise.
* pygnulib/GLImport.py (GLImport.execute): Likewise.

6 years agodoc: the gnulib snapshots are not maintained
Akim Demaille [Sun, 7 Oct 2018 07:33:21 +0000 (09:33 +0200)]
doc: the gnulib snapshots are not maintained

* doc/gnulib-intro.texi (Steady Development): Don't mention them.

6 years agotimevar: add to lib_SOURCES
Akim Demaille [Sat, 6 Oct 2018 10:16:12 +0000 (12:16 +0200)]
timevar: add to lib_SOURCES

* modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.

6 years agodirent: Update documentation.
Bruno Haible [Sun, 7 Oct 2018 09:04:50 +0000 (11:04 +0200)]
dirent: Update documentation.

* doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.

6 years agostrpbrk: Make it possible to namespace the defined symbol.
Bruno Haible [Fri, 5 Oct 2018 19:54:56 +0000 (21:54 +0200)]
strpbrk: Make it possible to namespace the defined symbol.

* lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.

6 years agostrcspn: Make it possible to namespace the defined symbol.
Bruno Haible [Fri, 5 Oct 2018 19:54:14 +0000 (21:54 +0200)]
strcspn: Make it possible to namespace the defined symbol.

* lib/strcspn.c (strcspn): Don't undefine outside of glibc.

6 years agoraise: Make it possible to namespace the defined symbol.
Bruno Haible [Fri, 5 Oct 2018 19:53:24 +0000 (21:53 +0200)]
raise: Make it possible to namespace the defined symbol.

* lib/raise.c (raise): Undefine only after the replacement function has
been defined.
(raise): Renamed from rpl_raise.
(raise_nothrow): Move to the end of the compilation unit.

6 years agomemcmp: Make it possible to namespace the defined symbol.
Bruno Haible [Fri, 5 Oct 2018 19:50:47 +0000 (21:50 +0200)]
memcmp: Make it possible to namespace the defined symbol.

* lib/memcmp.c (memcmp): Don't undefine outside of glibc.

6 years agoexplicit_bzero: Make it possible to namespace the defined symbol.
Bruno Haible [Fri, 5 Oct 2018 19:49:39 +0000 (21:49 +0200)]
explicit_bzero: Make it possible to namespace the defined symbol.

* lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
glibc.

6 years agomkdir-p: Depend on 'mkdir'.
Bruno Haible [Fri, 5 Oct 2018 16:42:44 +0000 (18:42 +0200)]
mkdir-p: Depend on 'mkdir'.

* modules/mkdir-p (Depends-on): Add 'mkdir'.

6 years agotempname: Depend on 'mkdir'.
Bruno Haible [Fri, 5 Oct 2018 16:37:31 +0000 (18:37 +0200)]
tempname: Depend on 'mkdir'.

Reported by Maarten Bosmans <mkbosmans@gmail.com>
at <https://savannah.gnu.org/bugs/?33379>.

* modules/tempname (Depends-on): Add 'mkdir'.

6 years agotimevar: rely on gnulib modules for time portability.
Akim Demaille [Tue, 2 Oct 2018 04:19:19 +0000 (06:19 +0200)]
timevar: rely on gnulib modules for time portability.

* modules/timevar (Depends-on): Add sys_time, sys_times, and times.
* m4/timevar.m4: Don't check for clock_t and struct tms,
guaranteed by gnulib.
* lib/timevar.h: Use extern "C" protection.
Include <stdio.h> for FILE.
* lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
they are guaranteed by gnulib.
Remove uses of clock as (now useless) fallback.

6 years agosh-filename: New module.
Bruno Haible [Thu, 4 Oct 2018 23:38:46 +0000 (01:38 +0200)]
sh-filename: New module.

* m4/sh-filename.m4: New file.
* modules/sh-filename: New file.
* lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
"/bin/sh".
* tests/test-posix_spawn1.c (main): Likewise.
* tests/test-posix_spawn2.c (main): Likewise.
* lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
is_envjavac_gcj43): Likewise.
* lib/javaexec.c (execute_java_class): Likewise.
* modules/posix_spawn-internal (Depends-on): Add sh-filename.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/javaexec (Depends-on): Likewise.

6 years agofcntl: Make it possible to namespace the defined symbol, part 2.
Bruno Haible [Thu, 4 Oct 2018 23:16:56 +0000 (01:16 +0200)]
fcntl: Make it possible to namespace the defined symbol, part 2.

* lib/fcntl.c: Fix syntax errors in last commit.

6 years agospawn-pipe tests: Avoid test failure on native Windows.
Bruno Haible [Thu, 4 Oct 2018 22:27:25 +0000 (00:27 +0200)]
spawn-pipe tests: Avoid test failure on native Windows.

* tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
that fd 2 is closed.

6 years agofcntl: Make it possible to namespace the defined symbol.
Bruno Haible [Thu, 4 Oct 2018 22:22:57 +0000 (00:22 +0200)]
fcntl: Make it possible to namespace the defined symbol.

* lib/fcntl.c (fcntl): Undefine only after the replacement function has
been defined.
(fcntl): Renamed from rpl_fcntl.
(rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
from fcntl.
(klibc_fcntl): Move to the end of the compilation unit.

6 years agovasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
Bruno Haible [Wed, 3 Oct 2018 00:56:57 +0000 (02:56 +0200)]
vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.

* tests/test-vasnprintf.c (test_function): Change the test added on
2018-09-23 to check only the 18 most significant digits.

6 years agovasnprintf tests: Avoid test failure on Cygwin.
Bruno Haible [Tue, 2 Oct 2018 08:50:42 +0000 (10:50 +0200)]
vasnprintf tests: Avoid test failure on Cygwin.

* tests/test-vasnprintf.c (test_function): Change the test added on
2018-09-23 to check only the 42 most significant digits.

6 years agomkostemp, mkostemps: Update documentation.
Bruno Haible [Mon, 1 Oct 2018 23:17:34 +0000 (01:17 +0200)]
mkostemp, mkostemps: Update documentation.

* doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
* doc/glibc-functions/mkostemps.texi: Likewise.

6 years agomkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
Tom Tromey [Mon, 1 Oct 2018 20:57:45 +0000 (14:57 -0600)]
mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.

Attempting to use the mkostemp module in gdb caused a build failure
when using the C++ namespace feature, because mkostemp was not
declared.  On OS X, mkostemp is declared in unistd.h, so this patch
extends the existing special case in stdlib.in.h to cover mkostemp and
mkostemps.

* lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
on OS X.

6 years agohmac-*: refactor to remove repetitive code
Pádraig Brady [Sun, 30 Sep 2018 05:20:17 +0000 (22:20 -0700)]
hmac-*: refactor to remove repetitive code

A net removal of 240 lines.

* lib/hmac.c: A new parameterized single implementation.
* lib/hmac-md5.c: Define parameters and include implementation.
* lib/hmac-sha1.c: Likewise.
* lib/hmac-sha256.c: Likewise.
* lib/hmac-sha512.c: Likewise.
* modules/crypto/hmac-md5: Reference the new implementation file.
* modules/crypto/hmac-sha1: Likewise.
* modules/crypto/hmac-sha256: Likewise.
* modules/crypto/hmac-sha512: Likewise.
* tests/test-hmac-md5.c: Refactor common code to a single function.
* tests/test-hmac-sha1.c: Likewise.
* tests/test-hmac-sha256.c: Likewise.
* tests/test-hmac-sha512.c: Likewise.

6 years agohmac-sha512: fix hash for keys > blocksize (128 bytes)
Zhang Qing [Sun, 30 Sep 2018 02:57:56 +0000 (19:57 -0700)]
hmac-sha512: fix hash for keys > blocksize (128 bytes)

* lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
key length to that output by sha512, not the blocksize.
Otherwise uninitialized data from the stack
is used when computing the hash.
* tests/test-hmac-sha512.c: Add a shortened key test case.
Reported at https://github.com/coreutils/gnulib/pull/5

6 years agovasnprintf: Avoid warnings from GCC's -Wsign-compare.
Bruno Haible [Sun, 30 Sep 2018 21:16:45 +0000 (23:16 +0200)]
vasnprintf: Avoid warnings from GCC's -Wsign-compare.

Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.

* lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
'unsigned int' before comparison with an unsigned value.

6 years agograntpt: Remove unnecessary dependency.
Bruno Haible [Sun, 30 Sep 2018 17:50:34 +0000 (19:50 +0200)]
grantpt: Remove unnecessary dependency.

* modules/grantpt (Depends-on): Remove 'builtin-expect'.

6 years agotimevar: Small tweaks.
Bruno Haible [Sun, 30 Sep 2018 17:36:29 +0000 (19:36 +0200)]
timevar: Small tweaks.

* lib/timevar.h: Fix comments. Add parameter names to function
declarations.
* lib/timevar.c: Include timevar.h immediately after config.h.
* lib/timevar.def: Fix comments.
* modules/timevar (Maintainer): List Akim Demaille.

6 years agotimevar: Include documentation in gnulib manual.
Bruno Haible [Sun, 30 Sep 2018 17:27:56 +0000 (19:27 +0200)]
timevar: Include documentation in gnulib manual.

* doc/timevar.texi: Change node and section name to 'Profiling of
program phases'.
In the code snippets, tweak the #includes and use GNU coding style.
* doc/gnulib.texi: Include timevar.texi.

6 years agotimevar: import from Bison.
Akim Demaille [Thu, 27 Sep 2018 16:20:29 +0000 (18:20 +0200)]
timevar: import from Bison.

* m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
New files.
* lib/timevar.def: New file.
* doc/timevar.texi: New file.

6 years agojavacomp-script, javacomp: Add preliminary support for Java 12..17.
Bruno Haible [Wed, 26 Sep 2018 20:14:07 +0000 (22:14 +0200)]
javacomp-script, javacomp: Add preliminary support for Java 12..17.

* m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
* lib/javacomp.c (default_target_version): Likewise.

6 years agojavacomp-script, javacomp: Add support for Java 11.
Bruno Haible [Wed, 26 Sep 2018 09:21:30 +0000 (11:21 +0200)]
javacomp-script, javacomp: Add support for Java 11.

* m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
target-version 11.
* lib/javaversion.h: Update comments.
* lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
source_version_index, get_goodcode_snippet, get_failcode_snippet,
TARGET_VERSION_BOUND, target_version_index,
corresponding_classfile_version): Accept source_version 11 and
target_version 11.
* lib/javacomp.h: Update comments accordingly.

6 years agovasnprintf: Fix heap memory overrun bug.
Bruno Haible [Sun, 23 Sep 2018 12:13:52 +0000 (14:13 +0200)]
vasnprintf: Fix heap memory overrun bug.

Reported by Ben Pfaff <blp@cs.stanford.edu> in
<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.

* lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
memory.
* tests/test-vasnprintf.c (test_function): Add another test.

6 years agoautoupdate
Karl Berry [Sat, 22 Sep 2018 15:45:27 +0000 (08:45 -0700)]
autoupdate

6 years agomaint: mktime.c now shared with glibc
Paul Eggert [Thu, 20 Sep 2018 03:59:26 +0000 (20:59 -0700)]
maint: mktime.c now shared with glibc

* config/srclist.txt: intprops.h, timegm.c and mktime.c
are now the same in Gnulib and glibc.

6 years agomktime: fix _LIBC typo
Paul Eggert [Wed, 19 Sep 2018 21:26:49 +0000 (14:26 -0700)]
mktime: fix _LIBC typo

* lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").

6 years agodfa: optimization for state merge
Norihiro Tanaka [Wed, 19 Sep 2018 15:35:49 +0000 (08:35 -0700)]
dfa: optimization for state merge

* lib/dfa.c (merge2): New function.
(merge_nfa_state): Use it.

6 years agodfa: trivial comment fix: s/is/if/
Jim Meyering [Wed, 19 Sep 2018 04:26:01 +0000 (21:26 -0700)]
dfa: trivial comment fix: s/is/if/

* lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.

6 years agodfa: use more-informative function name
Paul Eggert [Wed, 19 Sep 2018 02:12:06 +0000 (19:12 -0700)]
dfa: use more-informative function name

* lib/dfa.c (maybe_disable_superset_dfa):
Rename from dfautf8noss.  Use change.

6 years agodfa: tweak allocation performance
Paul Eggert [Wed, 19 Sep 2018 02:05:26 +0000 (19:05 -0700)]
dfa: tweak allocation performance

* lib/dfa.c (merge_nfa_state, dfaoptimize):
Prefer ptrdiff_t for indexes some more.
Use char for flags, as it’s wide enough.
Allocate queue and flags together, with one malloc call.
No need to use xnmalloc since the multiplication and
addition cannot overflow (it’s already been checked by
earlier allocation).  Prefer memset to open-coding.

6 years agodfa: prune states as we go
Paul Eggert [Wed, 19 Sep 2018 01:24:27 +0000 (18:24 -0700)]
dfa: prune states as we go

* lib/dfa.c (prune): Remove.
(merge_nfa_state): Prune as we go instead of at the end.
Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
Simplify constraint checking a bit.

6 years agodfa: reorder enum for efficiency
Paul Eggert [Tue, 18 Sep 2018 22:25:51 +0000 (15:25 -0700)]
dfa: reorder enum for efficiency

* lib/dfa.c (END): Now -1 again.  Reorder other elements
of the enumeration to make it easier for GCC to generate
efficient code by using fewer comparisons to check for
ranges of values.
(atom): Take advantage of the reordering.

6 years agodfa: optimize alternation in NFA
Norihiro Tanaka [Tue, 18 Sep 2018 17:07:23 +0000 (10:07 -0700)]
dfa: optimize alternation in NFA

Even when similar states exist in alternation, the DFA treats them
as separate items, which may complicate the transition in NFA and
cause slowdown.  This change assembles the states into one.  For
example, ab|ac is changed into a(b|c).  This change speeds-up
matching for many branched patterns.  For example, grep speeds up
more than 30× in:

  seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
  time -p env LC_ALL=C grep -vf in in

* lib/dfa.c (prune): New function.
(merge_nfa_state): New function.  It merges similar NFA states.
(dfaoptimize): New function.  It seeks merged and removed nodes.
(dfaanalyze): Call new function.
(dfautf8noss): Change name from dfaoptimize because of addition of new
function.
(dfacomp): Update caller.

6 years agodfa: simplify initial state
Norihiro Tanaka [Tue, 18 Sep 2018 16:58:22 +0000 (09:58 -0700)]
dfa: simplify initial state

Simplifying the initial state enables easier optimization of the NFA.
* lib/dfa.c (enum token): Add new element BEG.
(prtok): Adjust due to adding element BEG.
(dfaparse): Put BEG at a head of tokens.
(state_index): Adjust due to adding element BEG.
(dfaanalyze): Concatenate BEG to other tokens, and simplify to
build initial state.
(dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.

6 years agofile-has-acl: Fix test failure on Cygwin 2.9.
Bruno Haible [Tue, 18 Sep 2018 20:58:23 +0000 (22:58 +0200)]
file-has-acl: Fix test failure on Cygwin 2.9.

* m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
* lib/acl-internal.h: Likewise.
(HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
* lib/acl-internal.c: Update comments regarding Cygwin.
* lib/acl_entries.c: Likewise.
* lib/file-has-acl.c: Likewise.
(file_has_acl): For Cygwin, use a different way to determine whether
the "default" ACL of a directory is nontrivial.
* lib/get-permissions.c: Update comments regarding Cygwin.
* lib/set-permissions.c: Likewise.

6 years agostat-time tests: Fix test failure on Cygwin.
Bruno Haible [Tue, 18 Sep 2018 19:27:15 +0000 (21:27 +0200)]
stat-time tests: Fix test failure on Cygwin.

* tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.

6 years agodoc: fix typo
Paul Eggert [Tue, 18 Sep 2018 19:27:10 +0000 (12:27 -0700)]
doc: fix typo

6 years agodoc: OS X 10.11 lacked ns time functions
Paul Eggert [Tue, 18 Sep 2018 19:19:02 +0000 (12:19 -0700)]
doc: OS X 10.11 lacked ns time functions

According to <https://github.com/zeromq/libzmq/issues/2175>,
nanosecond-resolution timestamp functions were introduced
in macOS 10.12, so document the last version (OS X 10.11)
where they were absent.

6 years agogettime: nanotime never existed
Paul Eggert [Tue, 18 Sep 2018 19:19:02 +0000 (12:19 -0700)]
gettime: nanotime never existed

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
* lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
* m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.

6 years agodoc: Update statement about target platforms.
Bruno Haible [Tue, 18 Sep 2018 19:04:48 +0000 (21:04 +0200)]
doc: Update statement about target platforms.

Reported by Simon Sobisch.

* doc/gnulib-intro.texi (Target Platforms): Update. Mention
restrictions on MSVC versions.

6 years agoposix_spawn tests: Fix link error on 64-bit Cygwin.
Bruno Haible [Tue, 18 Sep 2018 18:18:38 +0000 (20:18 +0200)]
posix_spawn tests: Fix link error on 64-bit Cygwin.

* tests/test-posix_spawn1.c (environ): Remove declaration.
* tests/test-posix_spawn2.c (environ): Likewise.
* tests/test-posix_spawn3.c (environ): Likewise.
* tests/test-posix_spawn4.c (environ): Likewise.
* modules/posix_spawn-tests (Depends-on): Add 'environ'.
* modules/posix_spawnp-tests (Depends-on): Likewise.

6 years agotimespec: new function current_timespec
Paul Eggert [Sun, 16 Sep 2018 21:41:36 +0000 (14:41 -0700)]
timespec: new function current_timespec

* lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
and don’t worry about it failing on a CLOCK_REALTIME arg.
POSIX requires it to succeed and I don’t know of any
counterexamples where the fallbacks would work.
(current_timespec): New function, taken from Emacs.  It is more
convenient than gettime, and can help register allocation.
* lib/timespec.h: Include arg-nonnull.h.
(current_timespec): New declaration.
(gettime, settime): Declare args to be nonnull.
* modules/timespec (Depends-on): Add snippet/arg-nonnull.

6 years agosetlocale: Improve locale handling on macOS 10.12 or newer.
Bruno Haible [Sun, 16 Sep 2018 17:12:44 +0000 (19:12 +0200)]
setlocale: Improve locale handling on macOS 10.12 or newer.

* lib/setlocale.c: Include header files for CoreFoundation. Declare
gl_locale_name_canonicalize.
(libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
and LC_MESSAGES.
* m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.

6 years agoUpdate list of locale names with scripts on macOS.
Bruno Haible [Sun, 16 Sep 2018 15:14:12 +0000 (17:14 +0200)]
Update list of locale names with scripts on macOS.

* lib/localename.c (gl_locale_name_canonicalize): Update tables to
match Mac OS X 10.13 and recent glibc.

6 years agogettext: Use newer macOS APIs when possible.
Bruno Haible [Sun, 16 Sep 2018 15:08:04 +0000 (17:08 +0200)]
gettext: Use newer macOS APIs when possible.

* m4/intlmacosx.m4 (gt_INTL_MACOSX): Fix variable name.

6 years agogettext: Use newer macOS APIs when possible.
Bruno Haible [Sun, 16 Sep 2018 12:45:15 +0000 (14:45 +0200)]
gettext: Use newer macOS APIs when possible.

* m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
CFLocaleCopyPreferredLanguages.

6 years agolocalename: Revisit macOS specific code.
Bruno Haible [Sun, 16 Sep 2018 12:42:55 +0000 (14:42 +0200)]
localename: Revisit macOS specific code.

* lib/localename.c (gl_locale_name_default): Reduce code duplication.
Fix comments about Mac OS X versions.

6 years agosetlocale: Improve support for locales not supported by libc.
Bruno Haible [Sun, 16 Sep 2018 01:15:54 +0000 (03:15 +0200)]
setlocale: Improve support for locales not supported by libc.

Reported by Dapeng Gao <peter@dpgao.cc> at
<https://savannah.gnu.org/bugs/?54479>.

* gettext-runtime/intl/setlocale.c: Include <stdio.h>.
(libintl_setlocale): Use a more error-tolerant strategy when the locale
to be set is not supported by libc: Emit warnings instead of failing.

6 years agostrstr, strcasestr: Add workaround against glibc-2.28 bug.
Bruno Haible [Sat, 15 Sep 2018 10:04:03 +0000 (12:04 +0200)]
strstr, strcasestr: Add workaround against glibc-2.28 bug.

Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.

* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
* doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
* doc/glibc-functions/strcasestr.texi: Likewise.

6 years agodoc: Fix bottom of top-level page.
Bruno Haible [Fri, 14 Sep 2018 10:52:53 +0000 (12:52 +0200)]
doc: Fix bottom of top-level page.

Reported by Akim Demaille <akim.demaille@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.

* doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
mode.
* doc/gnulib.texi (Legacy Function Substitutes): Update menu
accordingly.

6 years agoAdd test case from a recent glibc bug.
Bruno Haible [Wed, 12 Sep 2018 21:40:02 +0000 (23:40 +0200)]
Add test case from a recent glibc bug.

* tests/test-strstr.c (main): Add test of long needle.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-c-strstr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.
* tests/test-memmem.c (main): Likewise.

6 years agoApply Eric Blake's improvements from 2011-02-25 to more tests.
Bruno Haible [Wed, 12 Sep 2018 19:30:42 +0000 (21:30 +0200)]
Apply Eric Blake's improvements from 2011-02-25 to more tests.

* tests/test-c-strstr.c (main): Add the same tests here as well.

6 years agoApply Jim Meyering's fix from 2015-01-11 to more tests.
Bruno Haible [Wed, 12 Sep 2018 19:27:52 +0000 (21:27 +0200)]
Apply Jim Meyering's fix from 2015-01-11 to more tests.

* tests/test-memmem.c (main): Free haystack.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.

6 years agoxstrtol: actually copy the intprops.h line
Paul Eggert [Tue, 11 Sep 2018 19:42:31 +0000 (12:42 -0700)]
xstrtol: actually copy the intprops.h line

6 years agoxstrtol: fix missing-TYPE_SIGNED typo
Paul Eggert [Tue, 11 Sep 2018 19:29:01 +0000 (12:29 -0700)]
xstrtol: fix missing-TYPE_SIGNED typo

* lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.