public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* Re: [PATCH] Update gnulib to current trunk
       [not found] <20200630184349.4009048-1-cbiesinger@google.com>
@ 2020-06-30 19:19 ` Christian Biesinger
  2020-07-02 18:49   ` Pedro Alves
  0 siblings, 1 reply; 13+ messages in thread
From: Christian Biesinger @ 2020-06-30 19:19 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 17506 bytes --]

It looks like the original message is in the moderation queue because
it's a little too big, so re-sending this as a gzipped attachment.

This fixes two issues on Windows: Update.
https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html

gnulib/ChangeLog:

2020-06-30  Christian Biesinger  <cbiesinger@google.com>

        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.in: Regenerate.
        * configure: Regenerate.
        * import/Makefile.am: Update.
        * import/Makefile.in: Regenerate.
        * import/alloca.in.h (if): Update.
        * import/assure.h (affirm): Update.
        * import/at-func.c: Update.
        * import/attribute.h: New file.
        * import/btowc.c: New file.
        * import/canonicalize-lgpl.c: Update.
        * import/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Update.
        (COUNT_ONE_BITS): Update.
        (intrinsic): Update.
        (__popcnt64): Update.
        (popcount_supported): Update.
        * import/ctype.in.h: New file.
        * import/dirent-private.h (WIN32_FIND_DATA): Update.
        * import/dirent.in.h (_GL_ATTRIBUTE_PURE): Update.
        * import/dirname.h: Update.
        * import/dosname.h: Remove.
        * import/error.h (_GL_ATTRIBUTE_FORMAT): Update.
        * import/extra/update-copyright: Update.
        * import/fchdir.c: Update.
        * import/fcntl.in.h (GNULIB_defined_rpl_fcntl): Update.
        (GNULIB_defined_fcntl): Update.
        * import/filename.h (HAS_DEVICE): Update.
        (IS_ABSOLUTE_PATH): Update.
        (IS_PATH_WITH_DIR): Update.
        (FILE_SYSTEM_PREFIX_LEN): Update.
        (_IS_DRIVE_LETTER): Update.
        (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): Update.
        (IS_ABSOLUTE_FILE_NAME): Update.
        (IS_RELATIVE_FILE_NAME): Update.
        (IS_FILE_NAME_WITH_DIR): Update.
        * import/filenamecat-lgpl.c (mfile_name_concat): Update.
        * import/fnmatch.c (WIDE_CHAR_SUPPORT): Update.
        (btowc): Update.
        (iswctype): Update.
        (mempcpy): Update.
        (strnlen): Update.
        (towlower): Update.
        (wcscat): Update.
        (wcslen): Update.
        (wctype): Update.
        (wmemchr): Update.
        (wmempcpy): Update.
        (SIZE_MAX): Update.
        (isblank): Update.
        (__libc_use_alloca): Update.
        (alloca): Update.
        (alloca_account): Update.
        (STREQ): Update.
        (CHAR_CLASS_MAX_LENGTH): Update.
        (IS_CHAR_CLASS): Update.
        (ISWCTYPE): Update.
        (if): Update.
        (HANDLE_MULTIBYTE): Update.
        (internal_function): Update.
        (FOLD): Update.
        (CHAR): Update.
        (UCHAR): Update.
        (INT): Update.
        (FCT): Update.
        (EXT): Update.
        (END): Update.
        (L_): Update.
        (BTOWC): Update.
        (STRLEN): Update.
        (STRCAT): Update.
        (MEMPCPY): Update.
        (MEMCHR): Update.
        (WIDE_CHAR_VERSION): Update.
        (STRUCT): Update.
        (FINDIDX): Update.
        (findidx): Update.
        (ALLOCA_LIMIT): Update.
        (SHLIB_COMPAT): Update.
        * import/fnmatch_loop.c (struct STRUCT): Update.
        (FCT): Update.
        (EXT): Update.
        (END): Update.
        (str): Update.
        (NEW_PATTERN): Update.
        * import/getcwd.c: Update.
        * import/getlogin_r.c (GetUserName): Update.
        * import/getprogname.c (getprogname): Update.
        * import/getrandom.c: New file.
        * import/gettimeofday.c: Remove.
        * import/glob.in.h (_Restrict_): Update.
        * import/inttypes.in.h (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        * import/isblank.c: New file.
        * import/isnanl-nolibm.h (__has_builtin): Update.
        * import/libc-config.h (versioned_symbol): Update.
        (compat_symbol): Update.
        * import/limits.in.h (_GL_ALREADY_INCLUDING_LIMITS_H): Update.
        * import/localtime-buffer.c: Remove.
        * import/localtime-buffer.h: Remove.
        * import/m4/btowc.m4: New file.
        * import/m4/ctype.m4: New file.
        * import/m4/exponentl.m4: Update.
        * import/m4/fnmatch.m4: Update.
        * import/m4/getrandom.m4: New file.
        * import/m4/gettimeofday.m4: Remove.
        * import/m4/glob.m4: Update.
        * import/m4/gnulib-common.m4: Update.
        * import/m4/gnulib-comp.m4: Update.
        * import/m4/inttypes.m4: Update.
        * import/m4/isblank.m4: New file.
        * import/m4/isnanl.m4: Update.
        * import/m4/largefile.m4: Update.
        * import/m4/localtime-buffer.m4: Remove.
        * import/m4/mbtowc.m4: New file.
        * import/m4/memmem.m4: Update.
        * import/m4/minmax.m4: New file.
        * import/m4/signal_h.m4: Update.
        * import/m4/stdio_h.m4: Update.
        * import/m4/stdlib_h.m4: Update.
        * import/m4/string_h.m4: Update.
        * import/m4/strnlen.m4: New file.
        * import/m4/sys_random_h.m4: New file.
        * import/m4/sys_socket_h.m4: Update.
        * import/m4/sys_stat_h.m4: Update.
        * import/m4/sys_time_h.m4: Remove.
        * import/m4/time_h.m4: Update.
        * import/m4/unistd_h.m4: Update.
        * import/m4/wchar_h.m4: Update.
        * import/m4/wint_t.m4: Update.
        * import/m4/wmemchr.m4: New file.
        * import/m4/wmempcpy.m4: New file.
        * import/math.in.h (__has_builtin): Update.
        * import/mbrtowc.c (FALLTHROUGH): Update.
        * import/mbtowc-impl.h: New file.
        * import/mbtowc.c: New file.
        * import/minmax.h: New file.
        * import/open.c (open): Update.
        * import/openat-proc.c (openat_proc_name): Update.
        * import/openat.c (rpl_openat): Update.
        (openat_needs_fchdir): Update.
        * import/openat.h (FCHOWNAT_INLINE): Update.
        (CHOWNAT_INLINE): Update.
        (FCHMODAT_INLINE): Update.
        (CHMODAT_INLINE): Update.
        * import/opendir.c (WIN32_FIND_DATA): Update.
        (GetFullPathName): Update.
        (FindFirstFile): Update.
        * import/readdir.c (FindNextFile): Update.
        * import/rename.c (MoveFileEx): Update.
        * import/rewinddir.c (FindFirstFile): Update.
        * import/rmdir.c: Update.
        * import/signal.in.h (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        * import/stat-w32.c (_WIN32_WINNT): Update.
        (LoadLibrary): Update.
        (GetFinalPathNameByHandle): Update.
        (GetProcAddress): Update.
        (DWORD): Update.
        (GetFileInformationByHandleExFunc): Update.
        (GetFinalPathNameByHandleFunc): Update.
        * import/stat.c (WIN32_FIND_DATA): Update.
        (CreateFile): Update.
        (FindFirstFile): Update.
        * import/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        (_GL_FUNCDECL_RPL_1): Update.
        (_GL_CXXALIAS_RPL_1): Update.
        (_GL_CXXALIAS_SYS_CAST): Update.
        * import/stdlib.in.h (_GL_ATTRIBUTE_PURE): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        * import/string.in.h (_GL_ATTRIBUTE_PURE): Update.
        (_GL_WARN_ON_USE): Update.
        (_GL_WARN_ON_USE_CXX): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_CXXALIAS_SYS): Update.
        (mbstok_r): Update.
        * import/strnlen.c: New file.
        * import/sys_random.in.h: New file.
        * import/sys_socket.in.h (GNULIB_defined_socklen_t): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_CXXALIAS_SYS_CAST): Update.
        * import/sys_stat.in.h (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        (lchmod): Update.
        (_GL_CXXALIAS_RPL_1): Update.
        (stat): Update.
        * import/sys_time.in.h: Remove.
        * import/tempname.c (__set_errno): Update.
        (__secure_getenv): Update.
        (__try_tempname): Update.
        (__getpid): Update.
        (__gettimeofday): Update.
        (RANDOM_BITS): Update.
        (uint64_t): Update.
        (RANDOM_VALUE_MAX): Update.
        (BASE_62_DIGITS): Update.
        (BASE_62_POWER): Update.
        (try_tempname_len): Update.
        (try_file): Update.
        (try_dir): Update.
        (try_nocreate): Update.
        (gen_tempname_len): Update.
        (__gen_tempname): Update.
        (try_tempname): Update.
        * import/tempname.h (gen_tempname_len): Update.
        (try_tempname_len): Update.
        * import/time.in.h (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_CXXALIAS_SYS): Update.
        * import/unistd.in.h (if): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        (_GL_CXXALIASWARN): Update.
        (_GL_WARN_ON_USE): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        * import/verify.h: Update.
        * import/warn-on-use.h (_GL_WARN_ON_USE_CXX): Update.
        * import/wchar.in.h (_GL_ATTRIBUTE_PURE): Update.
        (_GL_FUNCDECL_RPL): Update.
        (_GL_CXXALIAS_RPL): Update.
        (_GL_FUNCDECL_SYS): Update.
        (_GL_CXXALIAS_SYS): Update.
        (_GL_CXXALIASWARN): Update.
        (_GL_WARN_ON_USE): Update.
        (_GL_CXXALIAS_SYS_CAST2): Update.
        (_GL_CXXALIASWARN1): Update.
        * import/windows-rwlock.c (CreateEvent): Update.
        * import/wmemchr-impl.h: New file.
        * import/wmemchr.c: New file.
        * import/wmempcpy.c: New file.
        * update-gnulib.sh: Update gnulib revision.
---
 gnulib/Makefile.in                            |   37 +-
 gnulib/aclocal.m4                             |   13 +-
 gnulib/config.in                              |  329 +-
 gnulib/configure                              | 2859 ++++++++++-------
 gnulib/import/Makefile.am                     |  196 +-
 gnulib/import/Makefile.in                     |  258 +-
 gnulib/import/alloca.in.h                     |   15 +-
 gnulib/import/assure.h                        |   24 +-
 gnulib/import/at-func.c                       |    2 +-
 gnulib/import/attribute.h                     |  215 ++
 gnulib/import/btowc.c                         |   39 +
 gnulib/import/canonicalize-lgpl.c             |    2 +-
 gnulib/import/count-one-bits.h                |   85 +-
 gnulib/import/ctype.in.h                      |   57 +
 gnulib/import/dirent-private.h                |    4 +
 gnulib/import/dirent.in.h                     |   10 +-
 gnulib/import/dirname.h                       |    2 +-
 gnulib/import/dosname.h                       |   52 -
 gnulib/import/error.h                         |   12 -
 gnulib/import/extra/update-copyright          |    4 +-
 gnulib/import/fchdir.c                        |    9 +-
 gnulib/import/fcntl.in.h                      |    6 +
 gnulib/import/filename.h                      |   88 +-
 gnulib/import/filenamecat-lgpl.c              |   22 +-
 gnulib/import/fnmatch.c                       |  429 ++-
 gnulib/import/fnmatch_loop.c                  |  573 ++--
 gnulib/import/getcwd.c                        |    8 +-
 gnulib/import/getlogin_r.c                    |    3 +
 gnulib/import/getprogname.c                   |    2 +-
 gnulib/import/getrandom.c                     |  187 ++
 gnulib/import/gettimeofday.c                  |  150 -
 gnulib/import/glob.in.h                       |    9 +-
 gnulib/import/inttypes.in.h                   |   24 +-
 gnulib/import/isblank.c                       |   33 +
 gnulib/import/isnanl-nolibm.h                 |    5 +-
 gnulib/import/libc-config.h                   |    3 +-
 gnulib/import/limits.in.h                     |   23 +-
 gnulib/import/localtime-buffer.c              |   60 -
 gnulib/import/m4/btowc.m4                     |  120 +
 gnulib/import/m4/ctype.m4                     |   32 +
 gnulib/import/m4/exponentl.m4                 |   14 +-
 gnulib/import/m4/fnmatch.m4                   |    6 +-
 gnulib/import/m4/getrandom.m4                 |   65 +
 gnulib/import/m4/gettimeofday.m4              |  128 -
 gnulib/import/m4/glob.m4                      |    3 +-
 gnulib/import/m4/gnulib-common.m4             |  229 +-
 gnulib/import/m4/gnulib-comp.m4               |  101 +-
 gnulib/import/m4/inttypes.m4                  |    4 +-
 gnulib/import/m4/isblank.m4                   |   17 +
 gnulib/import/m4/isnanl.m4                    |   17 +-
 gnulib/import/m4/largefile.m4                 |    3 -
 gnulib/import/m4/localtime-buffer.m4          |   21 -
 gnulib/import/m4/mbtowc.m4                    |   24 +
 gnulib/import/m4/memmem.m4                    |    4 +-
 gnulib/import/m4/minmax.m4                    |   44 +
 gnulib/import/m4/signal_h.m4                  |    4 +-
 gnulib/import/m4/stdio_h.m4                   |    4 +-
 gnulib/import/m4/stdlib_h.m4                  |    4 +-
 gnulib/import/m4/string_h.m4                  |    5 +-
 gnulib/import/m4/strnlen.m4                   |   30 +
 gnulib/import/m4/sys_random_h.m4              |   52 +
 gnulib/import/m4/sys_socket_h.m4              |    4 +-
 gnulib/import/m4/sys_stat_h.m4                |    7 +-
 gnulib/import/m4/sys_time_h.m4                |  110 -
 gnulib/import/m4/time_h.m4                    |    6 +-
 gnulib/import/m4/unistd_h.m4                  |    9 +-
 gnulib/import/m4/wchar_h.m4                   |    9 +-
 gnulib/import/m4/wint_t.m4                    |   12 +-
 gnulib/import/m4/wmemchr.m4                   |   32 +
 gnulib/import/m4/wmempcpy.m4                  |   21 +
 gnulib/import/math.in.h                       |   16 +-
 gnulib/import/mbrtowc.c                       |    9 +-
 gnulib/import/mbtowc-impl.h                   |   44 +
 gnulib/import/mbtowc.c                        |   26 +
 gnulib/import/minmax.h                        |   60 +
 gnulib/import/open.c                          |    6 +-
 gnulib/import/openat-proc.c                   |    5 +-
 gnulib/import/openat.c                        |   10 +-
 gnulib/import/openat.h                        |   20 +-
 gnulib/import/opendir.c                       |   10 +
 gnulib/import/readdir.c                       |    4 +
 gnulib/import/rename.c                        |    4 +
 gnulib/import/rewinddir.c                     |    4 +
 gnulib/import/rmdir.c                         |    2 +-
 gnulib/import/signal.in.h                     |   24 +-
 gnulib/import/stat-w32.c                      |   37 +-
 gnulib/import/stat.c                          |    7 +
 gnulib/import/stdio.in.h                      |  280 +-
 gnulib/import/stdlib.in.h                     |   82 +-
 gnulib/import/string.in.h                     |   50 +-
 gnulib/import/strnlen.c                       |   30 +
 gnulib/import/sys_random.in.h                 |   92 +
 gnulib/import/sys_socket.in.h                 |   75 +-
 gnulib/import/sys_stat.in.h                   |   44 +-
 gnulib/import/sys_time.in.h                   |  224 --
 gnulib/import/tempname.c                      |  280 +-
 gnulib/import/tempname.h                      |    7 +
 gnulib/import/time.in.h                       |   17 +-
 gnulib/import/unistd.in.h                     |   51 +-
 gnulib/import/verify.h                        |   20 +-
 gnulib/import/warn-on-use.h                   |   21 +-
 gnulib/import/wchar.in.h                      |  252 +-
 gnulib/import/windows-rwlock.c                |    4 +
 gnulib/import/wmemchr-impl.h                  |   27 +
 gnulib/import/wmemchr.c                       |   23 +
 .../import/{localtime-buffer.h => wmempcpy.c} |   23 +-
 gnulib/update-gnulib.sh                       |    2 +-
 107 files changed, 5448 insertions(+), 3434 deletions(-)
 create mode 100644 gnulib/import/attribute.h
 create mode 100644 gnulib/import/btowc.c
 create mode 100644 gnulib/import/ctype.in.h
 delete mode 100644 gnulib/import/dosname.h
 create mode 100644 gnulib/import/getrandom.c
 delete mode 100644 gnulib/import/gettimeofday.c
 create mode 100644 gnulib/import/isblank.c
 delete mode 100644 gnulib/import/localtime-buffer.c
 create mode 100644 gnulib/import/m4/btowc.m4
 create mode 100644 gnulib/import/m4/ctype.m4
 create mode 100644 gnulib/import/m4/getrandom.m4
 delete mode 100644 gnulib/import/m4/gettimeofday.m4
 create mode 100644 gnulib/import/m4/isblank.m4
 delete mode 100644 gnulib/import/m4/localtime-buffer.m4
 create mode 100644 gnulib/import/m4/mbtowc.m4
 create mode 100644 gnulib/import/m4/minmax.m4
 create mode 100644 gnulib/import/m4/strnlen.m4
 create mode 100644 gnulib/import/m4/sys_random_h.m4
 delete mode 100644 gnulib/import/m4/sys_time_h.m4
 create mode 100644 gnulib/import/m4/wmemchr.m4
 create mode 100644 gnulib/import/m4/wmempcpy.m4
 create mode 100644 gnulib/import/mbtowc-impl.h
 create mode 100644 gnulib/import/mbtowc.c
 create mode 100644 gnulib/import/minmax.h
 create mode 100644 gnulib/import/strnlen.c
 create mode 100644 gnulib/import/sys_random.in.h
 delete mode 100644 gnulib/import/sys_time.in.h
 create mode 100644 gnulib/import/wmemchr-impl.h
 create mode 100644 gnulib/import/wmemchr.c
 rename gnulib/import/{localtime-buffer.h => wmempcpy.c} (60%)

[-- Attachment #2: 0001-Update-gnulib-to-current-trunk.patch.gz --]
[-- Type: application/gzip, Size: 100117 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-06-30 19:19 ` [PATCH] Update gnulib to current trunk Christian Biesinger
@ 2020-07-02 18:49   ` Pedro Alves
  2020-07-02 19:02     ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Pedro Alves @ 2020-07-02 18:49 UTC (permalink / raw)
  To: Christian Biesinger, gdb-patches

On 6/30/20 8:19 PM, Christian Biesinger via Gdb-patches wrote:
> It looks like the original message is in the moderation queue because
> it's a little too big, so re-sending this as a gzipped attachment.
> 
> This fixes two issues on Windows: Update.
> https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html

This seems to be bringing in a good amount of churn.

I'm lazy, so I'll copy&paste my comments from:
 https://sourceware.org/legacy-ml/gdb-patches/2018-08/msg00768.html

"It is standard practice when updating gnulib to discuss the set of
modules that the exercise brings in due to module dependencies.
If we're now including some more modules, that may mean that
we could eliminate some older host compatibility code from gdb
in favor of gnulib's and list the module dependencies
explicitly in IMPORTED_GNULIB_MODULES in update-gnulib.h.

Conversely, there's a chance that we were depending on some
module that wasn't explicitly listed in IMPORTED_GNULIB_MODULES,
and an update could remove the module by mistake.

Another reason for that is that that are some modules that
are problematic for us (e.g., the one that pulls in Windows's
select replacement), so we need to look out for that, in case
it is pulled in by a dependency."


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-02 18:49   ` Pedro Alves
@ 2020-07-02 19:02     ` Eli Zaretskii
  2020-07-02 19:06       ` Pedro Alves
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2020-07-02 19:02 UTC (permalink / raw)
  To: Pedro Alves; +Cc: cbiesinger, gdb-patches

> From: Pedro Alves <pedro@palves.net>
> Date: Thu, 2 Jul 2020 19:49:53 +0100
> 
> > This fixes two issues on Windows: Update.
> > https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html
> 
> This seems to be bringing in a good amount of churn.

Maybe we should just update the two modules which were changed due to
my reports?  Would that be safer?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-02 19:02     ` Eli Zaretskii
@ 2020-07-02 19:06       ` Pedro Alves
  2020-07-06 18:19         ` Christian Biesinger
  0 siblings, 1 reply; 13+ messages in thread
From: Pedro Alves @ 2020-07-02 19:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: cbiesinger, gdb-patches

On 7/2/20 8:02 PM, Eli Zaretskii wrote:
>> From: Pedro Alves <pedro@palves.net>
>> Date: Thu, 2 Jul 2020 19:49:53 +0100
>>
>>> This fixes two issues on Windows: Update.
>>> https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html
>>
>> This seems to be bringing in a good amount of churn.
> 
> Maybe we should just update the two modules which were changed due to
> my reports?  Would that be safer?
> 

I don't know.  I'd be happy with just seeing the list of the
dependencies being pulled in and dropped before making such
a decision.  It's just a precautionary measure, the update is
probably fine.

Pedro Alves

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-02 19:06       ` Pedro Alves
@ 2020-07-06 18:19         ` Christian Biesinger
  2020-07-15  2:40           ` Christian Biesinger
  2020-07-16 14:56           ` Pedro Alves
  0 siblings, 2 replies; 13+ messages in thread
From: Christian Biesinger @ 2020-07-06 18:19 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Eli Zaretskii, gdb-patches

Fair enough. This is the module diff:

--- /tmp/old 2020-07-06 13:04:17.837482577 -0500
+++ /tmp/new 2020-07-06 13:02:48.636984706 -0500
@@ -1,9 +1,12 @@
+Module list with included dependencies (indented):
     absolute-header
   alloca
     alloca-opt
     arpa_inet
     assure
     at-internal
+    attribute
+    btowc
     builtin-expect
     c99
   canonicalize-lgpl
@@ -13,12 +16,12 @@
     close
     closedir
   count-one-bits
+    ctype
     d-ino
     d-type
   dirent
   dirfd
     dirname-lgpl
-    dosname
     double-slash-root
     dup
     dup2
@@ -52,8 +55,8 @@
     getdtablesize
     getlogin_r
     getprogname
+    getrandom
     gettext-h
-    gettimeofday
   glob
     glob-h
     hard-locale
@@ -62,6 +65,7 @@
     intprops
   inttypes
     inttypes-incomplete
+    isblank
     isnand-nolibm
     isnanl-nolibm
     largefile
@@ -69,7 +73,6 @@
   limits-h
     localcharset
     locale
-    localtime-buffer
     lock
   lstat
     malloc-posix
@@ -78,11 +81,13 @@
     mbrtowc
     mbsinit
     mbsrtowcs
+    mbtowc
   memchr
   memmem
     memmem-simple
     mempcpy
     memrchr
+    minmax
   mkdir
   mkdtemp
   mkostemp
@@ -132,13 +137,14 @@
     strerror-override
   strerror_r-posix
     string
+    strnlen
     strnlen1
   strstr
     strstr-simple
   strtok_r
+    sys_random
     sys_socket
   sys_stat
-    sys_time
     sys_types
     sys_uio
     tempname
@@ -156,5 +162,7 @@
     windows-once
     windows-recmutex
     windows-rwlock
+    wmemchr
+    wmempcpy
     xalloc-oversized

It seems what is getting removed is:
-    dosname  (deprecated module and we don't use dosname.h)
-    gettimeofday (it looks like we use this in remote-fileio.c)
-    localtime-buffer (looks like basically an implementation detail)
-    sys_time (looks like GDB specifically did *not* want this per
comments in gdbsupport/gdb_sys_time.h)

So:
- For gettimeofday, the fixes in
https://www.gnu.org/software/gnulib/manual/html_node/gettimeofday.html#gettimeofday
don't look that important for gdb, but we could include the module.
Let me know if you want me to.

- For sys_time, we could perhaps replace the #undef in gdb_sys_time.h
with an #error. Let me know.

Christian

On Thu, Jul 2, 2020 at 2:07 PM Pedro Alves <pedro@palves.net> wrote:
>
> On 7/2/20 8:02 PM, Eli Zaretskii wrote:
> >> From: Pedro Alves <pedro@palves.net>
> >> Date: Thu, 2 Jul 2020 19:49:53 +0100
> >>
> >>> This fixes two issues on Windows: Update.
> >>> https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html
> >>
> >> This seems to be bringing in a good amount of churn.
> >
> > Maybe we should just update the two modules which were changed due to
> > my reports?  Would that be safer?
> >
>
> I don't know.  I'd be happy with just seeing the list of the
> dependencies being pulled in and dropped before making such
> a decision.  It's just a precautionary measure, the update is
> probably fine.
>
> Pedro Alves

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-06 18:19         ` Christian Biesinger
@ 2020-07-15  2:40           ` Christian Biesinger
  2020-07-16 14:56           ` Pedro Alves
  1 sibling, 0 replies; 13+ messages in thread
From: Christian Biesinger @ 2020-07-15  2:40 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Eli Zaretskii, gdb-patches

Ping

On Mon, Jul 6, 2020, 13:19 Christian Biesinger <cbiesinger@google.com>
wrote:

> Fair enough. This is the module diff:
>
> --- /tmp/old 2020-07-06 13:04:17.837482577 -0500
> +++ /tmp/new 2020-07-06 13:02:48.636984706 -0500
> @@ -1,9 +1,12 @@
> +Module list with included dependencies (indented):
>      absolute-header
>    alloca
>      alloca-opt
>      arpa_inet
>      assure
>      at-internal
> +    attribute
> +    btowc
>      builtin-expect
>      c99
>    canonicalize-lgpl
> @@ -13,12 +16,12 @@
>      close
>      closedir
>    count-one-bits
> +    ctype
>      d-ino
>      d-type
>    dirent
>    dirfd
>      dirname-lgpl
> -    dosname
>      double-slash-root
>      dup
>      dup2
> @@ -52,8 +55,8 @@
>      getdtablesize
>      getlogin_r
>      getprogname
> +    getrandom
>      gettext-h
> -    gettimeofday
>    glob
>      glob-h
>      hard-locale
> @@ -62,6 +65,7 @@
>      intprops
>    inttypes
>      inttypes-incomplete
> +    isblank
>      isnand-nolibm
>      isnanl-nolibm
>      largefile
> @@ -69,7 +73,6 @@
>    limits-h
>      localcharset
>      locale
> -    localtime-buffer
>      lock
>    lstat
>      malloc-posix
> @@ -78,11 +81,13 @@
>      mbrtowc
>      mbsinit
>      mbsrtowcs
> +    mbtowc
>    memchr
>    memmem
>      memmem-simple
>      mempcpy
>      memrchr
> +    minmax
>    mkdir
>    mkdtemp
>    mkostemp
> @@ -132,13 +137,14 @@
>      strerror-override
>    strerror_r-posix
>      string
> +    strnlen
>      strnlen1
>    strstr
>      strstr-simple
>    strtok_r
> +    sys_random
>      sys_socket
>    sys_stat
> -    sys_time
>      sys_types
>      sys_uio
>      tempname
> @@ -156,5 +162,7 @@
>      windows-once
>      windows-recmutex
>      windows-rwlock
> +    wmemchr
> +    wmempcpy
>      xalloc-oversized
>
> It seems what is getting removed is:
> -    dosname  (deprecated module and we don't use dosname.h)
> -    gettimeofday (it looks like we use this in remote-fileio.c)
> -    localtime-buffer (looks like basically an implementation detail)
> -    sys_time (looks like GDB specifically did *not* want this per
> comments in gdbsupport/gdb_sys_time.h)
>
> So:
> - For gettimeofday, the fixes in
>
> https://www.gnu.org/software/gnulib/manual/html_node/gettimeofday.html#gettimeofday
> don't look that important for gdb, but we could include the module.
> Let me know if you want me to.
>
> - For sys_time, we could perhaps replace the #undef in gdb_sys_time.h
> with an #error. Let me know.
>
> Christian
>
> On Thu, Jul 2, 2020 at 2:07 PM Pedro Alves <pedro@palves.net> wrote:
> >
> > On 7/2/20 8:02 PM, Eli Zaretskii wrote:
> > >> From: Pedro Alves <pedro@palves.net>
> > >> Date: Thu, 2 Jul 2020 19:49:53 +0100
> > >>
> > >>> This fixes two issues on Windows: Update.
> > >>> https://sourceware.org/pipermail/gdb-patches/2020-June/169978.html
> > >>
> > >> This seems to be bringing in a good amount of churn.
> > >
> > > Maybe we should just update the two modules which were changed due to
> > > my reports?  Would that be safer?
> > >
> >
> > I don't know.  I'd be happy with just seeing the list of the
> > dependencies being pulled in and dropped before making such
> > a decision.  It's just a precautionary measure, the update is
> > probably fine.
> >
> > Pedro Alves
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-06 18:19         ` Christian Biesinger
  2020-07-15  2:40           ` Christian Biesinger
@ 2020-07-16 14:56           ` Pedro Alves
  2020-08-13 12:24             ` Tom de Vries
  2020-08-23 21:37             ` Joel Brobecker
  1 sibling, 2 replies; 13+ messages in thread
From: Pedro Alves @ 2020-07-16 14:56 UTC (permalink / raw)
  To: Christian Biesinger; +Cc: Eli Zaretskii, gdb-patches

On 7/6/20 7:19 PM, Christian Biesinger wrote:
> Fair enough. This is the module diff:
> 
> --- /tmp/old 2020-07-06 13:04:17.837482577 -0500
> +++ /tmp/new 2020-07-06 13:02:48.636984706 -0500
> @@ -1,9 +1,12 @@
> +Module list with included dependencies (indented):
>      absolute-header
>    alloca
>      alloca-opt
>      arpa_inet
>      assure
>      at-internal
> +    attribute
> +    btowc

I wonder whether "btowc" potentially conflicts with the logic
in gdb/gdb_wchar.h .  We should keep an eye out for that.


>      builtin-expect
>      c99
>    canonicalize-lgpl
> @@ -13,12 +16,12 @@
>      close
>      closedir
>    count-one-bits
> +    ctype
>      d-ino
>      d-type
>    dirent
>    dirfd
>      dirname-lgpl
> -    dosname
>      double-slash-root
>      dup
>      dup2
> @@ -52,8 +55,8 @@
>      getdtablesize
>      getlogin_r
>      getprogname
> +    getrandom
>      gettext-h
> -    gettimeofday
>    glob
>      glob-h
>      hard-locale
> @@ -62,6 +65,7 @@
>      intprops
>    inttypes
>      inttypes-incomplete
> +    isblank
>      isnand-nolibm
>      isnanl-nolibm
>      largefile
> @@ -69,7 +73,6 @@
>    limits-h
>      localcharset
>      locale
> -    localtime-buffer
>      lock
>    lstat
>      malloc-posix
> @@ -78,11 +81,13 @@
>      mbrtowc
>      mbsinit
>      mbsrtowcs
> +    mbtowc
>    memchr
>    memmem
>      memmem-simple
>      mempcpy
>      memrchr
> +    minmax
>    mkdir
>    mkdtemp
>    mkostemp
> @@ -132,13 +137,14 @@
>      strerror-override
>    strerror_r-posix
>      string
> +    strnlen
>      strnlen1
>    strstr
>      strstr-simple
>    strtok_r
> +    sys_random
>      sys_socket
>    sys_stat
> -    sys_time
>      sys_types
>      sys_uio
>      tempname
> @@ -156,5 +162,7 @@
>      windows-once
>      windows-recmutex
>      windows-rwlock
> +    wmemchr
> +    wmempcpy
>      xalloc-oversized
> 
> It seems what is getting removed is:
> -    dosname  (deprecated module and we don't use dosname.h)
> -    gettimeofday (it looks like we use this in remote-fileio.c)
> -    localtime-buffer (looks like basically an implementation detail)
> -    sys_time (looks like GDB specifically did *not* want this per
> comments in gdbsupport/gdb_sys_time.h)
> 
> So:
> - For gettimeofday, the fixes in
> https://www.gnu.org/software/gnulib/manual/html_node/gettimeofday.html#gettimeofday
> don't look that important for gdb, but we could include the module.
> Let me know if you want me to.

I guess it doesn't hurt to explicitly include it.  Might as well do it,
since we use the function and have been using the module thus far.

> 
> - For sys_time, we could perhaps replace the #undef in gdb_sys_time.h
> with an #error. Let me know.

I suspect this gnulib commit is what caused gettimeofday and sys_time to
drop for us:

 commit 78f55d5374d6ff9b8460c48a42e924bf69775cd7
 Author:     Paul Eggert <eggert@cs.ucla.edu>
 AuthorDate: Sun May 31 20:15:25 2020 -0700

    tempname: merge from glibc and coreutils
...
    * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
    Add getentropy, libc-config.

As we can see from your diff:

>    sys_stat
> -    sys_time
>      sys_types
>      sys_uio
>      tempname

tempname is a dependency of sys_stat.

Another option would be to just get rid of gdb_sys_time.h,
i.e., revert all or most of:

 commit 438e1e427e8393de73d22617abe4d8eba0270e72
 Author:     Pedro Alves <palves@redhat.com>
 AuthorDate: Mon Aug 24 18:50:55 2015 +0100

    Prepare for gnulib update

But I'd be fine with just leaving this alone for now, in case
gnulib brings back the dependency.  It's also the easiest thing to
do (i.e., do nothing).

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-16 14:56           ` Pedro Alves
@ 2020-08-13 12:24             ` Tom de Vries
  2020-08-23 21:37             ` Joel Brobecker
  1 sibling, 0 replies; 13+ messages in thread
From: Tom de Vries @ 2020-08-13 12:24 UTC (permalink / raw)
  To: Pedro Alves, Christian Biesinger; +Cc: gdb-patches

On 7/16/20 4:56 PM, Pedro Alves wrote:
> On 7/6/20 7:19 PM, Christian Biesinger wrote:
>> Fair enough. This is the module diff:
>>
>> --- /tmp/old 2020-07-06 13:04:17.837482577 -0500
>> +++ /tmp/new 2020-07-06 13:02:48.636984706 -0500
>> @@ -1,9 +1,12 @@
>> +Module list with included dependencies (indented):
>>      absolute-header
>>    alloca
>>      alloca-opt
>>      arpa_inet
>>      assure
>>      at-internal
>> +    attribute
>> +    btowc
> 
> I wonder whether "btowc" potentially conflicts with the logic
> in gdb/gdb_wchar.h .  We should keep an eye out for that.
> 
> 
>>      builtin-expect
>>      c99
>>    canonicalize-lgpl
>> @@ -13,12 +16,12 @@
>>      close
>>      closedir
>>    count-one-bits
>> +    ctype
>>      d-ino
>>      d-type
>>    dirent
>>    dirfd
>>      dirname-lgpl
>> -    dosname
>>      double-slash-root
>>      dup
>>      dup2
>> @@ -52,8 +55,8 @@
>>      getdtablesize
>>      getlogin_r
>>      getprogname
>> +    getrandom
>>      gettext-h
>> -    gettimeofday
>>    glob
>>      glob-h
>>      hard-locale
>> @@ -62,6 +65,7 @@
>>      intprops
>>    inttypes
>>      inttypes-incomplete
>> +    isblank
>>      isnand-nolibm
>>      isnanl-nolibm
>>      largefile
>> @@ -69,7 +73,6 @@
>>    limits-h
>>      localcharset
>>      locale
>> -    localtime-buffer
>>      lock
>>    lstat
>>      malloc-posix
>> @@ -78,11 +81,13 @@
>>      mbrtowc
>>      mbsinit
>>      mbsrtowcs
>> +    mbtowc
>>    memchr
>>    memmem
>>      memmem-simple
>>      mempcpy
>>      memrchr
>> +    minmax
>>    mkdir
>>    mkdtemp
>>    mkostemp
>> @@ -132,13 +137,14 @@
>>      strerror-override
>>    strerror_r-posix
>>      string
>> +    strnlen
>>      strnlen1
>>    strstr
>>      strstr-simple
>>    strtok_r
>> +    sys_random
>>      sys_socket
>>    sys_stat
>> -    sys_time
>>      sys_types
>>      sys_uio
>>      tempname
>> @@ -156,5 +162,7 @@
>>      windows-once
>>      windows-recmutex
>>      windows-rwlock
>> +    wmemchr
>> +    wmempcpy
>>      xalloc-oversized
>>
>> It seems what is getting removed is:
>> -    dosname  (deprecated module and we don't use dosname.h)
>> -    gettimeofday (it looks like we use this in remote-fileio.c)
>> -    localtime-buffer (looks like basically an implementation detail)
>> -    sys_time (looks like GDB specifically did *not* want this per
>> comments in gdbsupport/gdb_sys_time.h)
>>
>> So:
>> - For gettimeofday, the fixes in
>> https://www.gnu.org/software/gnulib/manual/html_node/gettimeofday.html#gettimeofday
>> don't look that important for gdb, but we could include the module.
>> Let me know if you want me to.
> 
> I guess it doesn't hurt to explicitly include it.  Might as well do it,
> since we use the function and have been using the module thus far.
> 
>>
>> - For sys_time, we could perhaps replace the #undef in gdb_sys_time.h
>> with an #error. Let me know.
> 
> I suspect this gnulib commit is what caused gettimeofday and sys_time to
> drop for us:
> 
>  commit 78f55d5374d6ff9b8460c48a42e924bf69775cd7
>  Author:     Paul Eggert <eggert@cs.ucla.edu>
>  AuthorDate: Sun May 31 20:15:25 2020 -0700
> 
>     tempname: merge from glibc and coreutils
> ...
>     * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
>     Add getentropy, libc-config.
> 
> As we can see from your diff:
> 
>>    sys_stat
>> -    sys_time
>>      sys_types
>>      sys_uio
>>      tempname
> 
> tempname is a dependency of sys_stat.
> 
> Another option would be to just get rid of gdb_sys_time.h,
> i.e., revert all or most of:
> 
>  commit 438e1e427e8393de73d22617abe4d8eba0270e72
>  Author:     Pedro Alves <palves@redhat.com>
>  AuthorDate: Mon Aug 24 18:50:55 2015 +0100
> 
>     Prepare for gnulib update
> 
> But I'd be fine with just leaving this alone for now, in case
> gnulib brings back the dependency.  It's also the easiest thing to
> do (i.e., do nothing).
> 

Hi,

it's been four weeks since the last update here, and this is scheduled
for the 10.1 release, so ... ping.  Any news on this?

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-07-16 14:56           ` Pedro Alves
  2020-08-13 12:24             ` Tom de Vries
@ 2020-08-23 21:37             ` Joel Brobecker
  2020-08-23 21:41               ` Joel Brobecker
  2020-08-24 13:46               ` Pedro Alves
  1 sibling, 2 replies; 13+ messages in thread
From: Joel Brobecker @ 2020-08-23 21:37 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Christian Biesinger, gdb-patches

[-- Attachment #1: Type: text/plain, Size: 6009 bytes --]

Hi Pedro,

Christian seems to be busy these days, so I thought I could try to
help get this one in.

I'm going to quote the whole discussion below hoping this helps make it
easier for you to remember the details of this thread. which is about
updating gnulib to a newer version in order to bring in a change that
Eli wants for support of mingw.org's version of MinGW. If we wanted
a quick summary, my understanding is that following: After a closer
inspection of the delta in terms of modules this update causes,
we found that:

  - btowc gets added, for which you say that we should keep an eye
    on it wrt the logic in gdb/gdb_wchar.h, but I understand
    we should be OK for now;

  - We lose gettimeofday, and decided to add it.

  - We lose sys_time, and you suggested that the easiest is probably
    to accept that for now.

I have taken Christian's patch, and rebased it (there was one conflict
in gnulib/configure, which I resolved by regenerating it), and then
modified it to add gettimeofday.

As it happens, when doing that, we get sys_time back, as well as
localtime-buffer too. So, even though we said we could wait and
do nothing about it, the question becomes moot.

Attached is the diff between Christian's patch (once rebased).
I am attaching those even though this is not the patch I am proposing
because it should allow everyone to see the actual effect of adding
gettimeofday back, and see that the new version does bring what we want
and only what we want. It's only a few files, but still rather large
because of the files being added (back). So I made two versions:
One with the new files being elided, and the second containing the full
diff, but gziped.  Hopefully that'll fit within the mailinglist's
maximum email size.

I will send the actuall full patch, which consists of Christian
and my changes combined, with the ChangeLog updated accordingly,
in a separate email, also in an effort to stay under the maximum
email size limit.

Does this look OK to you now?

Thanks!

> On 7/6/20 7:19 PM, Christian Biesinger wrote:
> > Fair enough. This is the module diff:
> > 
> > --- /tmp/old 2020-07-06 13:04:17.837482577 -0500
> > +++ /tmp/new 2020-07-06 13:02:48.636984706 -0500
> > @@ -1,9 +1,12 @@
> > +Module list with included dependencies (indented):
> >      absolute-header
> >    alloca
> >      alloca-opt
> >      arpa_inet
> >      assure
> >      at-internal
> > +    attribute
> > +    btowc
> 
> I wonder whether "btowc" potentially conflicts with the logic
> in gdb/gdb_wchar.h .  We should keep an eye out for that.
> 
> 
> >      builtin-expect
> >      c99
> >    canonicalize-lgpl
> > @@ -13,12 +16,12 @@
> >      close
> >      closedir
> >    count-one-bits
> > +    ctype
> >      d-ino
> >      d-type
> >    dirent
> >    dirfd
> >      dirname-lgpl
> > -    dosname
> >      double-slash-root
> >      dup
> >      dup2
> > @@ -52,8 +55,8 @@
> >      getdtablesize
> >      getlogin_r
> >      getprogname
> > +    getrandom
> >      gettext-h
> > -    gettimeofday
> >    glob
> >      glob-h
> >      hard-locale
> > @@ -62,6 +65,7 @@
> >      intprops
> >    inttypes
> >      inttypes-incomplete
> > +    isblank
> >      isnand-nolibm
> >      isnanl-nolibm
> >      largefile
> > @@ -69,7 +73,6 @@
> >    limits-h
> >      localcharset
> >      locale
> > -    localtime-buffer
> >      lock
> >    lstat
> >      malloc-posix
> > @@ -78,11 +81,13 @@
> >      mbrtowc
> >      mbsinit
> >      mbsrtowcs
> > +    mbtowc
> >    memchr
> >    memmem
> >      memmem-simple
> >      mempcpy
> >      memrchr
> > +    minmax
> >    mkdir
> >    mkdtemp
> >    mkostemp
> > @@ -132,13 +137,14 @@
> >      strerror-override
> >    strerror_r-posix
> >      string
> > +    strnlen
> >      strnlen1
> >    strstr
> >      strstr-simple
> >    strtok_r
> > +    sys_random
> >      sys_socket
> >    sys_stat
> > -    sys_time
> >      sys_types
> >      sys_uio
> >      tempname
> > @@ -156,5 +162,7 @@
> >      windows-once
> >      windows-recmutex
> >      windows-rwlock
> > +    wmemchr
> > +    wmempcpy
> >      xalloc-oversized
> > 
> > It seems what is getting removed is:
> > -    dosname  (deprecated module and we don't use dosname.h)
> > -    gettimeofday (it looks like we use this in remote-fileio.c)
> > -    localtime-buffer (looks like basically an implementation detail)
> > -    sys_time (looks like GDB specifically did *not* want this per
> > comments in gdbsupport/gdb_sys_time.h)
> > 
> > So:
> > - For gettimeofday, the fixes in
> > https://www.gnu.org/software/gnulib/manual/html_node/gettimeofday.html#gettimeofday
> > don't look that important for gdb, but we could include the module.
> > Let me know if you want me to.
> 
> I guess it doesn't hurt to explicitly include it.  Might as well do it,
> since we use the function and have been using the module thus far.
> 
> > 
> > - For sys_time, we could perhaps replace the #undef in gdb_sys_time.h
> > with an #error. Let me know.
> 
> I suspect this gnulib commit is what caused gettimeofday and sys_time to
> drop for us:
> 
>  commit 78f55d5374d6ff9b8460c48a42e924bf69775cd7
>  Author:     Paul Eggert <eggert@cs.ucla.edu>
>  AuthorDate: Sun May 31 20:15:25 2020 -0700
> 
>     tempname: merge from glibc and coreutils
> ...
>     * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
>     Add getentropy, libc-config.
> 
> As we can see from your diff:
> 
> >    sys_stat
> > -    sys_time
> >      sys_types
> >      sys_uio
> >      tempname
> 
> tempname is a dependency of sys_stat.
> 
> Another option would be to just get rid of gdb_sys_time.h,
> i.e., revert all or most of:
> 
>  commit 438e1e427e8393de73d22617abe4d8eba0270e72
>  Author:     Pedro Alves <palves@redhat.com>
>  AuthorDate: Mon Aug 24 18:50:55 2015 +0100
> 
>     Prepare for gnulib update
> 
> But I'd be fine with just leaving this alone for now, in case
> gnulib brings back the dependency.  It's also the easiest thing to
> do (i.e., do nothing).
> 
> Thanks,
> Pedro Alves

-- 
Joel

[-- Attachment #2: cbiesinger-v2-after-pedro-comments-summarized.diff --]
[-- Type: text/x-diff, Size: 42909 bytes --]

diff --git a/gnulib/Makefile.in b/gnulib/Makefile.in
index 0e0ebb2a6d1..bdd3c3f3fbc 100644
--- a/gnulib/Makefile.in
+++ b/gnulib/Makefile.in
@@ -164,6 +164,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/getpagesize.m4 \
 	$(top_srcdir)/import/m4/getprogname.m4 \
 	$(top_srcdir)/import/m4/getrandom.m4 \
+	$(top_srcdir)/import/m4/gettimeofday.m4 \
 	$(top_srcdir)/import/m4/glob.m4 \
 	$(top_srcdir)/import/m4/glob_h.m4 \
 	$(top_srcdir)/import/m4/gnulib-common.m4 \
@@ -182,6 +183,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/locale-ja.m4 \
 	$(top_srcdir)/import/m4/locale-zh.m4 \
 	$(top_srcdir)/import/m4/locale_h.m4 \
+	$(top_srcdir)/import/m4/localtime-buffer.m4 \
 	$(top_srcdir)/import/m4/lock.m4 \
 	$(top_srcdir)/import/m4/lstat.m4 \
 	$(top_srcdir)/import/m4/malloc.m4 \
@@ -249,6 +251,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/sys_random_h.m4 \
 	$(top_srcdir)/import/m4/sys_socket_h.m4 \
 	$(top_srcdir)/import/m4/sys_stat_h.m4 \
+	$(top_srcdir)/import/m4/sys_time_h.m4 \
 	$(top_srcdir)/import/m4/sys_types_h.m4 \
 	$(top_srcdir)/import/m4/sys_uio_h.m4 \
 	$(top_srcdir)/import/m4/tempname.m4 \
@@ -926,6 +929,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETRANDOM = @HAVE_GETRANDOM@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GLOB = @HAVE_GLOB@
 HAVE_GLOB_H = @HAVE_GLOB_H@
 HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@
@@ -1055,6 +1059,7 @@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
 HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
 HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
@@ -1064,6 +1069,7 @@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_RANDOM_H = @HAVE_SYS_RANDOM_H@
 HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TANF = @HAVE_TANF@
@@ -1191,6 +1197,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
@@ -1218,6 +1225,7 @@ NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_RANDOM_H = @NEXT_SYS_RANDOM_H@
 NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
@@ -1317,6 +1325,7 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETRANDOM = @REPLACE_GETRANDOM@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GLOB = @REPLACE_GLOB@
 REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@
 REPLACE_GMTIME = @REPLACE_GMTIME@
@@ -1451,6 +1460,7 @@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
 REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TANF = @REPLACE_TANF@
diff --git a/gnulib/aclocal.m4 b/gnulib/aclocal.m4
index dd04373848d..af6abc1542f 100644
--- a/gnulib/aclocal.m4
+++ b/gnulib/aclocal.m4
@@ -1237,6 +1237,7 @@ m4_include([import/m4/getlogin_r.m4])
 m4_include([import/m4/getpagesize.m4])
 m4_include([import/m4/getprogname.m4])
 m4_include([import/m4/getrandom.m4])
+m4_include([import/m4/gettimeofday.m4])
 m4_include([import/m4/glob.m4])
 m4_include([import/m4/glob_h.m4])
 m4_include([import/m4/gnulib-common.m4])
@@ -1255,6 +1256,7 @@ m4_include([import/m4/locale-fr.m4])
 m4_include([import/m4/locale-ja.m4])
 m4_include([import/m4/locale-zh.m4])
 m4_include([import/m4/locale_h.m4])
+m4_include([import/m4/localtime-buffer.m4])
 m4_include([import/m4/lock.m4])
 m4_include([import/m4/lstat.m4])
 m4_include([import/m4/malloc.m4])
@@ -1322,6 +1324,7 @@ m4_include([import/m4/strtok_r.m4])
 m4_include([import/m4/sys_random_h.m4])
 m4_include([import/m4/sys_socket_h.m4])
 m4_include([import/m4/sys_stat_h.m4])
+m4_include([import/m4/sys_time_h.m4])
 m4_include([import/m4/sys_types_h.m4])
 m4_include([import/m4/sys_uio_h.m4])
 m4_include([import/m4/tempname.m4])
diff --git a/gnulib/config.in b/gnulib/config.in
index 8d32022a301..4a20b470fb2 100644
--- a/gnulib/config.in
+++ b/gnulib/config.in
@@ -67,6 +67,13 @@
    and handles trailing slash correctly. */
 #undef FUNC_REALPATH_WORKS
 
+/* Define if gettimeofday clobbers the localtime buffer. */
+#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
+
+/* Define this to 'void' or 'struct timezone' to match the system's
+   declaration of the second argument to gettimeofday. */
+#undef GETTIMEOFDAY_TIMEZONE
+
 /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
    whether the gnulib module canonicalize-lgpl shall be considered present. */
 #undef GNULIB_CANONICALIZE_LGPL
@@ -194,6 +201,9 @@
 /* Define to 1 when the gnulib module getrandom should be tested. */
 #undef GNULIB_TEST_GETRANDOM
 
+/* Define to 1 when the gnulib module gettimeofday should be tested. */
+#undef GNULIB_TEST_GETTIMEOFDAY
+
 /* Define to 1 when the gnulib module glob should be tested. */
 #undef GNULIB_TEST_GLOB
 
@@ -510,6 +520,9 @@
 /* Define to 1 if you have the `getrandom' function. */
 #undef HAVE_GETRANDOM
 
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
 /* Define to 1 if you have the `glob' function. */
 #undef HAVE_GLOB
 
diff --git a/gnulib/configure b/gnulib/configure
index 917aba28d46..fa2feb5ea9a 100644
--- a/gnulib/configure
+++ b/gnulib/configure
@@ -704,32 +704,6 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
 TIME_H_DEFINES_STRUCT_TIMESPEC
 NEXT_AS_FIRST_DIRECTIVE_TIME_H
 NEXT_TIME_H
-REPLACE_LOCALTIME
-REPLACE_GMTIME
-GNULIB_GETTIMEOFDAY
-REPLACE_TZSET
-REPLACE_TIMEGM
-REPLACE_STRFTIME
-REPLACE_NANOSLEEP
-REPLACE_MKTIME
-REPLACE_LOCALTIME_R
-REPLACE_CTIME
-HAVE_TIMEZONE_T
-HAVE_TZSET
-HAVE_TIMEGM
-HAVE_STRPTIME
-HAVE_NANOSLEEP
-HAVE_DECL_LOCALTIME_R
-GNULIB_TZSET
-GNULIB_TIME_RZ
-GNULIB_TIME_R
-GNULIB_TIMEGM
-GNULIB_STRPTIME
-GNULIB_STRFTIME
-GNULIB_NANOSLEEP
-GNULIB_LOCALTIME
-GNULIB_MKTIME
-GNULIB_CTIME
 HAVE_SYS_UIO_H
 NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H
 NEXT_SYS_UIO_H
@@ -1082,6 +1056,39 @@ REPLACE_GLOB
 HAVE_GLOB_PATTERN_P
 HAVE_GLOB
 GNULIB_GLOB
+REPLACE_LOCALTIME
+REPLACE_GMTIME
+REPLACE_TZSET
+REPLACE_TIMEGM
+REPLACE_STRFTIME
+REPLACE_NANOSLEEP
+REPLACE_MKTIME
+REPLACE_LOCALTIME_R
+REPLACE_CTIME
+HAVE_TIMEZONE_T
+HAVE_TZSET
+HAVE_TIMEGM
+HAVE_STRPTIME
+HAVE_NANOSLEEP
+HAVE_DECL_LOCALTIME_R
+GNULIB_TZSET
+GNULIB_TIME_RZ
+GNULIB_TIME_R
+GNULIB_TIMEGM
+GNULIB_STRPTIME
+GNULIB_STRFTIME
+GNULIB_NANOSLEEP
+GNULIB_LOCALTIME
+GNULIB_MKTIME
+GNULIB_CTIME
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
+NEXT_SYS_TIME_H
+REPLACE_STRUCT_TIMEVAL
+REPLACE_GETTIMEOFDAY
+HAVE_SYS_TIME_H
+HAVE_STRUCT_TIMEVAL
+HAVE_GETTIMEOFDAY
+GNULIB_GETTIMEOFDAY
 LTLIBINTL
 LIBINTL
 LIB_GETRANDOM
@@ -3639,6 +3646,8 @@ as_fn_append ac_func_list " getlogin_r"
 as_fn_append ac_func_list " getprogname"
 as_fn_append ac_func_list " getexecname"
 as_fn_append ac_func_list " getrandom"
+as_fn_append ac_header_list " sys/time.h"
+as_fn_append ac_func_list " gettimeofday"
 as_fn_append ac_header_list " glob.h"
 as_fn_append ac_func_list " glob"
 as_fn_append ac_func_list " glob_pattern_p"
@@ -3662,7 +3671,6 @@ as_fn_append ac_func_list " mkostemp"
 as_fn_append ac_func_list " openat"
 as_fn_append ac_func_list " link"
 as_fn_append ac_func_list " setenv"
-as_fn_append ac_header_list " sys/time.h"
 as_fn_append ac_func_list " strdup"
 as_fn_append ac_func_list " strerror_r"
 as_fn_append ac_func_list " __xpg_strerror_r"
@@ -6599,6 +6607,7 @@ fi
   # Code from module getprogname:
   # Code from module getrandom:
   # Code from module gettext-h:
+  # Code from module gettimeofday:
   # Code from module glob:
   # Code from module glob-h:
   # Code from module hard-locale:
@@ -6616,6 +6625,7 @@ fi
   # Code from module limits-h:
   # Code from module localcharset:
   # Code from module locale:
+  # Code from module localtime-buffer:
   # Code from module lock:
   # Code from module lstat:
   # Code from module malloc-posix:
@@ -6688,6 +6698,7 @@ fi
   # Code from module sys_random:
   # Code from module sys_socket:
   # Code from module sys_stat:
+  # Code from module sys_time:
   # Code from module sys_types:
   # Code from module sys_uio:
   # Code from module tempname:
@@ -10342,6 +10353,249 @@ _ACEOF
 
 
 
+  GNULIB_GETTIMEOFDAY=0;
+    HAVE_GETTIMEOFDAY=1;
+  HAVE_STRUCT_TIMEVAL=1;
+  HAVE_SYS_TIME_H=1;
+  REPLACE_GETTIMEOFDAY=0;
+  REPLACE_STRUCT_TIMEVAL=0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_sys_time_h='<'sys/time.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/time.h>" >&5
+$as_echo_n "checking absolute name of <sys/time.h>... " >&6; }
+if ${gl_cv_next_sys_time_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_sys_time_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/time.h>
+_ACEOF
+                case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+
+  case "$host_os" in
+    mingw*)
+                                          gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+      gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo 'sys/time.h' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+
+        gl_cv_absolute_sys_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_sys_time_h
+           gl_cv_next_sys_time_h='"'$gl_header'"'
+          else
+               gl_cv_next_sys_time_h='<'sys/time.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5
+$as_echo "$gl_cv_next_sys_time_h" >&6; }
+     fi
+     NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h
+
+     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+       gl_next_as_first_directive='<'sys/time.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_sys_time_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive
+
+
+
+
+
+  if test $ac_cv_header_sys_time_h != yes; then
+    HAVE_SYS_TIME_H=0
+  fi
+
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+                    for ac_header in winsock2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+  fi
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    HAVE_WINSOCK2_H=1
+    UNISTD_H_HAVE_WINSOCK2_H=1
+    SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+  else
+    HAVE_WINSOCK2_H=0
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
+$as_echo_n "checking for struct timeval... " >&6; }
+if ${gl_cv_sys_struct_timeval+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if HAVE_SYS_TIME_H
+             #include <sys/time.h>
+            #endif
+            #include <time.h>
+            #if HAVE_WINSOCK2_H
+            # include <winsock2.h>
+            #endif
+
+int
+main ()
+{
+static struct timeval x; x.tv_sec = x.tv_usec;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_timeval=yes
+else
+  gl_cv_sys_struct_timeval=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5
+$as_echo "$gl_cv_sys_struct_timeval" >&6; }
+  if test $gl_cv_sys_struct_timeval != yes; then
+    HAVE_STRUCT_TIMEVAL=0
+  else
+                            { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5
+$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; }
+if ${gl_cv_sys_struct_timeval_tv_sec+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if HAVE_SYS_TIME_H
+               #include <sys/time.h>
+              #endif
+              #include <time.h>
+              #if HAVE_WINSOCK2_H
+              # include <winsock2.h>
+              #endif
+
+int
+main ()
+{
+static struct timeval x;
+              typedef int verify_tv_sec_type[
+                sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1
+              ];
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_sys_struct_timeval_tv_sec=yes
+else
+  gl_cv_sys_struct_timeval_tv_sec=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5
+$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; }
+    if test $gl_cv_sys_struct_timeval_tv_sec != yes; then
+      REPLACE_STRUCT_TIMEVAL=1
+    fi
+  fi
+
+
+
+
+
+
+
+
+
+
+
+  NEED_LOCALTIME_BUFFER=0
+
+
+  GNULIB_CTIME=0;
+  GNULIB_MKTIME=0;
+  GNULIB_LOCALTIME=0;
+  GNULIB_NANOSLEEP=0;
+  GNULIB_STRFTIME=0;
+  GNULIB_STRPTIME=0;
+  GNULIB_TIMEGM=0;
+  GNULIB_TIME_R=0;
+  GNULIB_TIME_RZ=0;
+  GNULIB_TZSET=0;
+    HAVE_DECL_LOCALTIME_R=1;
+  HAVE_NANOSLEEP=1;
+  HAVE_STRPTIME=1;
+  HAVE_TIMEGM=1;
+  HAVE_TZSET=1;
+    HAVE_TIMEZONE_T=0;
+        REPLACE_CTIME=GNULIB_PORTCHECK;
+  REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
+  REPLACE_MKTIME=GNULIB_PORTCHECK;
+  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
+  REPLACE_STRFTIME=GNULIB_PORTCHECK;
+  REPLACE_TIMEGM=GNULIB_PORTCHECK;
+  REPLACE_TZSET=GNULIB_PORTCHECK;
+
+      : ${GNULIB_GETTIMEOFDAY=0};
+        REPLACE_GMTIME=0;
+  REPLACE_LOCALTIME=0;
+
+
   GNULIB_GLOB=0;
     HAVE_GLOB=1;
   HAVE_GLOB_PATTERN_P=1;
@@ -15796,8 +16050,6 @@ $as_echo "#define gid_t int" >>confdefs.h
 
 fi
 
-
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
 if ${ac_cv_header_stdbool_h+:} false; then :
@@ -16445,35 +16697,6 @@ $as_echo "$gl_cv_next_sys_types_h" >&6; }
 
 
 
-  GNULIB_CTIME=0;
-  GNULIB_MKTIME=0;
-  GNULIB_LOCALTIME=0;
-  GNULIB_NANOSLEEP=0;
-  GNULIB_STRFTIME=0;
-  GNULIB_STRPTIME=0;
-  GNULIB_TIMEGM=0;
-  GNULIB_TIME_R=0;
-  GNULIB_TIME_RZ=0;
-  GNULIB_TZSET=0;
-    HAVE_DECL_LOCALTIME_R=1;
-  HAVE_NANOSLEEP=1;
-  HAVE_STRPTIME=1;
-  HAVE_TIMEGM=1;
-  HAVE_TZSET=1;
-    HAVE_TIMEZONE_T=0;
-        REPLACE_CTIME=GNULIB_PORTCHECK;
-  REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
-  REPLACE_MKTIME=GNULIB_PORTCHECK;
-  REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
-  REPLACE_STRFTIME=GNULIB_PORTCHECK;
-  REPLACE_TIMEGM=GNULIB_PORTCHECK;
-  REPLACE_TZSET=GNULIB_PORTCHECK;
-
-      : ${GNULIB_GETTIMEOFDAY=0};
-        REPLACE_GMTIME=0;
-  REPLACE_LOCALTIME=0;
-
-
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
 $as_echo_n "checking for struct timespec in <time.h>... " >&6; }
@@ -20481,6 +20704,194 @@ $as_echo "#define GNULIB_TEST_GETRANDOM 1" >>confdefs.h
 
 
 
+
+
+
+  gl_gettimeofday_timezone=void
+  if test $ac_cv_func_gettimeofday != yes; then
+    HAVE_GETTIMEOFDAY=0
+  else
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5
+$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; }
+if ${gl_cv_func_gettimeofday_clobber+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  # When cross-compiling:
+      case "$host_os" in
+                       # Guess all is fine on glibc systems.
+        *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # Guess all is fine on musl systems.
+        *-musl*)       gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # Guess no on native Windows.
+        mingw*)        gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                       # If we don't know, obey --enable-cross-guesses.
+        *)             gl_cv_func_gettimeofday_clobber="$gl_cross_guess_inverted" ;;
+      esac
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+          #include <sys/time.h>
+          #include <time.h>
+          #include <stdlib.h>
+
+int
+main ()
+{
+
+          time_t t = 0;
+          struct tm *lt;
+          struct tm saved_lt;
+          struct timeval tv;
+          lt = localtime (&t);
+          saved_lt = *lt;
+          gettimeofday (&tv, NULL);
+          return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_func_gettimeofday_clobber=no
+else
+  gl_cv_func_gettimeofday_clobber=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5
+$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; }
+
+ case "$gl_cv_func_gettimeofday_clobber" in
+   *yes)
+     REPLACE_GETTIMEOFDAY=1
+
+$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
+
+
+
+
+  NEED_LOCALTIME_BUFFER=1
+  REPLACE_GMTIME=1
+  REPLACE_LOCALTIME=1
+
+     ;;
+ esac
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5
+$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; }
+if ${gl_cv_func_gettimeofday_posix_signature+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/time.h>
+              struct timeval c;
+              int gettimeofday (struct timeval *restrict, void *restrict);
+
+int
+main ()
+{
+/* glibc uses struct timezone * rather than the POSIX void *
+                 if _GNU_SOURCE is defined.  However, since the only portable
+                 use of gettimeofday uses NULL as the second parameter, and
+                 since the glibc definition is actually more typesafe, it is
+                 not worth wrapping this to get a compliant signature.  */
+              int (*f) (struct timeval *restrict, void *restrict)
+                = gettimeofday;
+              int x = f (&c, 0);
+              return !(x | c.tv_sec | c.tv_usec);
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_gettimeofday_posix_signature=yes
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/time.h>
+int gettimeofday (struct timeval *restrict, struct timezone *restrict);
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_func_gettimeofday_posix_signature=almost
+else
+  gl_cv_func_gettimeofday_posix_signature=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5
+$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; }
+    if test $gl_cv_func_gettimeofday_posix_signature = almost; then
+      gl_gettimeofday_timezone='struct timezone'
+    elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+        if test $REPLACE_STRUCT_TIMEVAL = 1; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+            case "$host_os" in
+      mingw*) REPLACE_GETTIMEOFDAY=1 ;;
+    esac
+  fi
+
+cat >>confdefs.h <<_ACEOF
+#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone
+_ACEOF
+
+
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext"
+
+    :
+  fi
+
+
+
+
+
+          GNULIB_GETTIMEOFDAY=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
+
+
+
+
+
+
+
   if test $ac_cv_func_glob = no; then
     HAVE_GLOB=0
   else
