* 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).