@@ -21773,6 +22184,17 @@ $as_echo "$gl_cv_next_locale_h" >&6; }
 
 
 
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS localtime-buffer.$ac_objext"
+
+
+
   if test "$gl_threads_api" = posix; then
     # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
     # pthread_rwlock_* functions.
@@ -28272,6 +28694,10 @@ fi
 
 
 
+
+
+
+
 
 
 
diff --git a/gnulib/import/Makefile.am b/gnulib/import/Makefile.am
index 8e9c05c2681..84de424a173 100644
--- a/gnulib/import/Makefile.am
+++ b/gnulib/import/Makefile.am
@@ -42,6 +42,7 @@
 #  fnmatch-gnu \
 #  frexpl \
 #  getcwd \
+#  gettimeofday \
 #  glob \
 #  inet_ntop \
 #  inttypes \
@@ -693,6 +694,15 @@ libgnu_a_SOURCES += gettext.h
 
 ## end   gnulib module gettext-h
 
+## begin gnulib module gettimeofday
+
+
+EXTRA_DIST += gettimeofday.c
+
+EXTRA_libgnu_a_SOURCES += gettimeofday.c
+
+## end   gnulib module gettimeofday
+
 ## begin gnulib module glob
 
 
@@ -917,6 +927,15 @@ EXTRA_DIST += locale.in.h
 
 ## end   gnulib module locale
 
+## begin gnulib module localtime-buffer
+
+
+EXTRA_DIST += localtime-buffer.c localtime-buffer.h
+
+EXTRA_libgnu_a_SOURCES += localtime-buffer.c
+
+## end   gnulib module localtime-buffer
+
 ## begin gnulib module lock
 
 libgnu_a_SOURCES += glthread/lock.h glthread/lock.c
@@ -2372,6 +2391,40 @@ EXTRA_DIST += sys_stat.in.h
 
 ## end   gnulib module sys_stat
 
+## begin gnulib module sys_time
+
+BUILT_SOURCES += sys/time.h
+
+# We need the following in order to create <sys/time.h> when the system
+# doesn't have one that works with the given compiler.
+sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_at)$(MKDIR_P) sys
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
+	      -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+	      -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
+	      -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
+	      -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
+	      -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
+	      -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+	      < $(srcdir)/sys_time.in.h; \
+	} > $@-t && \
+	mv $@-t $@
+MOSTLYCLEANFILES += sys/time.h sys/time.h-t
+
+EXTRA_DIST += sys_time.in.h
+
+## end   gnulib module sys_time
+
 ## begin gnulib module sys_types
 
 BUILT_SOURCES += sys/types.h
diff --git a/gnulib/import/Makefile.in b/gnulib/import/Makefile.in
index 8162d3a26fa..476cde8dd57 100644
--- a/gnulib/import/Makefile.in
+++ b/gnulib/import/Makefile.in
@@ -56,6 +56,7 @@
 #  fnmatch-gnu \
 #  frexpl \
 #  getcwd \
+#  gettimeofday \
 #  glob \
 #  inet_ntop \
 #  inttypes \
@@ -220,6 +221,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/getpagesize.m4 \
 	$(top_srcdir)/import/m4/getprogname.m4 \
 	$(top_srcdir)/import/m4/getrandom.m4 \
+	$(top_srcdir)/import/m4/gettimeofday.m4 \
 	$(top_srcdir)/import/m4/glob.m4 \
 	$(top_srcdir)/import/m4/glob_h.m4 \
 	$(top_srcdir)/import/m4/gnulib-common.m4 \
@@ -238,6 +240,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/locale-ja.m4 \
 	$(top_srcdir)/import/m4/locale-zh.m4 \
 	$(top_srcdir)/import/m4/locale_h.m4 \
+	$(top_srcdir)/import/m4/localtime-buffer.m4 \
 	$(top_srcdir)/import/m4/lock.m4 \
 	$(top_srcdir)/import/m4/lstat.m4 \
 	$(top_srcdir)/import/m4/malloc.m4 \
@@ -305,6 +308,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/import/m4/sys_random_h.m4 \
 	$(top_srcdir)/import/m4/sys_socket_h.m4 \
 	$(top_srcdir)/import/m4/sys_stat_h.m4 \
+	$(top_srcdir)/import/m4/sys_time_h.m4 \
 	$(top_srcdir)/import/m4/sys_types_h.m4 \
 	$(top_srcdir)/import/m4/sys_uio_h.m4 \
 	$(top_srcdir)/import/m4/tempname.m4 \
@@ -1019,6 +1023,7 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETPASS = @HAVE_GETPASS@
 HAVE_GETRANDOM = @HAVE_GETRANDOM@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
 HAVE_GLOB = @HAVE_GLOB@
 HAVE_GLOB_H = @HAVE_GLOB_H@
 HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@
@@ -1148,6 +1153,7 @@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
 HAVE_STRUCT_SOCKADDR_STORAGE = @HAVE_STRUCT_SOCKADDR_STORAGE@
 HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = @HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYMLINK = @HAVE_SYMLINK@
 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
@@ -1157,6 +1163,7 @@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_RANDOM_H = @HAVE_SYS_RANDOM_H@
 HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_SYS_UIO_H = @HAVE_SYS_UIO_H@
 HAVE_TANF = @HAVE_TANF@
@@ -1284,6 +1291,7 @@ NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SOCKET_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
 NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_UIO_H@
 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
@@ -1311,6 +1319,7 @@ NEXT_STRING_H = @NEXT_STRING_H@
 NEXT_SYS_RANDOM_H = @NEXT_SYS_RANDOM_H@
 NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
 NEXT_SYS_UIO_H = @NEXT_SYS_UIO_H@
 NEXT_TIME_H = @NEXT_TIME_H@
@@ -1410,6 +1419,7 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETPASS = @REPLACE_GETPASS@
 REPLACE_GETRANDOM = @REPLACE_GETRANDOM@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
 REPLACE_GLOB = @REPLACE_GLOB@
 REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@
 REPLACE_GMTIME = @REPLACE_GMTIME@
@@ -1544,6 +1554,7 @@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
 REPLACE_STRTOLD = @REPLACE_STRTOLD@
 REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
 REPLACE_SYMLINK = @REPLACE_SYMLINK@
 REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
 REPLACE_TANF = @REPLACE_TANF@
@@ -1678,33 +1689,34 @@ EXTRA_DIST = m4/gnulib-cache.m4 alloca.c alloca.in.h arpa_inet.in.h \
 	fnmatch.c fnmatch_loop.c fnmatch.in.h fpucw.h frexp.c frexp.c \
 	frexpl.c fstat.c stat-w32.c stat-w32.h at-func.c fstatat.c \
 	getcwd.c getcwd-lgpl.c getdtablesize.c getlogin_r.c \
-	getrandom.c glob.c glob_internal.h glob_pattern_p.c globfree.c \
-	glob-libc.h glob.in.h hard-locale.h inet_ntop.c intprops.h \
-	inttypes.in.h isblank.c float+.h isnan.c isnand-nolibm.h \
-	isnand.c float+.h isnan.c isnanl-nolibm.h isnanl.c cdefs.h \
-	libc-config.h limits.in.h localcharset.h locale.in.h lstat.c \
-	malloc.c malloca.h math.in.h lc-charset-dispatch.c \
-	lc-charset-dispatch.h mbrtowc-impl-utf8.h mbrtowc-impl.h \
-	mbrtowc.c mbtowc-lock.c mbtowc-lock.h windows-initguard.h \
-	mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c \
-	mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind memmem.c \
-	str-two-way.h mempcpy.c memrchr.c mkdir.c mkdtemp.c mkostemp.c \
-	msvc-inval.c msvc-inval.h msvc-nothrow.c msvc-nothrow.h \
-	netinet_in.in.h open.c openat.c openat.h dirent-private.h \
-	opendir.c pathmax.h rawmemchr.c rawmemchr.valgrind \
-	dirent-private.h readdir.c readlink.c realloc.c rename.c \
-	dirent-private.h rewinddir.c rmdir.c same-inode.h save-cwd.h \
-	malloc/scratch_buffer.h scratch_buffer.h setenv.c \
-	setlocale-lock.c setlocale_null.h windows-initguard.h \
-	signal.in.h _Noreturn.h arg-nonnull.h c++defs.h warn-on-use.h \
-	stat-w32.c stat-w32.h stat.c stat-time.h stdalign.in.h \
-	stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \
-	strchrnul.c strchrnul.valgrind strdup.c streq.h strerror.c \
-	strerror-override.c strerror-override.h strerror_r.c \
-	string.in.h strnlen.c str-two-way.h strstr.c strtok_r.c \
-	sys_random.in.h sys_socket.in.h sys_stat.in.h sys_types.in.h \
-	sys_uio.in.h tempname.h time.in.h time_r.c unistd.in.h \
-	unistd--.h unistd-safer.h unsetenv.c \
+	getrandom.c gettimeofday.c glob.c glob_internal.h \
+	glob_pattern_p.c globfree.c glob-libc.h glob.in.h \
+	hard-locale.h inet_ntop.c intprops.h inttypes.in.h isblank.c \
+	float+.h isnan.c isnand-nolibm.h isnand.c float+.h isnan.c \
+	isnanl-nolibm.h isnanl.c cdefs.h libc-config.h limits.in.h \
+	localcharset.h locale.in.h localtime-buffer.c \
+	localtime-buffer.h lstat.c malloc.c malloca.h math.in.h \
+	lc-charset-dispatch.c lc-charset-dispatch.h \
+	mbrtowc-impl-utf8.h mbrtowc-impl.h mbrtowc.c mbtowc-lock.c \
+	mbtowc-lock.h windows-initguard.h mbsinit.c mbsrtowcs-impl.h \
+	mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c \
+	memchr.valgrind memmem.c str-two-way.h mempcpy.c memrchr.c \
+	mkdir.c mkdtemp.c mkostemp.c msvc-inval.c msvc-inval.h \
+	msvc-nothrow.c msvc-nothrow.h netinet_in.in.h open.c openat.c \
+	openat.h dirent-private.h opendir.c pathmax.h rawmemchr.c \
+	rawmemchr.valgrind dirent-private.h readdir.c readlink.c \
+	realloc.c rename.c dirent-private.h rewinddir.c rmdir.c \
+	same-inode.h save-cwd.h malloc/scratch_buffer.h \
+	scratch_buffer.h setenv.c setlocale-lock.c setlocale_null.h \
+	windows-initguard.h signal.in.h _Noreturn.h arg-nonnull.h \
+	c++defs.h warn-on-use.h stat-w32.c stat-w32.h stat.c \
+	stat-time.h stdalign.in.h stdbool.in.h stddef.in.h stdint.in.h \
+	stdio.in.h stdlib.in.h strchrnul.c strchrnul.valgrind strdup.c \
+	streq.h strerror.c strerror-override.c strerror-override.h \
+	strerror_r.c string.in.h strnlen.c str-two-way.h strstr.c \
+	strtok_r.c sys_random.in.h sys_socket.in.h sys_stat.in.h \
+	sys_time.in.h sys_types.in.h sys_uio.in.h tempname.h time.in.h \
+	time_r.c unistd.in.h unistd--.h unistd-safer.h unsetenv.c \
 	$(top_srcdir)/import/extra/update-copyright verify.h \
 	wchar.in.h wctype.in.h windows-initguard.h windows-mutex.c \
 	windows-mutex.h windows-once.c windows-once.h \
@@ -1716,7 +1728,8 @@ BUILT_SOURCES = $(ALLOCA_H) arpa/inet.h ctype.h dirent.h $(ERRNO_H) \
 	$(LIMITS_H) locale.h math.h $(NETINET_IN_H) signal.h \
 	$(STDALIGN_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h \
 	stdlib.h string.h sys/random.h sys/socket.h sys/stat.h \
-	sys/types.h sys/uio.h time.h unistd.h wchar.h wctype.h
+	sys/time.h sys/types.h sys/uio.h time.h unistd.h wchar.h \
+	wctype.h
 SUFFIXES = 
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \
 	arpa/inet.h-t ctype.h ctype.h-t dirent.h dirent.h-t errno.h \
@@ -1727,9 +1740,9 @@ MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \
 	stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t \
 	stdio.h stdio.h-t stdlib.h stdlib.h-t string.h string.h-t \
 	sys/random.h sys/random.h-t sys/socket.h sys/socket.h-t \
-	sys/stat.h sys/stat.h-t sys/types.h sys/types.h-t sys/uio.h \
-	sys/uio.h-t time.h time.h-t unistd.h unistd.h-t wchar.h \
-	wchar.h-t wctype.h wctype.h-t
+	sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t sys/types.h \
+	sys/types.h-t sys/uio.h sys/uio.h-t time.h time.h-t unistd.h \
+	unistd.h-t wchar.h wchar.h-t wctype.h wctype.h-t
 MOSTLYCLEANDIRS = arpa netinet sys sys sys sys
 CLEANFILES = 
 DISTCLEANFILES = 
@@ -1755,18 +1768,18 @@ EXTRA_libgnu_a_SOURCES = alloca.c btowc.c canonicalize-lgpl.c \
 	fchdir.c fcntl.c fdopendir.c float.c itold.c fnmatch.c \
 	fnmatch_loop.c frexp.c frexp.c frexpl.c fstat.c stat-w32.c \
 	at-func.c fstatat.c getcwd.c getcwd-lgpl.c getdtablesize.c \
-	getlogin_r.c getrandom.c glob.c glob_pattern_p.c globfree.c \
-	inet_ntop.c isblank.c isnan.c isnand.c isnan.c isnanl.c \
-	lstat.c malloc.c lc-charset-dispatch.c mbrtowc.c mbtowc-lock.c \
-	mbsinit.c mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c \
-	memmem.c mempcpy.c memrchr.c mkdir.c mkdtemp.c mkostemp.c \
-	msvc-inval.c msvc-nothrow.c open.c openat.c opendir.c \
-	rawmemchr.c readdir.c readlink.c realloc.c rename.c \
-	rewinddir.c rmdir.c setenv.c setlocale-lock.c stat-w32.c \
-	stat.c strchrnul.c strdup.c strerror.c strerror-override.c \
-	strerror_r.c strnlen.c strstr.c strtok_r.c time_r.c unsetenv.c \
-	windows-mutex.c windows-once.c windows-recmutex.c \
-	windows-rwlock.c wmemchr.c wmempcpy.c
+	getlogin_r.c getrandom.c gettimeofday.c glob.c \
+	glob_pattern_p.c globfree.c inet_ntop.c isblank.c isnan.c \
+	isnand.c isnan.c isnanl.c localtime-buffer.c lstat.c malloc.c \
+	lc-charset-dispatch.c mbrtowc.c mbtowc-lock.c mbsinit.c \
+	mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c memmem.c \
+	mempcpy.c memrchr.c mkdir.c mkdtemp.c mkostemp.c msvc-inval.c \
+	msvc-nothrow.c open.c openat.c opendir.c rawmemchr.c readdir.c \
+	readlink.c realloc.c rename.c rewinddir.c rmdir.c setenv.c \
+	setlocale-lock.c stat-w32.c stat.c strchrnul.c strdup.c \
+	strerror.c strerror-override.c strerror_r.c strnlen.c strstr.c \
+	strtok_r.c time_r.c unsetenv.c windows-mutex.c windows-once.c \
+	windows-recmutex.c windows-rwlock.c wmemchr.c wmempcpy.c
 
 # Use this preprocessor expression to decide whether #include_next works.
 # Do not rely on a 'configure'-time test for this, since the expression
@@ -1914,6 +1927,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getlogin_r.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getprogname.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob_pattern_p.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globfree.Po@am__quote@
@@ -1926,6 +1940,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lc-charset-dispatch.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localtime-buffer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
@@ -3395,6 +3410,31 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
 	} > $@-t && \
 	mv $@-t $@
 
+# We need the following in order to create <sys/time.h> when the system
+# doesn't have one that works with the given compiler.
+sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+	$(AM_V_at)$(MKDIR_P) sys
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+	      -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
+	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+	      -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
+	      -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+	      -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
+	      -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
+	      -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
+	      -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
+	      -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/g' \
+	      -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+	      -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+	      -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+	      < $(srcdir)/sys_time.in.h; \
+	} > $@-t && \
+	mv $@-t $@
+
 # We need the following in order to create <sys/types.h> when the system
 # doesn't have one that works with the given compiler.
 sys/types.h: sys_types.in.h $(top_builddir)/config.status
diff --git a/gnulib/import/gettimeofday.c b/gnulib/import/gettimeofday.c
new file mode 100644

    [contents snipped]

diff --git a/gnulib/import/localtime-buffer.c b/gnulib/import/localtime-buffer.c
new file mode 100644

    [contents snipped]

diff --git a/gnulib/import/localtime-buffer.h b/gnulib/import/localtime-buffer.h
new file mode 100644

    [contents snipped]

diff --git a/gnulib/import/m4/gettimeofday.m4 b/gnulib/import/m4/gettimeofday.m4
new file mode 100644
    [contents snipped]

diff --git a/gnulib/import/m4/gnulib-cache.m4 b/gnulib/import/m4/gnulib-cache.m4
index ce00c9ef11c..db95504cc6a 100644
--- a/gnulib/import/m4/gnulib-cache.m4
+++ b/gnulib/import/m4/gnulib-cache.m4
@@ -47,6 +47,7 @@
 #  fnmatch-gnu \
 #  frexpl \
 #  getcwd \
+#  gettimeofday \
 #  glob \
 #  inet_ntop \
 #  inttypes \
@@ -87,6 +88,7 @@ gl_MODULES([
   fnmatch-gnu
   frexpl
   getcwd
+  gettimeofday
   glob
   inet_ntop
   inttypes
diff --git a/gnulib/import/m4/gnulib-comp.m4 b/gnulib/import/m4/gnulib-comp.m4
index e5e197c7c55..8c2c28ec932 100644
--- a/gnulib/import/m4/gnulib-comp.m4
+++ b/gnulib/import/m4/gnulib-comp.m4
@@ -102,6 +102,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module getprogname:
   # Code from module getrandom:
   # Code from module gettext-h:
+  # Code from module gettimeofday:
   # Code from module glob:
   # Code from module glob-h:
   # Code from module hard-locale:
@@ -119,6 +120,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module limits-h:
   # Code from module localcharset:
   # Code from module locale:
+  # Code from module localtime-buffer:
   # Code from module lock:
   # Code from module lstat:
   # Code from module malloc-posix:
@@ -191,6 +193,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module sys_random:
   # Code from module sys_socket:
   # Code from module sys_stat:
+  # Code from module sys_time:
   # Code from module sys_types:
   # Code from module sys_uio:
   # Code from module tempname:
@@ -399,6 +402,12 @@ AC_DEFUN([gl_INIT],
   gl_SYS_RANDOM_MODULE_INDICATOR([getrandom])
   AC_SUBST([LIBINTL])
   AC_SUBST([LTLIBINTL])
+  gl_FUNC_GETTIMEOFDAY
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
+    AC_LIBOBJ([gettimeofday])
+    gl_PREREQ_GETTIMEOFDAY
+  fi
+  gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
   gl_GLOB
   if test $HAVE_GLOB = 0 || test $REPLACE_GLOB = 1; then
     AC_LIBOBJ([glob])
@@ -445,6 +454,8 @@ AC_DEFUN([gl_INIT],
   LOCALCHARSET_TESTS_ENVIRONMENT=
   AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
   gl_LOCALE_H
+  AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS])
+  AC_LIBOBJ([localtime-buffer])
   gl_LOCK
   gl_MODULE_INDICATOR([lock])
   gl_FUNC_LSTAT
@@ -697,6 +708,8 @@ AC_DEFUN([gl_INIT],
   AC_PROG_MKDIR_P
   gl_HEADER_SYS_STAT_H
   AC_PROG_MKDIR_P
+  gl_HEADER_SYS_TIME_H
+  AC_PROG_MKDIR_P
   gl_SYS_TYPES_H
   AC_PROG_MKDIR_P
   gl_HEADER_SYS_UIO
@@ -962,6 +975,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/getprogname.h
   lib/getrandom.c
   lib/gettext.h
+  lib/gettimeofday.c
   lib/glob-libc.h
   lib/glob.c
   lib/glob.in.h
@@ -990,6 +1004,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/localcharset.c
   lib/localcharset.h
   lib/locale.in.h
+  lib/localtime-buffer.c
+  lib/localtime-buffer.h
   lib/lstat.c
   lib/malloc.c
   lib/malloc/scratch_buffer.h
@@ -1082,6 +1098,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/sys_socket.c
   lib/sys_socket.in.h
   lib/sys_stat.in.h
+  lib/sys_time.in.h
   lib/sys_types.in.h
   lib/sys_uio.in.h
   lib/tempname.c
@@ -1164,6 +1181,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/getpagesize.m4
   m4/getprogname.m4
   m4/getrandom.m4
+  m4/gettimeofday.m4
   m4/glob.m4
   m4/glob_h.m4
   m4/gnulib-common.m4
@@ -1181,6 +1199,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/locale-ja.m4
   m4/locale-zh.m4
   m4/locale_h.m4
+  m4/localtime-buffer.m4
   m4/lock.m4
   m4/lstat.m4
   m4/malloc.m4
@@ -1248,6 +1267,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/sys_random_h.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
+  m4/sys_time_h.m4
   m4/sys_types_h.m4
   m4/sys_uio_h.m4
   m4/tempname.m4
diff --git a/gnulib/import/m4/localtime-buffer.m4 b/gnulib/import/m4/localtime-buffer.m4
new file mode 100644

   [contents snipped]

diff --git a/gnulib/import/m4/sys_time_h.m4 b/gnulib/import/m4/sys_time_h.m4
new file mode 100644

   [contents snipped]

diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h
new file mode 100644

    [contents snipped]

diff --git a/gnulib/update-gnulib.sh b/gnulib/update-gnulib.sh
index 2ca8c035263..b9cc7d8f353 100755
--- a/gnulib/update-gnulib.sh
+++ b/gnulib/update-gnulib.sh
@@ -39,6 +39,7 @@ IMPORTED_GNULIB_MODULES="\
     fnmatch-gnu \
     frexpl \
     getcwd \
+    gettimeofday \
     glob \
     inet_ntop
     inttypes \

[-- Attachment #3: cbiesinger-v2-after-pedro-comments.diff.gz --]
[-- Type: application/gzip, Size: 14740 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-08-23 21:37             ` Joel Brobecker
@ 2020-08-23 21:41               ` Joel Brobecker
  2020-08-24 13:46               ` Pedro Alves
  1 sibling, 0 replies; 13+ messages in thread
From: Joel Brobecker @ 2020-08-23 21:41 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 2102 bytes --]

> Christian seems to be busy these days, so I thought I could try to
> help get this one in.
> 
> I'm going to quote the whole discussion below hoping this helps make it
> easier for you to remember the details of this thread. which is about
> updating gnulib to a newer version in order to bring in a change that
> Eli wants for support of mingw.org's version of MinGW. If we wanted
> a quick summary, my understanding is that following: After a closer
> inspection of the delta in terms of modules this update causes,
> we found that:
> 
>   - btowc gets added, for which you say that we should keep an eye
>     on it wrt the logic in gdb/gdb_wchar.h, but I understand
>     we should be OK for now;
> 
>   - We lose gettimeofday, and decided to add it.
> 
>   - We lose sys_time, and you suggested that the easiest is probably
>     to accept that for now.
> 
> I have taken Christian's patch, and rebased it (there was one conflict
> in gnulib/configure, which I resolved by regenerating it), and then
> modified it to add gettimeofday.
> 
> As it happens, when doing that, we get sys_time back, as well as
> localtime-buffer too. So, even though we said we could wait and
> do nothing about it, the question becomes moot.
> 
> Attached is the diff between Christian's patch (once rebased).
> I am attaching those even though this is not the patch I am proposing
> because it should allow everyone to see the actual effect of adding
> gettimeofday back, and see that the new version does bring what we want
> and only what we want. It's only a few files, but still rather large
> because of the files being added (back). So I made two versions:
> One with the new files being elided, and the second containing the full
> diff, but gziped.  Hopefully that'll fit within the mailinglist's
> maximum email size.
> 
> I will send the actuall full patch, which consists of Christian
> and my changes combined, with the ChangeLog updated accordingly,
> in a separate email, also in an effort to stay under the maximum
> email size limit.

And attached is the full patch proposed for the push.

-- 
Joel

[-- Attachment #2: 0001-Update-gnulib-to-current-trunk.patch.gz --]
[-- Type: application/gzip, Size: 88724 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-08-23 21:37             ` Joel Brobecker
  2020-08-23 21:41               ` Joel Brobecker
@ 2020-08-24 13:46               ` Pedro Alves
  2020-08-26 22:39                 ` Joel Brobecker
  1 sibling, 1 reply; 13+ messages in thread
From: Pedro Alves @ 2020-08-24 13:46 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Christian Biesinger, gdb-patches

On 8/23/20 10:37 PM, Joel Brobecker wrote:
> Hi Pedro,
> 
> Christian seems to be busy these days, so I thought I could try to
> help get this one in.
> 
> I'm going to quote the whole discussion below hoping this helps make it
> easier for you to remember the details of this thread. which is about
> updating gnulib to a newer version in order to bring in a change that
> Eli wants for support of mingw.org's version of MinGW. If we wanted
> a quick summary, my understanding is that following: After a closer
> inspection of the delta in terms of modules this update causes,
> we found that:
> 
>   - btowc gets added, for which you say that we should keep an eye
>     on it wrt the logic in gdb/gdb_wchar.h, but I understand
>     we should be OK for now;
> 
>   - We lose gettimeofday, and decided to add it.
> 
>   - We lose sys_time, and you suggested that the easiest is probably
>     to accept that for now.
> 
> I have taken Christian's patch, and rebased it (there was one conflict
> in gnulib/configure, which I resolved by regenerating it), and then
> modified it to add gettimeofday.
> 
> As it happens, when doing that, we get sys_time back, as well as
> localtime-buffer too. So, even though we said we could wait and
> do nothing about it, the question becomes moot.
> 
> Attached is the diff between Christian's patch (once rebased).
> I am attaching those even though this is not the patch I am proposing
> because it should allow everyone to see the actual effect of adding
> gettimeofday back, and see that the new version does bring what we want
> and only what we want. It's only a few files, but still rather large
> because of the files being added (back). So I made two versions:
> One with the new files being elided, and the second containing the full
> diff, but gziped.  Hopefully that'll fit within the mailinglist's
> maximum email size.
> 
> I will send the actuall full patch, which consists of Christian
> and my changes combined, with the ChangeLog updated accordingly,
> in a separate email, also in an effort to stay under the maximum
> email size limit.
> 
> Does this look OK to you now?

I'm not very interested in looking at the full diff -- I trust that
it's OK.  The overall set of modules that is added / removed was
my main interest, and what you say above sounds good.

Patch is OK with me.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-08-24 13:46               ` Pedro Alves
@ 2020-08-26 22:39                 ` Joel Brobecker
  2020-08-27 19:41                   ` Christian Biesinger
  0 siblings, 1 reply; 13+ messages in thread
From: Joel Brobecker @ 2020-08-26 22:39 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Christian Biesinger, gdb-patches

> > I'm going to quote the whole discussion below hoping this helps make it
> > easier for you to remember the details of this thread. which is about
> > updating gnulib to a newer version in order to bring in a change that
> > Eli wants for support of mingw.org's version of MinGW. If we wanted
> > a quick summary, my understanding is that following: After a closer
> > inspection of the delta in terms of modules this update causes,
> > we found that:
> > 
> >   - btowc gets added, for which you say that we should keep an eye
> >     on it wrt the logic in gdb/gdb_wchar.h, but I understand
> >     we should be OK for now;
> > 
> >   - We lose gettimeofday, and decided to add it.
> > 
> >   - We lose sys_time, and you suggested that the easiest is probably
> >     to accept that for now.
> > 
> > I have taken Christian's patch, and rebased it (there was one conflict
> > in gnulib/configure, which I resolved by regenerating it), and then
> > modified it to add gettimeofday.
> > 
> > As it happens, when doing that, we get sys_time back, as well as
> > localtime-buffer too. So, even though we said we could wait and
> > do nothing about it, the question becomes moot.
[...]
> > Does this look OK to you now?
> 
> I'm not very interested in looking at the full diff -- I trust that
> it's OK.  The overall set of modules that is added / removed was
> my main interest, and what you say above sounds good.
> 
> Patch is OK with me.

Thank you Pedro. I did one more round of testing after rebasing,
and then just pushed to master.

-- 
Joel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] Update gnulib to current trunk
  2020-08-26 22:39                 ` Joel Brobecker
@ 2020-08-27 19:41                   ` Christian Biesinger
  0 siblings, 0 replies; 13+ messages in thread
From: Christian Biesinger @ 2020-08-27 19:41 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Pedro Alves, gdb-patches

On Wed, Aug 26, 2020 at 5:39 PM Joel Brobecker <brobecker@adacore.com> wrote:
>
> > > I'm going to quote the whole discussion below hoping this helps make it
> > > easier for you to remember the details of this thread. which is about
> > > updating gnulib to a newer version in order to bring in a change that
> > > Eli wants for support of mingw.org's version of MinGW. If we wanted
> > > a quick summary, my understanding is that following: After a closer
> > > inspection of the delta in terms of modules this update causes,
> > > we found that:
> > >
> > >   - btowc gets added, for which you say that we should keep an eye
> > >     on it wrt the logic in gdb/gdb_wchar.h, but I understand
> > >     we should be OK for now;
> > >
> > >   - We lose gettimeofday, and decided to add it.
> > >
> > >   - We lose sys_time, and you suggested that the easiest is probably
> > >     to accept that for now.
> > >
> > > I have taken Christian's patch, and rebased it (there was one conflict
> > > in gnulib/configure, which I resolved by regenerating it), and then
> > > modified it to add gettimeofday.
> > >
> > > As it happens, when doing that, we get sys_time back, as well as
> > > localtime-buffer too. So, even though we said we could wait and
> > > do nothing about it, the question becomes moot.
> [...]
> > > Does this look OK to you now?
> >
> > I'm not very interested in looking at the full diff -- I trust that
> > it's OK.  The overall set of modules that is added / removed was
> > my main interest, and what you say above sounds good.
> >
> > Patch is OK with me.
>
> Thank you Pedro. I did one more round of testing after rebasing,
> and then just pushed to master.

Thanks for taking care of this. Sorry I dropped the ball here! Work
and life has been keeping me busy.

Christian

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-08-27 19:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200630184349.4009048-1-cbiesinger@google.com>
2020-06-30 19:19 ` [PATCH] Update gnulib to current trunk Christian Biesinger
2020-07-02 18:49   ` Pedro Alves
2020-07-02 19:02     ` Eli Zaretskii
2020-07-02 19:06       ` Pedro Alves
2020-07-06 18:19         ` Christian Biesinger
2020-07-15  2:40           ` Christian Biesinger
2020-07-16 14:56           ` Pedro Alves
2020-08-13 12:24             ` Tom de Vries
2020-08-23 21:37             ` Joel Brobecker
2020-08-23 21:41               ` Joel Brobecker
2020-08-24 13:46               ` Pedro Alves
2020-08-26 22:39                 ` Joel Brobecker
2020-08-27 19:41                   ` Christian Biesinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).