public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Update gnulib to current upstream master
@ 2018-08-28 19:59 Sergio Durigan Junior
  2018-08-29 16:19 ` Tom Tromey
  2018-08-29 19:06 ` Pedro Alves
  0 siblings, 2 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-28 19:59 UTC (permalink / raw)
  To: GDB Patches

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

[ Disclaimer: I'm sending the patch gzipped because I'm afraid
sourceware won't accept a 1.2MB message. ]

It has been a while since we don't update our gnulib copy against
their upstream master branch, so I thought I'd propose this patch.  It
also fixes (at least) one bug reported against GDB:

  https://sourceware.org/bugzilla/show_bug.cgi?id=23558

The problem reported there is about the replacement of 'getcwd' when
cross-compiling GDB.  With our current gnulib copy, the mechanism for
deciding whether to use the system's 'getcwd' or gnulib's version is
too simplistic and pessimistic, so when cross-compiling we always end
up using gnulib's version, which has a limitation: it cannot handle
the situation when the parent directory doesn't have read permissions.

This has been reported against upstream gnulib and the fix has been
pushed here:

  https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=a96d2e67052c879b1bcc5bc461722beac75fc372

I regtested this patch on Fedora 28 x86-64, and there were no
regressions.

OK?

gdb/ChangeLog:

2018-08-28  Sergio Durigan Junior  <sergiodj@redhat.com>

	PR gdb/23555
	PR gdb/23558
	* gnulib/aclocal.m4: Regenerate.
	* gnulib/config.in: Regenerate.
	* gnulib/configure: Regenerate.
	* gnulib/import/Makefile.am: Update.
	* gnulib/import/Makefile.in: Update.
	* gnulib/import/extra/snippet/_Noreturn.h: Rename to...
	* gnulib/import/_Noreturn.h: ... this.
	* gnulib/import/alloca.in.h: Update.
	* gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
	* gnulib/import/arg-nonnull.h: ... this.
	* gnulib/import/assure.h: Update.
	* gnulib/import/at-func.c: Update.
	* gnulib/import/basename-lgpl.c: Update.
	* gnulib/import/extra/snippet/c++defs.h: Rename to...
	* gnulib/import/c++defs.h: ... this.
	* gnulib/import/canonicalize-lgpl.c: Update.
	* gnulib/import/cdefs.h: Update.
	* gnulib/import/chdir-long.c: Update.
	* gnulib/import/chdir-long.h: Update.
	* gnulib/import/cloexec.c: Update.
	* gnulib/import/cloexec.h: Update.
	* gnulib/import/close.c: Update.
	* gnulib/import/closedir.c: Update.
	* gnulib/import/config.charset: Update.
	* gnulib/import/dirent-private.h: Update.
	* gnulib/import/dirent.in.h: Update.
	* gnulib/import/dirfd.c: Update.
	* gnulib/import/dirname-lgpl.c: Update.
	* gnulib/import/dirname.h: Update.
	* gnulib/import/dosname.h: Update.
	* gnulib/import/dup-safer-flag.c: Update.
	* gnulib/import/dup-safer.c: Update.
	* gnulib/import/dup.c: Update.
	* gnulib/import/dup2.c: Update.
	* gnulib/import/errno.in.h: Update.
	* gnulib/import/error.c: Update.
	* gnulib/import/error.h: Update.
	* gnulib/import/exitfail.c: Update.
	* gnulib/import/exitfail.h: Update.
	* gnulib/import/extra/update-copyright: Update.
	* gnulib/import/fchdir.c: Update.
	* gnulib/import/fcntl.c: Update.
	* gnulib/import/fcntl.in.h: Update.
	* gnulib/import/fd-hook.c: Update.
	* gnulib/import/fd-hook.h: Update.
	* gnulib/import/fd-safer-flag.c: Update.
	* gnulib/import/fd-safer.c: Update.
	* gnulib/import/fdopendir.c: Update.
	* gnulib/import/filename.h: Update.
	* gnulib/import/filenamecat-lgpl.c: Update.
	* gnulib/import/filenamecat.h: Update.
	* gnulib/import/flexmember.h: Update.
	* gnulib/import/float+.h: Update.
	* gnulib/import/float.c: Update.
	* gnulib/import/float.in.h: Update.
	* gnulib/import/fnmatch.c: Update.
	* gnulib/import/fnmatch.in.h: Update.
	* gnulib/import/fnmatch_loop.c: Update.
	* gnulib/import/fpucw.h: Update.
	* gnulib/import/frexp.c: Update.
	* gnulib/import/frexpl.c: Update.
	* gnulib/import/fstat.c: Update.
	* gnulib/import/fstatat.c: Update.
	* gnulib/import/getcwd-lgpl.c: Update.
	* gnulib/import/getcwd.c: Update.
	* gnulib/import/getdtablesize.c: Update.
	* gnulib/import/getlogin_r.c: Update.
	* gnulib/import/getprogname.c: Update.
	* gnulib/import/getprogname.h: Update.
	* gnulib/import/gettext.h: Update.
	* gnulib/import/gettimeofday.c: Update.
	* gnulib/import/glob-libc.h: Update.
	* gnulib/import/glob.c: Update.
	* gnulib/import/glob.in.h: Update.
	* gnulib/import/glob_internal.h: Update.
	* gnulib/import/glob_pattern_p.c: Update.
	* gnulib/import/globfree.c: Update.
	* gnulib/import/hard-locale.c: Update.
	* gnulib/import/hard-locale.h: Update.
	* gnulib/import/intprops.h: Update.
	* gnulib/import/inttypes.in.h: Update.
	* gnulib/import/isnan.c: Update.
	* gnulib/import/isnand-nolibm.h: Update.
	* gnulib/import/isnand.c: Update.
	* gnulib/import/isnanl-nolibm.h: Update.
	* gnulib/import/isnanl.c: Update.
	* gnulib/import/itold.c: Update.
	* gnulib/import/libc-config.h: Update.
	* gnulib/import/limits.in.h: Update.
	* gnulib/import/localcharset.c: Update.
	* gnulib/import/localcharset.h: Update.
	* gnulib/import/localtime-buffer.c: Update.
	* gnulib/import/localtime-buffer.h: Update.
	* gnulib/import/lstat.c: Update.
	* gnulib/import/m4/00gnulib.m4: Update.
	* gnulib/import/m4/__inline.m4: Update.
	* gnulib/import/m4/absolute-header.m4: Update.
	* gnulib/import/m4/alloca.m4: Update.
	* gnulib/import/m4/builtin-expect.m4: Update.
	* gnulib/import/m4/canonicalize.m4: Update.
	* gnulib/import/m4/chdir-long.m4: Update.
	* gnulib/import/m4/close.m4: Update.
	* gnulib/import/m4/closedir.m4: Update.
	* gnulib/import/m4/configmake.m4: Update.
	* gnulib/import/m4/d-ino.m4: Update.
	* gnulib/import/m4/d-type.m4: Update.
	* gnulib/import/m4/dirent_h.m4: Update.
	* gnulib/import/m4/dirfd.m4: Update.
	* gnulib/import/m4/dirname.m4: Update.
	* gnulib/import/m4/double-slash-root.m4: Update.
	* gnulib/import/m4/dup.m4: Update.
	* gnulib/import/m4/dup2.m4: Update.
	* gnulib/import/m4/eealloc.m4: Update.
	* gnulib/import/m4/environ.m4: Update.
	* gnulib/import/m4/errno_h.m4: Update.
	* gnulib/import/m4/error.m4: Update.
	* gnulib/import/m4/exponentd.m4: Update.
	* gnulib/import/m4/exponentl.m4: Update.
	* gnulib/import/m4/extensions.m4: Update.
	* gnulib/import/m4/extern-inline.m4: Update.
	* gnulib/import/m4/fchdir.m4: Update.
	* gnulib/import/m4/fcntl-o.m4: Update.
	* gnulib/import/m4/fcntl.m4: Update.
	* gnulib/import/m4/fcntl_h.m4: Update.
	* gnulib/import/m4/fdopendir.m4: Update.
	* gnulib/import/m4/filenamecat.m4: Update.
	* gnulib/import/m4/flexmember.m4: Update.
	* gnulib/import/m4/float_h.m4: Update.
	* gnulib/import/m4/fnmatch.m4: Update.
	* gnulib/import/m4/fnmatch_h.m4: Update.
	* gnulib/import/m4/fpieee.m4: Update.
	* gnulib/import/m4/frexp.m4: Update.
	* gnulib/import/m4/frexpl.m4: Update.
	* gnulib/import/m4/fstat.m4: Update.
	* gnulib/import/m4/fstatat.m4: Update.
	* gnulib/import/m4/getcwd-abort-bug.m4: Update.
	* gnulib/import/m4/getcwd-path-max.m4: Update.
	* gnulib/import/m4/getcwd.m4: Update.
	* gnulib/import/m4/getdtablesize.m4: Update.
	* gnulib/import/m4/getlogin.m4: Update.
	* gnulib/import/m4/getlogin_r.m4: Update.
	* gnulib/import/m4/getpagesize.m4: Update.
	* gnulib/import/m4/getprogname.m4: Update.
	* gnulib/import/m4/gettimeofday.m4: Update.
	* gnulib/import/m4/glibc21.m4: Update.
	* gnulib/import/m4/glob.m4: Update.
	* gnulib/import/m4/glob_h.m4: Update.
	* gnulib/import/m4/gnulib-cache.m4: Update.
	* gnulib/import/m4/gnulib-common.m4: Update.
	* gnulib/import/m4/gnulib-comp.m4: Update.
	* gnulib/import/m4/gnulib-tool.m4: Update.
	* gnulib/import/m4/hard-locale.m4: Update.
	* gnulib/import/m4/include_next.m4: Update.
	* gnulib/import/m4/inttypes-pri.m4: Update.
	* gnulib/import/m4/inttypes.m4: Update.
	* gnulib/import/m4/isnand.m4: Update.
	* gnulib/import/m4/isnanl.m4: Update.
	* gnulib/import/m4/largefile.m4: Update.
	* gnulib/import/m4/limits-h.m4: Update.
	* gnulib/import/m4/localcharset.m4: Update.
	* gnulib/import/m4/locale-fr.m4: Update.
	* gnulib/import/m4/locale-ja.m4: Update.
	* gnulib/import/m4/locale-zh.m4: Update.
	* gnulib/import/m4/localtime-buffer.m4: Update.
	* gnulib/import/m4/longlong.m4: Update.
	* gnulib/import/m4/lstat.m4: Update.
	* gnulib/import/m4/malloc.m4: Update.
	* gnulib/import/m4/malloca.m4: Update.
	* gnulib/import/m4/math_h.m4: Update.
	* gnulib/import/m4/mbrtowc.m4: Update.
	* gnulib/import/m4/mbsinit.m4: Update.
	* gnulib/import/m4/mbsrtowcs.m4: Update.
	* gnulib/import/m4/mbstate_t.m4: Update.
	* gnulib/import/m4/memchr.m4: Update.
	* gnulib/import/m4/memmem.m4: Update.
	* gnulib/import/m4/mempcpy.m4: Update.
	* gnulib/import/m4/memrchr.m4: Update.
	* gnulib/import/m4/mkdir.m4: Update.
	* gnulib/import/m4/mkstemp.m4: Update.
	* gnulib/import/m4/mmap-anon.m4: Update.
	* gnulib/import/m4/mode_t.m4: Update.
	* gnulib/import/m4/msvc-inval.m4: Update.
	* gnulib/import/m4/msvc-nothrow.m4: Update.
	* gnulib/import/m4/multiarch.m4: Update.
	* gnulib/import/m4/nocrash.m4: Update.
	* gnulib/import/m4/off_t.m4: Update.
	* gnulib/import/m4/onceonly.m4: Update.
	* gnulib/import/m4/open-cloexec.m4: Update.
	* gnulib/import/m4/open.m4: Update.
	* gnulib/import/m4/openat.m4: Update.
	* gnulib/import/m4/opendir.m4: Update.
	* gnulib/import/m4/pathmax.m4: Update.
	* gnulib/import/m4/rawmemchr.m4: Update.
	* gnulib/import/m4/readdir.m4: Update.
	* gnulib/import/m4/readlink.m4: Update.
	* gnulib/import/m4/realloc.m4: Update.
	* gnulib/import/m4/rename.m4: Update.
	* gnulib/import/m4/rewinddir.m4: Update.
	* gnulib/import/m4/rmdir.m4: Update.
	* gnulib/import/m4/save-cwd.m4: Update.
	* gnulib/import/m4/secure_getenv.m4: Update.
	* gnulib/import/m4/setenv.m4: Update.
	* gnulib/import/m4/signal_h.m4: Update.
	* gnulib/import/m4/ssize_t.m4: Update.
	* gnulib/import/m4/stat-time.m4: Update.
	* gnulib/import/m4/stat.m4: Update.
	* gnulib/import/m4/std-gnu11.m4: Update.
	* gnulib/import/m4/stdbool.m4: Update.
	* gnulib/import/m4/stddef_h.m4: Update.
	* gnulib/import/m4/stdint.m4: Update.
	* gnulib/import/m4/stdio_h.m4: Update.
	* gnulib/import/m4/stdlib_h.m4: Update.
	* gnulib/import/m4/strchrnul.m4: Update.
	* gnulib/import/m4/strdup.m4: Update.
	* gnulib/import/m4/strerror.m4: Update.
	* gnulib/import/m4/string_h.m4: Update.
	* gnulib/import/m4/strstr.m4: Update.
	* gnulib/import/m4/strtok_r.m4: Update.
	* gnulib/import/m4/sys_socket_h.m4: Update.
	* gnulib/import/m4/sys_stat_h.m4: Update.
	* gnulib/import/m4/sys_time_h.m4: Update.
	* gnulib/import/m4/sys_types_h.m4: Update.
	* gnulib/import/m4/tempname.m4: Update.
	* gnulib/import/m4/time_h.m4: Update.
	* gnulib/import/m4/unistd-safer.m4: Update.
	* gnulib/import/m4/unistd_h.m4: Update.
	* gnulib/import/m4/warn-on-use.m4: Update.
	* gnulib/import/m4/wchar_h.m4: Update.
	* gnulib/import/m4/wchar_t.m4: Update.
	* gnulib/import/m4/wctype_h.m4: Update.
	* gnulib/import/m4/wint_t.m4: Update.
	* gnulib/import/malloc.c: Update.
	* gnulib/import/malloc/scratch_buffer.h: Update.
	* gnulib/import/malloc/scratch_buffer_grow.c: Update.
	* gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
	* gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
	* gnulib/import/malloca.c: Update.
	* gnulib/import/malloca.h: Update.
	* gnulib/import/malloca.valgrind: Update.
	* gnulib/import/math.in.h: Update.
	* gnulib/import/mbrtowc.c: Update.
	* gnulib/import/mbsinit.c: Update.
	* gnulib/import/mbsrtowcs-impl.h: Update.
	* gnulib/import/mbsrtowcs-state.c: Update.
	* gnulib/import/mbsrtowcs.c: Update.
	* gnulib/import/memchr.c: Update.
	* gnulib/import/memmem.c: Update.
	* gnulib/import/mempcpy.c: Update.
	* gnulib/import/memrchr.c: Update.
	* gnulib/import/mkdir.c: Update.
	* gnulib/import/mkstemp.c: Update.
	* gnulib/import/msvc-inval.c: Update.
	* gnulib/import/msvc-inval.h: Update.
	* gnulib/import/msvc-nothrow.c: Update.
	* gnulib/import/msvc-nothrow.h: Update.
	* gnulib/import/open.c: Update.
	* gnulib/import/openat-die.c: Update.
	* gnulib/import/openat-priv.h: Update.
	* gnulib/import/openat-proc.c: Update.
	* gnulib/import/openat.c: Update.
	* gnulib/import/openat.h: Update.
	* gnulib/import/opendir.c: Update.
	* gnulib/import/pathmax.h: Update.
	* gnulib/import/pipe-safer.c: Update.
	* gnulib/import/rawmemchr.c: Update.
	* gnulib/import/readdir.c: Update.
	* gnulib/import/readlink.c: Update.
	* gnulib/import/realloc.c: Update.
	* gnulib/import/ref-add.sin: Update.
	* gnulib/import/ref-del.sin: Update.
	* gnulib/import/rename.c: Update.
	* gnulib/import/rewinddir.c: Update.
	* gnulib/import/rmdir.c: Update.
	* gnulib/import/same-inode.h: Update.
	* gnulib/import/save-cwd.c: Update.
	* gnulib/import/save-cwd.h: Update.
	* gnulib/import/scratch_buffer.h: Update.
	* gnulib/import/secure_getenv.c: Update.
	* gnulib/import/setenv.c: Update.
	* gnulib/import/signal.in.h: Update.
	* gnulib/import/stat-time.c: Update.
	* gnulib/import/stat-time.h: Update.
	* gnulib/import/stat-w32.c: Update.
	* gnulib/import/stat-w32.h: Update.
	* gnulib/import/stat.c: Update.
	* gnulib/import/stdbool.in.h: Update.
	* gnulib/import/stddef.in.h: Update.
	* gnulib/import/stdint.in.h: Update.
	* gnulib/import/stdio.in.h: Update.
	* gnulib/import/stdlib.in.h: Update.
	* gnulib/import/str-two-way.h: Update.
	* gnulib/import/strchrnul.c: Update.
	* gnulib/import/strdup.c: Update.
	* gnulib/import/streq.h: Update.
	* gnulib/import/strerror-override.c: Update.
	* gnulib/import/strerror-override.h: Update.
	* gnulib/import/strerror.c: Update.
	* gnulib/import/string.in.h: Update.
	* gnulib/import/stripslash.c: Update.
	* gnulib/import/strnlen1.c: Update.
	* gnulib/import/strnlen1.h: Update.
	* gnulib/import/strstr.c: Update.
	* gnulib/import/strtok_r.c: Update.
	* gnulib/import/sys_stat.in.h: Update.
	* gnulib/import/sys_time.in.h: Update.
	* gnulib/import/sys_types.in.h: Update.
	* gnulib/import/tempname.c: Update.
	* gnulib/import/tempname.h: Update.
	* gnulib/import/time.in.h: Update.
	* gnulib/import/unistd--.h: Update.
	* gnulib/import/unistd-safer.h: Update.
	* gnulib/import/unistd.in.h: Update.
	* gnulib/import/unsetenv.c: Update.
	* gnulib/import/verify.h: Update.
	* gnulib/import/extra/snippet/warn-on-use.h: Update.
	* gnulib/import/wchar.in.h: Update.
	* gnulib/import/wctype.in.h: Update.
	* gnulib/import/xalloc-oversized.h: Update.


-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


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

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-28 19:59 [PATCH] Update gnulib to current upstream master Sergio Durigan Junior
@ 2018-08-29 16:19 ` Tom Tromey
  2018-08-29 16:29   ` Sergio Durigan Junior
  2018-08-29 19:06 ` Pedro Alves
  1 sibling, 1 reply; 28+ messages in thread
From: Tom Tromey @ 2018-08-29 16:19 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: GDB Patches

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:

Sergio> It has been a while since we don't update our gnulib copy against
Sergio> their upstream master branch, so I thought I'd propose this patch.  It
Sergio> also fixes (at least) one bug reported against GDB:
Sergio>   https://sourceware.org/bugzilla/show_bug.cgi?id=23558

Thank you for doing this.

I think it is ok.  It's an enormous auto-generated patch, so of course I
didn't read it.  But I think this point in the release cycle is a good
time to update gnulib, and worst case we can either (1) back this out,
or (2) fix whatever gnulib bugs might arise.

BTW you mentioned on irc that you forgot to mention update-gnulib.sh in
the ChangeLog; please do that, no need to repost though.

Tom

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-29 16:19 ` Tom Tromey
@ 2018-08-29 16:29   ` Sergio Durigan Junior
  0 siblings, 0 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-29 16:29 UTC (permalink / raw)
  To: Tom Tromey; +Cc: GDB Patches

On Wednesday, August 29 2018, Tom Tromey wrote:

>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>
> Sergio> It has been a while since we don't update our gnulib copy against
> Sergio> their upstream master branch, so I thought I'd propose this patch.  It
> Sergio> also fixes (at least) one bug reported against GDB:
> Sergio>   https://sourceware.org/bugzilla/show_bug.cgi?id=23558
>
> Thank you for doing this.
>
> I think it is ok.  It's an enormous auto-generated patch, so of course I
> didn't read it.  But I think this point in the release cycle is a good
> time to update gnulib, and worst case we can either (1) back this out,
> or (2) fix whatever gnulib bugs might arise.
>
> BTW you mentioned on irc that you forgot to mention update-gnulib.sh in
> the ChangeLog; please do that, no need to repost though.

Thanks, Tom.  I pushed the patch with the updated ChangeLog:

7a6dbc2fdb2323c35e981f93236f323e9d7c0b24

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-28 19:59 [PATCH] Update gnulib to current upstream master Sergio Durigan Junior
  2018-08-29 16:19 ` Tom Tromey
@ 2018-08-29 19:06 ` Pedro Alves
  2018-08-29 19:34   ` Sergio Durigan Junior
                     ` (2 more replies)
  1 sibling, 3 replies; 28+ messages in thread
From: Pedro Alves @ 2018-08-29 19:06 UTC (permalink / raw)
  To: Sergio Durigan Junior, GDB Patches

On 08/28/2018 08:59 PM, Sergio Durigan Junior wrote:
> [ Disclaimer: I'm sending the patch gzipped because I'm afraid
> sourceware won't accept a 1.2MB message. ]
> 
> It has been a while since we don't update our gnulib copy against
> their upstream master branch, so I thought I'd propose this patch.  It
> also fixes (at least) one bug reported against GDB:
> 
>   https://sourceware.org/bugzilla/show_bug.cgi?id=23558
> 
> The problem reported there is about the replacement of 'getcwd' when
> cross-compiling GDB.  With our current gnulib copy, the mechanism for
> deciding whether to use the system's 'getcwd' or gnulib's version is
> too simplistic and pessimistic, so when cross-compiling we always end
> up using gnulib's version, which has a limitation: it cannot handle
> the situation when the parent directory doesn't have read permissions.
> 
> This has been reported against upstream gnulib and the fix has been
> pushed here:
> 
>   https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=a96d2e67052c879b1bcc5bc461722beac75fc372
> 
> I regtested this patch on Fedora 28 x86-64, and there were no
> regressions.
> 
> OK?

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.

Also, if there were newer m4 files or m4 files deleted, I think we
we need to update the list in gnulib/Makefile.in (aclocal_m4_deps).

Should we cherry pick the getcwd fix to the 8.2 branch?

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-29 19:06 ` Pedro Alves
@ 2018-08-29 19:34   ` Sergio Durigan Junior
  2018-08-31 13:04     ` Pedro Alves
  2018-08-30  0:04   ` Tom Tromey
  2018-08-30 15:57   ` [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps Sergio Durigan Junior
  2 siblings, 1 reply; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-29 19:34 UTC (permalink / raw)
  To: Pedro Alves; +Cc: GDB Patches

On Wednesday, August 29 2018, Pedro Alves wrote:

> On 08/28/2018 08:59 PM, Sergio Durigan Junior wrote:
>> [ Disclaimer: I'm sending the patch gzipped because I'm afraid
>> sourceware won't accept a 1.2MB message. ]
>> 
>> It has been a while since we don't update our gnulib copy against
>> their upstream master branch, so I thought I'd propose this patch.  It
>> also fixes (at least) one bug reported against GDB:
>> 
>>   https://sourceware.org/bugzilla/show_bug.cgi?id=23558
>> 
>> The problem reported there is about the replacement of 'getcwd' when
>> cross-compiling GDB.  With our current gnulib copy, the mechanism for
>> deciding whether to use the system's 'getcwd' or gnulib's version is
>> too simplistic and pessimistic, so when cross-compiling we always end
>> up using gnulib's version, which has a limitation: it cannot handle
>> the situation when the parent directory doesn't have read permissions.
>> 
>> This has been reported against upstream gnulib and the fix has been
>> pushed here:
>> 
>>   https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=a96d2e67052c879b1bcc5bc461722beac75fc372
>> 
>> I regtested this patch on Fedora 28 x86-64, and there were no
>> regressions.
>> 
>> OK?
>
> 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.

Hm, OK, I didn't think about this scenario, so I didn't bother including
the list of modules that were pulled when updating gnulib.

So, I ran the gnulib update process twice, once for our previous
version, and once for the new version (that I pushed).  The differences
are:

--- /tmp/gnulib1.txt	2018-08-29 15:20:56.394418711 -0400
+++ /tmp/gnulib2.txt	2018-08-29 15:22:57.846895510 -0400
@@ -4,13 +4,14 @@
     alloca-opt
     assure
     at-internal
+    builtin-expect
+    c99
   canonicalize-lgpl
     chdir
     chdir-long
     cloexec
     close
     closedir
-    configmake
     d-ino
     d-type
   dirent
@@ -30,6 +31,7 @@
     fcntl
     fcntl-h
     fd-hook
+    fd-safer-flag
     fdopendir
     filename
     filenamecat-lgpl
@@ -37,6 +39,7 @@
     float
     fnmatch
   fnmatch-gnu
+    fnmatch-h
     fpieee
     fpucw
     frexp
@@ -51,6 +54,7 @@
     gettext-h
     gettimeofday
   glob
+    glob-h
     hard-locale
     include_next
     intprops
@@ -59,8 +63,10 @@
     isnand-nolibm
     isnanl-nolibm
     largefile
+    libc-config
   limits-h
     localcharset
+    localtime-buffer
   lstat
     malloc-posix
     malloca
@@ -94,7 +100,7 @@
     rmdir
     same-inode
     save-cwd
-    secure_getenv
+    scratch_buffer
   setenv
   signal-h
     snippet/_Noreturn
@@ -103,8 +109,10 @@
     snippet/warn-on-use
     ssize_t
     stat
+    stat-time
+    std-gnu11
     stdbool
     stddef
     stdint
     stdio
     stdlib
@@ -130,40 +138,36 @@
     verify
   wchar
   wctype-h
+    xalloc-oversized


It doesn't seem like we're importing any important module implicity, nor
that we stopped important anything important, but I may be wrong.

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

It seems we're still covered.

> Also, if there were newer m4 files or m4 files deleted, I think we
> we need to update the list in gnulib/Makefile.in (aclocal_m4_deps).

As I said on IRC, I had no idea we needed to manually edit any other
file, especially one that's under the gnulib/ dir.  But I'll do it and
propose a patch.

> Should we cherry pick the getcwd fix to the 8.2 branch?

If you're proposing cherry-picking only the patch to the .m4 file under
the gnulib/ dir, then perhaps we could.  Backporting the whole gnulib
update is not a good idea, IMHO.  But I'm sure that's not what you
meant.

Thanks,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-29 19:06 ` Pedro Alves
  2018-08-29 19:34   ` Sergio Durigan Junior
@ 2018-08-30  0:04   ` Tom Tromey
  2018-08-30  3:01     ` Sergio Durigan Junior
  2018-08-30 15:57   ` [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps Sergio Durigan Junior
  2 siblings, 1 reply; 28+ messages in thread
From: Tom Tromey @ 2018-08-30  0:04 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Sergio Durigan Junior, GDB Patches

>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:

Pedro> It is standard practice when updating gnulib to discuss the set of
Pedro> modules that the exercise brings in due to module dependencies.

Sorry about that, I should have remembered before approving this.

Tom

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-30  0:04   ` Tom Tromey
@ 2018-08-30  3:01     ` Sergio Durigan Junior
  0 siblings, 0 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-30  3:01 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Pedro Alves, GDB Patches

On Wednesday, August 29 2018, Tom Tromey wrote:

>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>
> Pedro> It is standard practice when updating gnulib to discuss the set of
> Pedro> modules that the exercise brings in due to module dependencies.
>
> Sorry about that, I should have remembered before approving this.

Please let me know if the summary I sent in:

  https://sourceware.org/ml/gdb-patches/2018-08/msg00776.html

is enough/makes sense.

Thanks,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-29 19:06 ` Pedro Alves
  2018-08-29 19:34   ` Sergio Durigan Junior
  2018-08-30  0:04   ` Tom Tromey
@ 2018-08-30 15:57   ` Sergio Durigan Junior
  2018-08-30 17:05     ` Simon Marchi
  2 siblings, 1 reply; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-30 15:57 UTC (permalink / raw)
  To: GDB Patches; +Cc: Pedro Alves, Tom Tromey, Sergio Durigan Junior

It was pointed by Pedro that gnulib/Makefile.in should be updated
accordingly after our local gnulib is also updated.  The specific part
that needs to be refreshed is the "aclocal_m4_deps" variable, which
lists the .m4 files present under the "gnulib/import/m4/" directory.
This patch does that.

No regressions introduced.

gdb/ChangeLog:
2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
	the files present in "gnulib/import/m4/".
---
 gdb/ChangeLog          |   5 ++
 gdb/gnulib/Makefile.in | 155 ++++++++++++++++++++++++++++++++---------
 2 files changed, 128 insertions(+), 32 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0d55fd45f5..2ecc4173e8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
+	the files present in "gnulib/import/m4/".
+
 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in
index 191ecbda02..1602da54b6 100644
--- a/gdb/gnulib/Makefile.in
+++ b/gdb/gnulib/Makefile.in
@@ -207,49 +207,140 @@ ACLOCAL = aclocal
 ACLOCAL_AMFLAGS = -I import/m4 -I ../../config
 aclocal_m4_deps = \
 	configure.ac \
-	import/m4/00gnulib.m4 \
-	import/m4/alloca.m4 \
-	import/m4/codeset.m4 \
-	import/m4/configmake.m4 \
-	import/m4/extensions.m4 \
-	import/m4/fcntl-o.m4 \
-	import/m4/fnmatch.m4 \
-	import/m4/glibc21.m4 \
-	import/m4/gnulib-cache.m4 \
+	import/m4/flexmember.m4 \
+	import/m4/eealloc.m4 \
+	import/m4/mkdir.m4 \
+	import/m4/close.m4 \
+	import/m4/unistd-safer.m4 \
+	import/m4/inttypes-pri.m4 \
+	import/m4/chdir-long.m4 \
 	import/m4/gnulib-common.m4 \
-	import/m4/gnulib-comp.m4 \
+	import/m4/readdir.m4 \
+	import/m4/stdlib_h.m4 \
+	import/m4/getlogin_r.m4 \
+	import/m4/warn-on-use.m4 \
+	import/m4/getdtablesize.m4 \
+	import/m4/rewinddir.m4 \
+	import/m4/string_h.m4 \
+	import/m4/closedir.m4 \
+	import/m4/canonicalize.m4 \
+	import/m4/stdio_h.m4 \
+	import/m4/fdopendir.m4 \
+	import/m4/getcwd-abort-bug.m4 \
+	import/m4/alloca.m4 \
+	import/m4/strstr.m4 \
+	import/m4/stat-time.m4 \
+	import/m4/builtin-expect.m4 \
+	import/m4/rawmemchr.m4 \
+	import/m4/msvc-nothrow.m4 \
+	import/m4/absolute-header.m4 \
+	import/m4/isnanl.m4 \
+	import/m4/stddef_h.m4 \
 	import/m4/gnulib-tool.m4 \
-	import/m4/include_next.m4 \
-	import/m4/inttypes-pri.m4 \
-	import/m4/inttypes.m4 \
-	import/m4/localcharset.m4 \
-	import/m4/locale-fr.m4 \
+	import/m4/realloc.m4 \
+	import/m4/d-type.m4 \
+	import/m4/frexp.m4 \
+	import/m4/getcwd-path-max.m4 \
+	import/m4/dup2.m4 \
+	import/m4/strtok_r.m4 \
+	import/m4/exponentd.m4 \
+	import/m4/std-gnu11.m4 \
 	import/m4/locale-ja.m4 \
+	import/m4/gettimeofday.m4 \
+	import/m4/time_h.m4 \
+	import/m4/malloc.m4 \
+	import/m4/fnmatch_h.m4 \
+	import/m4/codeset.m4 \
+	import/m4/getcwd.m4 \
+	import/m4/readlink.m4 \
 	import/m4/locale-zh.m4 \
-	import/m4/longlong.m4 \
+	import/m4/stdint.m4 \
+	import/m4/memrchr.m4 \
+	import/m4/onceonly.m4 \
+	import/m4/pathmax.m4 \
+	import/m4/rename.m4 \
+	import/m4/rmdir.m4 \
+	import/m4/dup.m4 \
+	import/m4/errno_h.m4 \
 	import/m4/mbrtowc.m4 \
-	import/m4/mbsinit.m4 \
+	import/m4/environ.m4 \
+	import/m4/wchar_h.m4 \
+	import/m4/strchrnul.m4 \
+	import/m4/fcntl_h.m4 \
+	import/m4/getpagesize.m4 \
+	import/m4/largefile.m4 \
+	import/m4/openat.m4 \
+	import/m4/save-cwd.m4 \
+	import/m4/stat.m4 \
+	import/m4/include_next.m4 \
+	import/m4/mmap-anon.m4 \
+	import/m4/mode_t.m4 \
+	import/m4/exponentl.m4 \
+	import/m4/sys_types_h.m4 \
+	import/m4/fcntl-o.m4 \
+	import/m4/stdbool.m4 \
+	import/m4/float_h.m4 \
+	import/m4/msvc-inval.m4 \
+	import/m4/wctype_h.m4 \
+	import/m4/gnulib-cache.m4 \
 	import/m4/mbsrtowcs.m4 \
-	import/m4/mbstate_t.m4 \
+	import/m4/limits-h.m4 \
+	import/m4/locale-fr.m4 \
+	import/m4/fstatat.m4 \
+	import/m4/inttypes.m4 \
 	import/m4/memchr.m4 \
-	import/m4/memmem.m4 \
-	import/m4/mmap-anon.m4 \
-	import/m4/multiarch.m4 \
+	import/m4/glob.m4 \
+	import/m4/fstat.m4 \
+	import/m4/sys_stat_h.m4 \
 	import/m4/off_t.m4 \
-	import/m4/pathmax.m4 \
+	import/m4/strdup.m4 \
 	import/m4/ssize_t.m4 \
-	import/m4/stdbool.m4 \
-	import/m4/stddef_h.m4 \
-	import/m4/stdint.m4 \
-	import/m4/string_h.m4 \
-	import/m4/strtok_r.m4 \
-	import/m4/sys_types_h.m4 \
+	import/m4/math_h.m4 \
 	import/m4/unistd_h.m4 \
-	import/m4/warn-on-use.m4 \
-	import/m4/wchar_h.m4 \
+	import/m4/fpieee.m4 \
+	import/m4/mempcpy.m4 \
+	import/m4/wint_t.m4 \
+	import/m4/d-ino.m4 \
+	import/m4/setenv.m4 \
+	import/m4/open-cloexec.m4 \
+	import/m4/longlong.m4 \
+	import/m4/multiarch.m4 \
+	import/m4/filenamecat.m4 \
+	import/m4/gnulib-comp.m4 \
+	import/m4/mkstemp.m4 \
+	import/m4/dirfd.m4 \
+	import/m4/getlogin.m4 \
+	import/m4/signal_h.m4 \
+	import/m4/sys_socket_h.m4 \
+	import/m4/dirname.m4 \
+	import/m4/00gnulib.m4 \
+	import/m4/dirent_h.m4 \
+	import/m4/opendir.m4 \
+	import/m4/error.m4 \
+	import/m4/extensions.m4 \
+	import/m4/fchdir.m4 \
+	import/m4/mbsinit.m4 \
+	import/m4/__inline.m4 \
+	import/m4/extern-inline.m4 \
+	import/m4/fnmatch.m4 \
+	import/m4/lstat.m4 \
+	import/m4/nocrash.m4 \
+	import/m4/sys_time_h.m4 \
+	import/m4/localcharset.m4 \
+	import/m4/open.m4 \
+	import/m4/localtime-buffer.m4 \
+	import/m4/getprogname.m4 \
 	import/m4/wchar_t.m4 \
-	import/m4/wctype_h.m4 \
-	import/m4/wint_t.m4
+	import/m4/isnand.m4 \
+	import/m4/double-slash-root.m4 \
+	import/m4/malloca.m4 \
+	import/m4/fcntl.m4 \
+	import/m4/frexpl.m4 \
+	import/m4/strerror.m4 \
+	import/m4/glob_h.m4 \
+	import/m4/tempname.m4 \
+	import/m4/memmem.m4 \
+	import/m4/mbstate_t.m4
 
 $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-- 
2.17.1

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-30 15:57   ` [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps Sergio Durigan Junior
@ 2018-08-30 17:05     ` Simon Marchi
  2018-08-30 20:00       ` Sergio Durigan Junior
  0 siblings, 1 reply; 28+ messages in thread
From: Simon Marchi @ 2018-08-30 17:05 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: GDB Patches, Pedro Alves, Tom Tromey

On 2018-08-30 11:57, Sergio Durigan Junior wrote:
> It was pointed by Pedro that gnulib/Makefile.in should be updated
> accordingly after our local gnulib is also updated.  The specific part
> that needs to be refreshed is the "aclocal_m4_deps" variable, which
> lists the .m4 files present under the "gnulib/import/m4/" directory.
> This patch does that.
> 
> No regressions introduced.
> 
> gdb/ChangeLog:
> 2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>
> 
> 	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
> 	the files present in "gnulib/import/m4/".
> ---
>  gdb/ChangeLog          |   5 ++
>  gdb/gnulib/Makefile.in | 155 ++++++++++++++++++++++++++++++++---------
>  2 files changed, 128 insertions(+), 32 deletions(-)
> 
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index 0d55fd45f5..2ecc4173e8 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,8 @@
> +2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>
> +
> +	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
> +	the files present in "gnulib/import/m4/".
> +
>  2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
> 
>  	* riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
> diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in
> index 191ecbda02..1602da54b6 100644
> --- a/gdb/gnulib/Makefile.in
> +++ b/gdb/gnulib/Makefile.in
> @@ -207,49 +207,140 @@ ACLOCAL = aclocal
>  ACLOCAL_AMFLAGS = -I import/m4 -I ../../config
>  aclocal_m4_deps = \
>  	configure.ac \
> -	import/m4/00gnulib.m4 \
> -	import/m4/alloca.m4 \
> -	import/m4/codeset.m4 \
> -	import/m4/configmake.m4 \
> -	import/m4/extensions.m4 \
> -	import/m4/fcntl-o.m4 \
> -	import/m4/fnmatch.m4 \
> -	import/m4/glibc21.m4 \
> -	import/m4/gnulib-cache.m4 \
> +	import/m4/flexmember.m4 \
> +	import/m4/eealloc.m4 \
> +	import/m4/mkdir.m4 \
> +	import/m4/close.m4 \
> +	import/m4/unistd-safer.m4 \
> +	import/m4/inttypes-pri.m4 \
> +	import/m4/chdir-long.m4 \
>  	import/m4/gnulib-common.m4 \
> -	import/m4/gnulib-comp.m4 \
> +	import/m4/readdir.m4 \
> +	import/m4/stdlib_h.m4 \
> +	import/m4/getlogin_r.m4 \
> +	import/m4/warn-on-use.m4 \
> +	import/m4/getdtablesize.m4 \
> +	import/m4/rewinddir.m4 \
> +	import/m4/string_h.m4 \
> +	import/m4/closedir.m4 \
> +	import/m4/canonicalize.m4 \
> +	import/m4/stdio_h.m4 \
> +	import/m4/fdopendir.m4 \
> +	import/m4/getcwd-abort-bug.m4 \
> +	import/m4/alloca.m4 \
> +	import/m4/strstr.m4 \
> +	import/m4/stat-time.m4 \
> +	import/m4/builtin-expect.m4 \
> +	import/m4/rawmemchr.m4 \
> +	import/m4/msvc-nothrow.m4 \
> +	import/m4/absolute-header.m4 \
> +	import/m4/isnanl.m4 \
> +	import/m4/stddef_h.m4 \
>  	import/m4/gnulib-tool.m4 \
> -	import/m4/include_next.m4 \
> -	import/m4/inttypes-pri.m4 \
> -	import/m4/inttypes.m4 \
> -	import/m4/localcharset.m4 \
> -	import/m4/locale-fr.m4 \
> +	import/m4/realloc.m4 \
> +	import/m4/d-type.m4 \
> +	import/m4/frexp.m4 \
> +	import/m4/getcwd-path-max.m4 \
> +	import/m4/dup2.m4 \
> +	import/m4/strtok_r.m4 \
> +	import/m4/exponentd.m4 \
> +	import/m4/std-gnu11.m4 \
>  	import/m4/locale-ja.m4 \
> +	import/m4/gettimeofday.m4 \
> +	import/m4/time_h.m4 \
> +	import/m4/malloc.m4 \
> +	import/m4/fnmatch_h.m4 \
> +	import/m4/codeset.m4 \
> +	import/m4/getcwd.m4 \
> +	import/m4/readlink.m4 \
>  	import/m4/locale-zh.m4 \
> -	import/m4/longlong.m4 \
> +	import/m4/stdint.m4 \
> +	import/m4/memrchr.m4 \
> +	import/m4/onceonly.m4 \
> +	import/m4/pathmax.m4 \
> +	import/m4/rename.m4 \
> +	import/m4/rmdir.m4 \
> +	import/m4/dup.m4 \
> +	import/m4/errno_h.m4 \
>  	import/m4/mbrtowc.m4 \
> -	import/m4/mbsinit.m4 \
> +	import/m4/environ.m4 \
> +	import/m4/wchar_h.m4 \
> +	import/m4/strchrnul.m4 \
> +	import/m4/fcntl_h.m4 \
> +	import/m4/getpagesize.m4 \
> +	import/m4/largefile.m4 \
> +	import/m4/openat.m4 \
> +	import/m4/save-cwd.m4 \
> +	import/m4/stat.m4 \
> +	import/m4/include_next.m4 \
> +	import/m4/mmap-anon.m4 \
> +	import/m4/mode_t.m4 \
> +	import/m4/exponentl.m4 \
> +	import/m4/sys_types_h.m4 \
> +	import/m4/fcntl-o.m4 \
> +	import/m4/stdbool.m4 \
> +	import/m4/float_h.m4 \
> +	import/m4/msvc-inval.m4 \
> +	import/m4/wctype_h.m4 \
> +	import/m4/gnulib-cache.m4 \
>  	import/m4/mbsrtowcs.m4 \
> -	import/m4/mbstate_t.m4 \
> +	import/m4/limits-h.m4 \
> +	import/m4/locale-fr.m4 \
> +	import/m4/fstatat.m4 \
> +	import/m4/inttypes.m4 \
>  	import/m4/memchr.m4 \
> -	import/m4/memmem.m4 \
> -	import/m4/mmap-anon.m4 \
> -	import/m4/multiarch.m4 \
> +	import/m4/glob.m4 \
> +	import/m4/fstat.m4 \
> +	import/m4/sys_stat_h.m4 \
>  	import/m4/off_t.m4 \
> -	import/m4/pathmax.m4 \
> +	import/m4/strdup.m4 \
>  	import/m4/ssize_t.m4 \
> -	import/m4/stdbool.m4 \
> -	import/m4/stddef_h.m4 \
> -	import/m4/stdint.m4 \
> -	import/m4/string_h.m4 \
> -	import/m4/strtok_r.m4 \
> -	import/m4/sys_types_h.m4 \
> +	import/m4/math_h.m4 \
>  	import/m4/unistd_h.m4 \
> -	import/m4/warn-on-use.m4 \
> -	import/m4/wchar_h.m4 \
> +	import/m4/fpieee.m4 \
> +	import/m4/mempcpy.m4 \
> +	import/m4/wint_t.m4 \
> +	import/m4/d-ino.m4 \
> +	import/m4/setenv.m4 \
> +	import/m4/open-cloexec.m4 \
> +	import/m4/longlong.m4 \
> +	import/m4/multiarch.m4 \
> +	import/m4/filenamecat.m4 \
> +	import/m4/gnulib-comp.m4 \
> +	import/m4/mkstemp.m4 \
> +	import/m4/dirfd.m4 \
> +	import/m4/getlogin.m4 \
> +	import/m4/signal_h.m4 \
> +	import/m4/sys_socket_h.m4 \
> +	import/m4/dirname.m4 \
> +	import/m4/00gnulib.m4 \
> +	import/m4/dirent_h.m4 \
> +	import/m4/opendir.m4 \
> +	import/m4/error.m4 \
> +	import/m4/extensions.m4 \
> +	import/m4/fchdir.m4 \
> +	import/m4/mbsinit.m4 \
> +	import/m4/__inline.m4 \
> +	import/m4/extern-inline.m4 \
> +	import/m4/fnmatch.m4 \
> +	import/m4/lstat.m4 \
> +	import/m4/nocrash.m4 \
> +	import/m4/sys_time_h.m4 \
> +	import/m4/localcharset.m4 \
> +	import/m4/open.m4 \
> +	import/m4/localtime-buffer.m4 \
> +	import/m4/getprogname.m4 \
>  	import/m4/wchar_t.m4 \
> -	import/m4/wctype_h.m4 \
> -	import/m4/wint_t.m4
> +	import/m4/isnand.m4 \
> +	import/m4/double-slash-root.m4 \
> +	import/m4/malloca.m4 \
> +	import/m4/fcntl.m4 \
> +	import/m4/frexpl.m4 \
> +	import/m4/strerror.m4 \
> +	import/m4/glob_h.m4 \
> +	import/m4/tempname.m4 \
> +	import/m4/memmem.m4 \
> +	import/m4/mbstate_t.m4
> 
>  $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
>  	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)

This looks good to me, the set of m4 files listed here matches the list 
of actual m4 files in import/m4.  Follow-up question, could we use 
$(wildcard ...) instead of listing them by hand?

Simon

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-30 17:05     ` Simon Marchi
@ 2018-08-30 20:00       ` Sergio Durigan Junior
  2018-08-31  7:59         ` Joel Brobecker
  2018-08-31 11:21         ` Pedro Alves
  0 siblings, 2 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-30 20:00 UTC (permalink / raw)
  To: Simon Marchi; +Cc: GDB Patches, Pedro Alves, Tom Tromey

On Thursday, August 30 2018, Simon Marchi wrote:

> On 2018-08-30 11:57, Sergio Durigan Junior wrote:
>> It was pointed by Pedro that gnulib/Makefile.in should be updated
>> accordingly after our local gnulib is also updated.  The specific part
>> that needs to be refreshed is the "aclocal_m4_deps" variable, which
>> lists the .m4 files present under the "gnulib/import/m4/" directory.
>> This patch does that.
>>
>> No regressions introduced.
>>
>> gdb/ChangeLog:
>> 2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>
>>
>> 	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
>> 	the files present in "gnulib/import/m4/".
>> ---
>>  gdb/ChangeLog          |   5 ++
>>  gdb/gnulib/Makefile.in | 155 ++++++++++++++++++++++++++++++++---------
>>  2 files changed, 128 insertions(+), 32 deletions(-)
>>
>> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
>> index 0d55fd45f5..2ecc4173e8 100644
>> --- a/gdb/ChangeLog
>> +++ b/gdb/ChangeLog
>> @@ -1,3 +1,8 @@
>> +2018-08-30  Sergio Durigan Junior  <sergiodj@redhat.com>
>> +
>> +	* gnulib/Makefile.in (aclocal_m4_deps): Update according to
>> +	the files present in "gnulib/import/m4/".
>> +
>>  2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
>>
>>  	* riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
>> diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in
>> index 191ecbda02..1602da54b6 100644
>> --- a/gdb/gnulib/Makefile.in
>> +++ b/gdb/gnulib/Makefile.in
>> @@ -207,49 +207,140 @@ ACLOCAL = aclocal
>>  ACLOCAL_AMFLAGS = -I import/m4 -I ../../config
>>  aclocal_m4_deps = \
>>  	configure.ac \
>> -	import/m4/00gnulib.m4 \
>> -	import/m4/alloca.m4 \
>> -	import/m4/codeset.m4 \
>> -	import/m4/configmake.m4 \
>> -	import/m4/extensions.m4 \
>> -	import/m4/fcntl-o.m4 \
>> -	import/m4/fnmatch.m4 \
>> -	import/m4/glibc21.m4 \
>> -	import/m4/gnulib-cache.m4 \
>> +	import/m4/flexmember.m4 \
>> +	import/m4/eealloc.m4 \
>> +	import/m4/mkdir.m4 \
>> +	import/m4/close.m4 \
>> +	import/m4/unistd-safer.m4 \
>> +	import/m4/inttypes-pri.m4 \
>> +	import/m4/chdir-long.m4 \
>>  	import/m4/gnulib-common.m4 \
>> -	import/m4/gnulib-comp.m4 \
>> +	import/m4/readdir.m4 \
>> +	import/m4/stdlib_h.m4 \
>> +	import/m4/getlogin_r.m4 \
>> +	import/m4/warn-on-use.m4 \
>> +	import/m4/getdtablesize.m4 \
>> +	import/m4/rewinddir.m4 \
>> +	import/m4/string_h.m4 \
>> +	import/m4/closedir.m4 \
>> +	import/m4/canonicalize.m4 \
>> +	import/m4/stdio_h.m4 \
>> +	import/m4/fdopendir.m4 \
>> +	import/m4/getcwd-abort-bug.m4 \
>> +	import/m4/alloca.m4 \
>> +	import/m4/strstr.m4 \
>> +	import/m4/stat-time.m4 \
>> +	import/m4/builtin-expect.m4 \
>> +	import/m4/rawmemchr.m4 \
>> +	import/m4/msvc-nothrow.m4 \
>> +	import/m4/absolute-header.m4 \
>> +	import/m4/isnanl.m4 \
>> +	import/m4/stddef_h.m4 \
>>  	import/m4/gnulib-tool.m4 \
>> -	import/m4/include_next.m4 \
>> -	import/m4/inttypes-pri.m4 \
>> -	import/m4/inttypes.m4 \
>> -	import/m4/localcharset.m4 \
>> -	import/m4/locale-fr.m4 \
>> +	import/m4/realloc.m4 \
>> +	import/m4/d-type.m4 \
>> +	import/m4/frexp.m4 \
>> +	import/m4/getcwd-path-max.m4 \
>> +	import/m4/dup2.m4 \
>> +	import/m4/strtok_r.m4 \
>> +	import/m4/exponentd.m4 \
>> +	import/m4/std-gnu11.m4 \
>>  	import/m4/locale-ja.m4 \
>> +	import/m4/gettimeofday.m4 \
>> +	import/m4/time_h.m4 \
>> +	import/m4/malloc.m4 \
>> +	import/m4/fnmatch_h.m4 \
>> +	import/m4/codeset.m4 \
>> +	import/m4/getcwd.m4 \
>> +	import/m4/readlink.m4 \
>>  	import/m4/locale-zh.m4 \
>> -	import/m4/longlong.m4 \
>> +	import/m4/stdint.m4 \
>> +	import/m4/memrchr.m4 \
>> +	import/m4/onceonly.m4 \
>> +	import/m4/pathmax.m4 \
>> +	import/m4/rename.m4 \
>> +	import/m4/rmdir.m4 \
>> +	import/m4/dup.m4 \
>> +	import/m4/errno_h.m4 \
>>  	import/m4/mbrtowc.m4 \
>> -	import/m4/mbsinit.m4 \
>> +	import/m4/environ.m4 \
>> +	import/m4/wchar_h.m4 \
>> +	import/m4/strchrnul.m4 \
>> +	import/m4/fcntl_h.m4 \
>> +	import/m4/getpagesize.m4 \
>> +	import/m4/largefile.m4 \
>> +	import/m4/openat.m4 \
>> +	import/m4/save-cwd.m4 \
>> +	import/m4/stat.m4 \
>> +	import/m4/include_next.m4 \
>> +	import/m4/mmap-anon.m4 \
>> +	import/m4/mode_t.m4 \
>> +	import/m4/exponentl.m4 \
>> +	import/m4/sys_types_h.m4 \
>> +	import/m4/fcntl-o.m4 \
>> +	import/m4/stdbool.m4 \
>> +	import/m4/float_h.m4 \
>> +	import/m4/msvc-inval.m4 \
>> +	import/m4/wctype_h.m4 \
>> +	import/m4/gnulib-cache.m4 \
>>  	import/m4/mbsrtowcs.m4 \
>> -	import/m4/mbstate_t.m4 \
>> +	import/m4/limits-h.m4 \
>> +	import/m4/locale-fr.m4 \
>> +	import/m4/fstatat.m4 \
>> +	import/m4/inttypes.m4 \
>>  	import/m4/memchr.m4 \
>> -	import/m4/memmem.m4 \
>> -	import/m4/mmap-anon.m4 \
>> -	import/m4/multiarch.m4 \
>> +	import/m4/glob.m4 \
>> +	import/m4/fstat.m4 \
>> +	import/m4/sys_stat_h.m4 \
>>  	import/m4/off_t.m4 \
>> -	import/m4/pathmax.m4 \
>> +	import/m4/strdup.m4 \
>>  	import/m4/ssize_t.m4 \
>> -	import/m4/stdbool.m4 \
>> -	import/m4/stddef_h.m4 \
>> -	import/m4/stdint.m4 \
>> -	import/m4/string_h.m4 \
>> -	import/m4/strtok_r.m4 \
>> -	import/m4/sys_types_h.m4 \
>> +	import/m4/math_h.m4 \
>>  	import/m4/unistd_h.m4 \
>> -	import/m4/warn-on-use.m4 \
>> -	import/m4/wchar_h.m4 \
>> +	import/m4/fpieee.m4 \
>> +	import/m4/mempcpy.m4 \
>> +	import/m4/wint_t.m4 \
>> +	import/m4/d-ino.m4 \
>> +	import/m4/setenv.m4 \
>> +	import/m4/open-cloexec.m4 \
>> +	import/m4/longlong.m4 \
>> +	import/m4/multiarch.m4 \
>> +	import/m4/filenamecat.m4 \
>> +	import/m4/gnulib-comp.m4 \
>> +	import/m4/mkstemp.m4 \
>> +	import/m4/dirfd.m4 \
>> +	import/m4/getlogin.m4 \
>> +	import/m4/signal_h.m4 \
>> +	import/m4/sys_socket_h.m4 \
>> +	import/m4/dirname.m4 \
>> +	import/m4/00gnulib.m4 \
>> +	import/m4/dirent_h.m4 \
>> +	import/m4/opendir.m4 \
>> +	import/m4/error.m4 \
>> +	import/m4/extensions.m4 \
>> +	import/m4/fchdir.m4 \
>> +	import/m4/mbsinit.m4 \
>> +	import/m4/__inline.m4 \
>> +	import/m4/extern-inline.m4 \
>> +	import/m4/fnmatch.m4 \
>> +	import/m4/lstat.m4 \
>> +	import/m4/nocrash.m4 \
>> +	import/m4/sys_time_h.m4 \
>> +	import/m4/localcharset.m4 \
>> +	import/m4/open.m4 \
>> +	import/m4/localtime-buffer.m4 \
>> +	import/m4/getprogname.m4 \
>>  	import/m4/wchar_t.m4 \
>> -	import/m4/wctype_h.m4 \
>> -	import/m4/wint_t.m4
>> +	import/m4/isnand.m4 \
>> +	import/m4/double-slash-root.m4 \
>> +	import/m4/malloca.m4 \
>> +	import/m4/fcntl.m4 \
>> +	import/m4/frexpl.m4 \
>> +	import/m4/strerror.m4 \
>> +	import/m4/glob_h.m4 \
>> +	import/m4/tempname.m4 \
>> +	import/m4/memmem.m4 \
>> +	import/m4/mbstate_t.m4
>>
>>  $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
>>  	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
>
> This looks good to me, the set of m4 files listed here matches the
> list of actual m4 files in import/m4.  Follow-up question, could we
> use $(wildcard ...) instead of listing them by hand?

Yeah, I think that could work.  That's basically what I did to generate
this list: "ls *.m4".  If you want, I can edit the patch and make it use
$(wildcard) before pushing it.

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-30 20:00       ` Sergio Durigan Junior
@ 2018-08-31  7:59         ` Joel Brobecker
  2018-08-31 16:02           ` Sergio Durigan Junior
  2018-08-31 11:21         ` Pedro Alves
  1 sibling, 1 reply; 28+ messages in thread
From: Joel Brobecker @ 2018-08-31  7:59 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: Simon Marchi, GDB Patches, Pedro Alves, Tom Tromey

> > This looks good to me, the set of m4 files listed here matches the
> > list of actual m4 files in import/m4.  Follow-up question, could we
> > use $(wildcard ...) instead of listing them by hand?
> 
> Yeah, I think that could work.  That's basically what I did to generate
> this list: "ls *.m4".  If you want, I can edit the patch and make it use
> $(wildcard) before pushing it.

I would push the patch as is for now, since it is a necessary
improvement on its own that doesn't really make the next step
any more difficult than before; and then, if you are willing,
work on using $(wildcard ...) as a followup.

-- 
Joel

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-30 20:00       ` Sergio Durigan Junior
  2018-08-31  7:59         ` Joel Brobecker
@ 2018-08-31 11:21         ` Pedro Alves
  2018-08-31 16:03           ` Sergio Durigan Junior
  2018-09-02 21:21           ` [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib Sergio Durigan Junior
  1 sibling, 2 replies; 28+ messages in thread
From: Pedro Alves @ 2018-08-31 11:21 UTC (permalink / raw)
  To: Sergio Durigan Junior, Simon Marchi; +Cc: GDB Patches, Tom Tromey

On 08/30/2018 09:00 PM, Sergio Durigan Junior wrote:
> On Thursday, August 30 2018, Simon Marchi wrote:
> 
>> On 2018-08-30 11:57, Sergio Durigan Junior wrote:

>>>  $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
>>>  	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
>>
>> This looks good to me, the set of m4 files listed here matches the
>> list of actual m4 files in import/m4.  Follow-up question, could we
>> use $(wildcard ...) instead of listing them by hand?
> 
> Yeah, I think that could work.  That's basically what I did to generate
> this list: "ls *.m4".  If you want, I can edit the patch and make it use
> $(wildcard) before pushing it.
> 

Really not sure that's a good idea.  We don't use $wildcard for listing .c files
either, for example, and I think for good reason.  It makes the set of files to build
dependent of what you happen to have or not have locally, instead of determined
statically.  That in general affects development, changing git branches, etc. 
Consider that GDB even links successfully if you miss including/linking some .c file
in the build, given the _initialize_foo registration mechanism.  Maybe not so much
an issue with the m4 files, but I'd think a more principle approach to automate this
would be to make the update-gnulib.sh script generate/update a Makefile fragment
file that contained the aclocal_m4_deps m4 files list, check that file into the
tree, and then gdb/gnulib/Makefile.in would source/include that fragment file.

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib to current upstream master
  2018-08-29 19:34   ` Sergio Durigan Junior
@ 2018-08-31 13:04     ` Pedro Alves
  0 siblings, 0 replies; 28+ messages in thread
From: Pedro Alves @ 2018-08-31 13:04 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: GDB Patches

On 08/29/2018 08:34 PM, Sergio Durigan Junior wrote:
> --- /tmp/gnulib1.txt	2018-08-29 15:20:56.394418711 -0400
> +++ /tmp/gnulib2.txt	2018-08-29 15:22:57.846895510 -0400
> @@ -4,13 +4,14 @@
>      alloca-opt
>      assure
>      at-internal
> +    builtin-expect
> +    c99
>    canonicalize-lgpl
>      chdir
>      chdir-long
>      cloexec
>      close
>      closedir
> -    configmake
>      d-ino
>      d-type
>    dirent
> @@ -30,6 +31,7 @@
>      fcntl
>      fcntl-h
>      fd-hook
> +    fd-safer-flag
>      fdopendir
>      filename
>      filenamecat-lgpl
> @@ -37,6 +39,7 @@
>      float
>      fnmatch
>    fnmatch-gnu
> +    fnmatch-h

We have a fnmatch.h replacement file in src/include/, and we include
fnmatch.h using quotes ("fnmatch.h").  Hopefully this won't cause weird
definition mismatches on hosts where gnulib provides a replacement.
Let's keep an eye out on that.

>      fpieee
>      fpucw
>      frexp
> @@ -51,6 +54,7 @@
>      gettext-h
>      gettimeofday
>    glob
> +    glob-h
>      hard-locale
>      include_next
>      intprops
> @@ -59,8 +63,10 @@
>      isnand-nolibm
>      isnanl-nolibm
>      largefile
> +    libc-config
>    limits-h
>      localcharset
> +    localtime-buffer
>    lstat
>      malloc-posix
>      malloca
> @@ -94,7 +100,7 @@
>      rmdir
>      same-inode
>      save-cwd
> -    secure_getenv
> +    scratch_buffer
>    setenv
>    signal-h
>      snippet/_Noreturn
> @@ -103,8 +109,10 @@
>      snippet/warn-on-use
>      ssize_t
>      stat
> +    stat-time
> +    std-gnu11

I wonder whether we should be using std-gnu11 explicitly.

>      stdbool
>      stddef
>      stdint
>      stdio
>      stdlib
> @@ -130,40 +138,36 @@
>      verify
>    wchar
>    wctype-h
> +    xalloc-oversized
> 
> 
> It doesn't seem like we're importing any important module implicity, nor
> that we stopped important anything important, but I may be wrong.
> 

Agreed, I crosschecked the list diff above against
<https://www.gnu.org/software/gnulib/MODULES.html>, following the links
in the leftmost column to check relevant module descriptions, and in some
cases looked at the sources of the modules.  Nothing big stood out to me.

>> Should we cherry pick the getcwd fix to the 8.2 branch?
> If you're proposing cherry-picking only the patch to the .m4 file under
> the gnulib/ dir, then perhaps we could.  

This, cherry-pick the getcwd fix that was applied on the gnulib tree.

> Backporting the whole gnulib
> update is not a good idea, IMHO.  But I'm sure that's not what you
> meant.

That's not what I meant.

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-31  7:59         ` Joel Brobecker
@ 2018-08-31 16:02           ` Sergio Durigan Junior
  0 siblings, 0 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-31 16:02 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Simon Marchi, GDB Patches, Pedro Alves, Tom Tromey

On Friday, August 31 2018, Joel Brobecker wrote:

>> > This looks good to me, the set of m4 files listed here matches the
>> > list of actual m4 files in import/m4.  Follow-up question, could we
>> > use $(wildcard ...) instead of listing them by hand?
>> 
>> Yeah, I think that could work.  That's basically what I did to generate
>> this list: "ls *.m4".  If you want, I can edit the patch and make it use
>> $(wildcard) before pushing it.
>
> I would push the patch as is for now, since it is a necessary
> improvement on its own that doesn't really make the next step
> any more difficult than before; and then, if you are willing,
> work on using $(wildcard ...) as a followup.

Thanks, Joel and Simon.  I pushed it now:

dab999b116b507ad431c70fab0a28074dfea29df

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps
  2018-08-31 11:21         ` Pedro Alves
@ 2018-08-31 16:03           ` Sergio Durigan Junior
  2018-09-02 21:21           ` [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib Sergio Durigan Junior
  1 sibling, 0 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-08-31 16:03 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Simon Marchi, GDB Patches, Tom Tromey

On Friday, August 31 2018, Pedro Alves wrote:

> On 08/30/2018 09:00 PM, Sergio Durigan Junior wrote:
>> On Thursday, August 30 2018, Simon Marchi wrote:
>> 
>>> On 2018-08-30 11:57, Sergio Durigan Junior wrote:
>
>>>>  $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
>>>>  	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
>>>
>>> This looks good to me, the set of m4 files listed here matches the
>>> list of actual m4 files in import/m4.  Follow-up question, could we
>>> use $(wildcard ...) instead of listing them by hand?
>> 
>> Yeah, I think that could work.  That's basically what I did to generate
>> this list: "ls *.m4".  If you want, I can edit the patch and make it use
>> $(wildcard) before pushing it.
>> 
>
> Really not sure that's a good idea.  We don't use $wildcard for listing .c files
> either, for example, and I think for good reason.  It makes the set of files to build
> dependent of what you happen to have or not have locally, instead of determined
> statically.  That in general affects development, changing git branches, etc. 
> Consider that GDB even links successfully if you miss including/linking some .c file
> in the build, given the _initialize_foo registration mechanism.

Hm, alright, that's a good point.

> Maybe not so much an issue with the m4 files, but I'd think a more
> principle approach to automate this would be to make the
> update-gnulib.sh script generate/update a Makefile fragment file that
> contained the aclocal_m4_deps m4 files list, check that file into the
> tree, and then gdb/gnulib/Makefile.in would source/include that
> fragment file.

Yeah, that works as well.  I'll work on a patch and submit it soon.

Thanks,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib
  2018-08-31 11:21         ` Pedro Alves
  2018-08-31 16:03           ` Sergio Durigan Junior
@ 2018-09-02 21:21           ` Sergio Durigan Junior
  2018-09-03 11:15             ` Pedro Alves
  1 sibling, 1 reply; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-09-02 21:21 UTC (permalink / raw)
  To: GDB Patches; +Cc: Pedro Alves, Tom Tromey, Simon Marchi, Sergio Durigan Junior

When we update gnulib using our "update-gnulib.sh" tool, it doesn't
automatically update the list of M4 files present at
gnulib/Makefile.in:aclocal_m4_deps.  This patch extends the tool to do
that.  It also puts "aclocal_m4_deps" in its own file (a Makefile
fragment), so that it's easier to update it programatically.

Tested by generating the file and diff'ing the results against the
current version of "aclocal_m4_deps".

gdb/ChangeLog:
2018-09-02  Sergio Durigan Junior  <sergiodj@redhat.com>
	    Pedro Alves  <palves@redhat.com>

	* gnulib/Makefile.in (aclocal_m4_deps): Move to
	"aclocal-m4-deps.mk".  Include file here.
	* gnulib/aclocal-m4-deps.mk: New file.
	* gnulib/update-gnulib.sh: Automatically update
	"aclocal-m4-deps.mk".
---
 gdb/gnulib/Makefile.in        | 138 +---------------------------------
 gdb/gnulib/aclocal-m4-deps.mk | 136 +++++++++++++++++++++++++++++++++
 gdb/gnulib/update-gnulib.sh   |   6 ++
 3 files changed, 144 insertions(+), 136 deletions(-)
 create mode 100644 gdb/gnulib/aclocal-m4-deps.mk

diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in
index 1602da54b6..4aa8ee51b7 100644
--- a/gdb/gnulib/Makefile.in
+++ b/gdb/gnulib/Makefile.in
@@ -205,142 +205,8 @@ config.status: $(srcdir)/configure
 
 ACLOCAL = aclocal
 ACLOCAL_AMFLAGS = -I import/m4 -I ../../config
-aclocal_m4_deps = \
-	configure.ac \
-	import/m4/flexmember.m4 \
-	import/m4/eealloc.m4 \
-	import/m4/mkdir.m4 \
-	import/m4/close.m4 \
-	import/m4/unistd-safer.m4 \
-	import/m4/inttypes-pri.m4 \
-	import/m4/chdir-long.m4 \
-	import/m4/gnulib-common.m4 \
-	import/m4/readdir.m4 \
-	import/m4/stdlib_h.m4 \
-	import/m4/getlogin_r.m4 \
-	import/m4/warn-on-use.m4 \
-	import/m4/getdtablesize.m4 \
-	import/m4/rewinddir.m4 \
-	import/m4/string_h.m4 \
-	import/m4/closedir.m4 \
-	import/m4/canonicalize.m4 \
-	import/m4/stdio_h.m4 \
-	import/m4/fdopendir.m4 \
-	import/m4/getcwd-abort-bug.m4 \
-	import/m4/alloca.m4 \
-	import/m4/strstr.m4 \
-	import/m4/stat-time.m4 \
-	import/m4/builtin-expect.m4 \
-	import/m4/rawmemchr.m4 \
-	import/m4/msvc-nothrow.m4 \
-	import/m4/absolute-header.m4 \
-	import/m4/isnanl.m4 \
-	import/m4/stddef_h.m4 \
-	import/m4/gnulib-tool.m4 \
-	import/m4/realloc.m4 \
-	import/m4/d-type.m4 \
-	import/m4/frexp.m4 \
-	import/m4/getcwd-path-max.m4 \
-	import/m4/dup2.m4 \
-	import/m4/strtok_r.m4 \
-	import/m4/exponentd.m4 \
-	import/m4/std-gnu11.m4 \
-	import/m4/locale-ja.m4 \
-	import/m4/gettimeofday.m4 \
-	import/m4/time_h.m4 \
-	import/m4/malloc.m4 \
-	import/m4/fnmatch_h.m4 \
-	import/m4/codeset.m4 \
-	import/m4/getcwd.m4 \
-	import/m4/readlink.m4 \
-	import/m4/locale-zh.m4 \
-	import/m4/stdint.m4 \
-	import/m4/memrchr.m4 \
-	import/m4/onceonly.m4 \
-	import/m4/pathmax.m4 \
-	import/m4/rename.m4 \
-	import/m4/rmdir.m4 \
-	import/m4/dup.m4 \
-	import/m4/errno_h.m4 \
-	import/m4/mbrtowc.m4 \
-	import/m4/environ.m4 \
-	import/m4/wchar_h.m4 \
-	import/m4/strchrnul.m4 \
-	import/m4/fcntl_h.m4 \
-	import/m4/getpagesize.m4 \
-	import/m4/largefile.m4 \
-	import/m4/openat.m4 \
-	import/m4/save-cwd.m4 \
-	import/m4/stat.m4 \
-	import/m4/include_next.m4 \
-	import/m4/mmap-anon.m4 \
-	import/m4/mode_t.m4 \
-	import/m4/exponentl.m4 \
-	import/m4/sys_types_h.m4 \
-	import/m4/fcntl-o.m4 \
-	import/m4/stdbool.m4 \
-	import/m4/float_h.m4 \
-	import/m4/msvc-inval.m4 \
-	import/m4/wctype_h.m4 \
-	import/m4/gnulib-cache.m4 \
-	import/m4/mbsrtowcs.m4 \
-	import/m4/limits-h.m4 \
-	import/m4/locale-fr.m4 \
-	import/m4/fstatat.m4 \
-	import/m4/inttypes.m4 \
-	import/m4/memchr.m4 \
-	import/m4/glob.m4 \
-	import/m4/fstat.m4 \
-	import/m4/sys_stat_h.m4 \
-	import/m4/off_t.m4 \
-	import/m4/strdup.m4 \
-	import/m4/ssize_t.m4 \
-	import/m4/math_h.m4 \
-	import/m4/unistd_h.m4 \
-	import/m4/fpieee.m4 \
-	import/m4/mempcpy.m4 \
-	import/m4/wint_t.m4 \
-	import/m4/d-ino.m4 \
-	import/m4/setenv.m4 \
-	import/m4/open-cloexec.m4 \
-	import/m4/longlong.m4 \
-	import/m4/multiarch.m4 \
-	import/m4/filenamecat.m4 \
-	import/m4/gnulib-comp.m4 \
-	import/m4/mkstemp.m4 \
-	import/m4/dirfd.m4 \
-	import/m4/getlogin.m4 \
-	import/m4/signal_h.m4 \
-	import/m4/sys_socket_h.m4 \
-	import/m4/dirname.m4 \
-	import/m4/00gnulib.m4 \
-	import/m4/dirent_h.m4 \
-	import/m4/opendir.m4 \
-	import/m4/error.m4 \
-	import/m4/extensions.m4 \
-	import/m4/fchdir.m4 \
-	import/m4/mbsinit.m4 \
-	import/m4/__inline.m4 \
-	import/m4/extern-inline.m4 \
-	import/m4/fnmatch.m4 \
-	import/m4/lstat.m4 \
-	import/m4/nocrash.m4 \
-	import/m4/sys_time_h.m4 \
-	import/m4/localcharset.m4 \
-	import/m4/open.m4 \
-	import/m4/localtime-buffer.m4 \
-	import/m4/getprogname.m4 \
-	import/m4/wchar_t.m4 \
-	import/m4/isnand.m4 \
-	import/m4/double-slash-root.m4 \
-	import/m4/malloca.m4 \
-	import/m4/fcntl.m4 \
-	import/m4/frexpl.m4 \
-	import/m4/strerror.m4 \
-	import/m4/glob_h.m4 \
-	import/m4/tempname.m4 \
-	import/m4/memmem.m4 \
-	import/m4/mbstate_t.m4
+
+include $(srcdir)/aclocal-m4-deps.mk
 
 $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
diff --git a/gdb/gnulib/aclocal-m4-deps.mk b/gdb/gnulib/aclocal-m4-deps.mk
new file mode 100644
index 0000000000..07db2ab616
--- /dev/null
+++ b/gdb/gnulib/aclocal-m4-deps.mk
@@ -0,0 +1,136 @@
+aclocal_m4_deps = \
+	configure.ac \
+	import/m4/flexmember.m4 \
+	import/m4/eealloc.m4 \
+	import/m4/mkdir.m4 \
+	import/m4/close.m4 \
+	import/m4/unistd-safer.m4 \
+	import/m4/inttypes-pri.m4 \
+	import/m4/chdir-long.m4 \
+	import/m4/gnulib-common.m4 \
+	import/m4/readdir.m4 \
+	import/m4/stdlib_h.m4 \
+	import/m4/getlogin_r.m4 \
+	import/m4/warn-on-use.m4 \
+	import/m4/getdtablesize.m4 \
+	import/m4/rewinddir.m4 \
+	import/m4/string_h.m4 \
+	import/m4/closedir.m4 \
+	import/m4/canonicalize.m4 \
+	import/m4/stdio_h.m4 \
+	import/m4/fdopendir.m4 \
+	import/m4/getcwd-abort-bug.m4 \
+	import/m4/alloca.m4 \
+	import/m4/strstr.m4 \
+	import/m4/stat-time.m4 \
+	import/m4/builtin-expect.m4 \
+	import/m4/rawmemchr.m4 \
+	import/m4/msvc-nothrow.m4 \
+	import/m4/absolute-header.m4 \
+	import/m4/isnanl.m4 \
+	import/m4/stddef_h.m4 \
+	import/m4/gnulib-tool.m4 \
+	import/m4/realloc.m4 \
+	import/m4/d-type.m4 \
+	import/m4/frexp.m4 \
+	import/m4/getcwd-path-max.m4 \
+	import/m4/dup2.m4 \
+	import/m4/strtok_r.m4 \
+	import/m4/exponentd.m4 \
+	import/m4/std-gnu11.m4 \
+	import/m4/locale-ja.m4 \
+	import/m4/gettimeofday.m4 \
+	import/m4/time_h.m4 \
+	import/m4/malloc.m4 \
+	import/m4/fnmatch_h.m4 \
+	import/m4/codeset.m4 \
+	import/m4/getcwd.m4 \
+	import/m4/readlink.m4 \
+	import/m4/locale-zh.m4 \
+	import/m4/stdint.m4 \
+	import/m4/memrchr.m4 \
+	import/m4/onceonly.m4 \
+	import/m4/pathmax.m4 \
+	import/m4/rename.m4 \
+	import/m4/rmdir.m4 \
+	import/m4/dup.m4 \
+	import/m4/errno_h.m4 \
+	import/m4/mbrtowc.m4 \
+	import/m4/environ.m4 \
+	import/m4/wchar_h.m4 \
+	import/m4/strchrnul.m4 \
+	import/m4/fcntl_h.m4 \
+	import/m4/getpagesize.m4 \
+	import/m4/largefile.m4 \
+	import/m4/openat.m4 \
+	import/m4/save-cwd.m4 \
+	import/m4/stat.m4 \
+	import/m4/include_next.m4 \
+	import/m4/mmap-anon.m4 \
+	import/m4/mode_t.m4 \
+	import/m4/exponentl.m4 \
+	import/m4/sys_types_h.m4 \
+	import/m4/fcntl-o.m4 \
+	import/m4/stdbool.m4 \
+	import/m4/float_h.m4 \
+	import/m4/msvc-inval.m4 \
+	import/m4/wctype_h.m4 \
+	import/m4/gnulib-cache.m4 \
+	import/m4/mbsrtowcs.m4 \
+	import/m4/limits-h.m4 \
+	import/m4/locale-fr.m4 \
+	import/m4/fstatat.m4 \
+	import/m4/inttypes.m4 \
+	import/m4/memchr.m4 \
+	import/m4/glob.m4 \
+	import/m4/fstat.m4 \
+	import/m4/sys_stat_h.m4 \
+	import/m4/off_t.m4 \
+	import/m4/strdup.m4 \
+	import/m4/ssize_t.m4 \
+	import/m4/math_h.m4 \
+	import/m4/unistd_h.m4 \
+	import/m4/fpieee.m4 \
+	import/m4/mempcpy.m4 \
+	import/m4/wint_t.m4 \
+	import/m4/d-ino.m4 \
+	import/m4/setenv.m4 \
+	import/m4/open-cloexec.m4 \
+	import/m4/longlong.m4 \
+	import/m4/multiarch.m4 \
+	import/m4/filenamecat.m4 \
+	import/m4/gnulib-comp.m4 \
+	import/m4/mkstemp.m4 \
+	import/m4/dirfd.m4 \
+	import/m4/getlogin.m4 \
+	import/m4/signal_h.m4 \
+	import/m4/sys_socket_h.m4 \
+	import/m4/dirname.m4 \
+	import/m4/00gnulib.m4 \
+	import/m4/dirent_h.m4 \
+	import/m4/opendir.m4 \
+	import/m4/error.m4 \
+	import/m4/extensions.m4 \
+	import/m4/fchdir.m4 \
+	import/m4/mbsinit.m4 \
+	import/m4/__inline.m4 \
+	import/m4/extern-inline.m4 \
+	import/m4/fnmatch.m4 \
+	import/m4/lstat.m4 \
+	import/m4/nocrash.m4 \
+	import/m4/sys_time_h.m4 \
+	import/m4/localcharset.m4 \
+	import/m4/open.m4 \
+	import/m4/localtime-buffer.m4 \
+	import/m4/getprogname.m4 \
+	import/m4/wchar_t.m4 \
+	import/m4/isnand.m4 \
+	import/m4/double-slash-root.m4 \
+	import/m4/malloca.m4 \
+	import/m4/fcntl.m4 \
+	import/m4/frexpl.m4 \
+	import/m4/strerror.m4 \
+	import/m4/glob_h.m4 \
+	import/m4/tempname.m4 \
+	import/m4/memmem.m4 \
+	import/m4/mbstate_t.m4
diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
index 3dcafeb3e6..6c10c8a8c4 100755
--- a/gdb/gnulib/update-gnulib.sh
+++ b/gdb/gnulib/update-gnulib.sh
@@ -167,3 +167,9 @@ if [ $? -ne 0 ]; then
    exit 1
 fi
 
+# Update aclocal-m4-deps.mk
+cat > aclocal-m4-deps.mk <<EOF
+aclocal_m4_deps = \\
+	configure.ac \\
+$(find import/m4 -type f -name "*.m4" | sed 's/^/\t/; s/$/ \\/; $s/ \\//g')
+EOF
-- 
2.17.1

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

* Re: [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib
  2018-09-02 21:21           ` [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib Sergio Durigan Junior
@ 2018-09-03 11:15             ` Pedro Alves
  2018-09-03 21:18               ` Sergio Durigan Junior
  0 siblings, 1 reply; 28+ messages in thread
From: Pedro Alves @ 2018-09-03 11:15 UTC (permalink / raw)
  To: Sergio Durigan Junior, GDB Patches; +Cc: Tom Tromey, Simon Marchi

On 09/02/2018 10:21 PM, Sergio Durigan Junior wrote:
> When we update gnulib using our "update-gnulib.sh" tool, it doesn't
> automatically update the list of M4 files present at
> gnulib/Makefile.in:aclocal_m4_deps.  This patch extends the tool to do
> that.  It also puts "aclocal_m4_deps" in its own file (a Makefile
> fragment), so that it's easier to update it programatically.
> 
> Tested by generating the file and diff'ing the results against the
> current version of "aclocal_m4_deps".

Thanks for doing this.

Three remarks below.

> diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
> index 3dcafeb3e6..6c10c8a8c4 100755
> --- a/gdb/gnulib/update-gnulib.sh
> +++ b/gdb/gnulib/update-gnulib.sh
> @@ -167,3 +167,9 @@ if [ $? -ne 0 ]; then
>     exit 1
>  fi
>  
> +# Update aclocal-m4-deps.mk
> +cat > aclocal-m4-deps.mk <<EOF
> +aclocal_m4_deps = \\
> +	configure.ac \\
> +$(find import/m4 -type f -name "*.m4" | sed 's/^/\t/; s/$/ \\/; $s/ \\//g')
> +EOF

#1 

I'd find it a little better to make it so that the new file only includes
the M4 files, and leave adding configure.ac to Makefile.in.  I.e., put
the m4 files list in a different variable here and them do something like:

 # Fill in $m4_files
 include $(srcdir)/m4-files.mk

 aclocal_m4_deps = configure.ac $m4_files

in Makefile.in, or, tweak the rule to include configure.ac directly:

  $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ configure.ac $(m4_files)


#2 

I think it'll be good practice to generate the file to a temporary
name, and then use move-if-change to atomically update the destination,
in case someone Ctrl-Cs just while the script is halfway generated.

I.e.:

 cat > foo.mk.tmp <<EOF
 .....
 $(srcdir)/..../move-if-change foo.mk.tmp foo.mk


#3 

Could you also make the script emit a header in the new file that
reads:

  # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:

That would make emacs and vi open the file in read-only mode.

Thanks,
Pedro Alves

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

* Re: [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib
  2018-09-03 11:15             ` Pedro Alves
@ 2018-09-03 21:18               ` Sergio Durigan Junior
  2018-09-04 11:10                 ` Pedro Alves
  0 siblings, 1 reply; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-09-03 21:18 UTC (permalink / raw)
  To: Pedro Alves; +Cc: GDB Patches, Tom Tromey, Simon Marchi

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

On Monday, September 03 2018, Pedro Alves wrote:

> On 09/02/2018 10:21 PM, Sergio Durigan Junior wrote:
>> When we update gnulib using our "update-gnulib.sh" tool, it doesn't
>> automatically update the list of M4 files present at
>> gnulib/Makefile.in:aclocal_m4_deps.  This patch extends the tool to do
>> that.  It also puts "aclocal_m4_deps" in its own file (a Makefile
>> fragment), so that it's easier to update it programatically.
>> 
>> Tested by generating the file and diff'ing the results against the
>> current version of "aclocal_m4_deps".
>
> Thanks for doing this.

Thanks for the review.

> Three remarks below.
>
>> diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
>> index 3dcafeb3e6..6c10c8a8c4 100755
>> --- a/gdb/gnulib/update-gnulib.sh
>> +++ b/gdb/gnulib/update-gnulib.sh
>> @@ -167,3 +167,9 @@ if [ $? -ne 0 ]; then
>>     exit 1
>>  fi
>>  
>> +# Update aclocal-m4-deps.mk
>> +cat > aclocal-m4-deps.mk <<EOF
>> +aclocal_m4_deps = \\
>> +	configure.ac \\
>> +$(find import/m4 -type f -name "*.m4" | sed 's/^/\t/; s/$/ \\/; $s/ \\//g')
>> +EOF
>
> #1 
>
> I'd find it a little better to make it so that the new file only includes
> the M4 files, and leave adding configure.ac to Makefile.in.  I.e., put
> the m4 files list in a different variable here and them do something like:
>
>  # Fill in $m4_files
>  include $(srcdir)/m4-files.mk
>
>  aclocal_m4_deps = configure.ac $m4_files
>
> in Makefile.in, or, tweak the rule to include configure.ac directly:
>
>   $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ configure.ac $(m4_files)

Done.

> I think it'll be good practice to generate the file to a temporary
> name, and then use move-if-change to atomically update the destination,
> in case someone Ctrl-Cs just while the script is halfway generated.
>
> I.e.:
>
>  cat > foo.mk.tmp <<EOF
>  .....
>  $(srcdir)/..../move-if-change foo.mk.tmp foo.mk

Done.

> #3 
>
> Could you also make the script emit a header in the new file that
> reads:
>
>   # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
>
> That would make emacs and vi open the file in read-only mode.

Done.

Here's the updated version of the patch.

Thanks,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Automatically-update-aclocal_m4_deps-when-updating-g.patch --]
[-- Type: text/x-patch, Size: 9833 bytes --]

From 36d5af6256f788f2d6cc3ff4238d24cd2a52bdbc Mon Sep 17 00:00:00 2001
From: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Sun, 2 Sep 2018 17:11:46 -0400
Subject: [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib

When we update gnulib using our "update-gnulib.sh" tool, it doesn't
automatically update the list of M4 files present at
gnulib/Makefile.in:aclocal_m4_deps.  This patch extends the tool to do
that.  It also puts "aclocal_m4_deps" in its own file (a Makefile
fragment), so that it's easier to update it programatically.

Tested by generating the file and diff'ing the results against the
current version of "aclocal_m4_deps".

gdb/ChangeLog:
2018-09-02  Sergio Durigan Junior  <sergiodj@redhat.com>
	    Pedro Alves  <palves@redhat.com>

	* gnulib/Makefile.in (aclocal_m4_deps): Move to
	"aclocal-m4-deps.mk".  Include file here.
	$(srcdir)/aclocal.m4: Add "configure.ac".
	* gnulib/aclocal-m4-deps.mk: New file.
	* gnulib/update-gnulib.sh: Automatically update
	"aclocal-m4-deps.mk".
---
 gdb/gnulib/Makefile.in        | 142 +---------------------------------
 gdb/gnulib/aclocal-m4-deps.mk | 136 ++++++++++++++++++++++++++++++++
 gdb/gnulib/update-gnulib.sh   |  10 +++
 3 files changed, 150 insertions(+), 138 deletions(-)
 create mode 100644 gdb/gnulib/aclocal-m4-deps.mk

diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in
index 1602da54b6..df0e611341 100644
--- a/gdb/gnulib/Makefile.in
+++ b/gdb/gnulib/Makefile.in
@@ -205,144 +205,10 @@ config.status: $(srcdir)/configure
 
 ACLOCAL = aclocal
 ACLOCAL_AMFLAGS = -I import/m4 -I ../../config
-aclocal_m4_deps = \
-	configure.ac \
-	import/m4/flexmember.m4 \
-	import/m4/eealloc.m4 \
-	import/m4/mkdir.m4 \
-	import/m4/close.m4 \
-	import/m4/unistd-safer.m4 \
-	import/m4/inttypes-pri.m4 \
-	import/m4/chdir-long.m4 \
-	import/m4/gnulib-common.m4 \
-	import/m4/readdir.m4 \
-	import/m4/stdlib_h.m4 \
-	import/m4/getlogin_r.m4 \
-	import/m4/warn-on-use.m4 \
-	import/m4/getdtablesize.m4 \
-	import/m4/rewinddir.m4 \
-	import/m4/string_h.m4 \
-	import/m4/closedir.m4 \
-	import/m4/canonicalize.m4 \
-	import/m4/stdio_h.m4 \
-	import/m4/fdopendir.m4 \
-	import/m4/getcwd-abort-bug.m4 \
-	import/m4/alloca.m4 \
-	import/m4/strstr.m4 \
-	import/m4/stat-time.m4 \
-	import/m4/builtin-expect.m4 \
-	import/m4/rawmemchr.m4 \
-	import/m4/msvc-nothrow.m4 \
-	import/m4/absolute-header.m4 \
-	import/m4/isnanl.m4 \
-	import/m4/stddef_h.m4 \
-	import/m4/gnulib-tool.m4 \
-	import/m4/realloc.m4 \
-	import/m4/d-type.m4 \
-	import/m4/frexp.m4 \
-	import/m4/getcwd-path-max.m4 \
-	import/m4/dup2.m4 \
-	import/m4/strtok_r.m4 \
-	import/m4/exponentd.m4 \
-	import/m4/std-gnu11.m4 \
-	import/m4/locale-ja.m4 \
-	import/m4/gettimeofday.m4 \
-	import/m4/time_h.m4 \
-	import/m4/malloc.m4 \
-	import/m4/fnmatch_h.m4 \
-	import/m4/codeset.m4 \
-	import/m4/getcwd.m4 \
-	import/m4/readlink.m4 \
-	import/m4/locale-zh.m4 \
-	import/m4/stdint.m4 \
-	import/m4/memrchr.m4 \
-	import/m4/onceonly.m4 \
-	import/m4/pathmax.m4 \
-	import/m4/rename.m4 \
-	import/m4/rmdir.m4 \
-	import/m4/dup.m4 \
-	import/m4/errno_h.m4 \
-	import/m4/mbrtowc.m4 \
-	import/m4/environ.m4 \
-	import/m4/wchar_h.m4 \
-	import/m4/strchrnul.m4 \
-	import/m4/fcntl_h.m4 \
-	import/m4/getpagesize.m4 \
-	import/m4/largefile.m4 \
-	import/m4/openat.m4 \
-	import/m4/save-cwd.m4 \
-	import/m4/stat.m4 \
-	import/m4/include_next.m4 \
-	import/m4/mmap-anon.m4 \
-	import/m4/mode_t.m4 \
-	import/m4/exponentl.m4 \
-	import/m4/sys_types_h.m4 \
-	import/m4/fcntl-o.m4 \
-	import/m4/stdbool.m4 \
-	import/m4/float_h.m4 \
-	import/m4/msvc-inval.m4 \
-	import/m4/wctype_h.m4 \
-	import/m4/gnulib-cache.m4 \
-	import/m4/mbsrtowcs.m4 \
-	import/m4/limits-h.m4 \
-	import/m4/locale-fr.m4 \
-	import/m4/fstatat.m4 \
-	import/m4/inttypes.m4 \
-	import/m4/memchr.m4 \
-	import/m4/glob.m4 \
-	import/m4/fstat.m4 \
-	import/m4/sys_stat_h.m4 \
-	import/m4/off_t.m4 \
-	import/m4/strdup.m4 \
-	import/m4/ssize_t.m4 \
-	import/m4/math_h.m4 \
-	import/m4/unistd_h.m4 \
-	import/m4/fpieee.m4 \
-	import/m4/mempcpy.m4 \
-	import/m4/wint_t.m4 \
-	import/m4/d-ino.m4 \
-	import/m4/setenv.m4 \
-	import/m4/open-cloexec.m4 \
-	import/m4/longlong.m4 \
-	import/m4/multiarch.m4 \
-	import/m4/filenamecat.m4 \
-	import/m4/gnulib-comp.m4 \
-	import/m4/mkstemp.m4 \
-	import/m4/dirfd.m4 \
-	import/m4/getlogin.m4 \
-	import/m4/signal_h.m4 \
-	import/m4/sys_socket_h.m4 \
-	import/m4/dirname.m4 \
-	import/m4/00gnulib.m4 \
-	import/m4/dirent_h.m4 \
-	import/m4/opendir.m4 \
-	import/m4/error.m4 \
-	import/m4/extensions.m4 \
-	import/m4/fchdir.m4 \
-	import/m4/mbsinit.m4 \
-	import/m4/__inline.m4 \
-	import/m4/extern-inline.m4 \
-	import/m4/fnmatch.m4 \
-	import/m4/lstat.m4 \
-	import/m4/nocrash.m4 \
-	import/m4/sys_time_h.m4 \
-	import/m4/localcharset.m4 \
-	import/m4/open.m4 \
-	import/m4/localtime-buffer.m4 \
-	import/m4/getprogname.m4 \
-	import/m4/wchar_t.m4 \
-	import/m4/isnand.m4 \
-	import/m4/double-slash-root.m4 \
-	import/m4/malloca.m4 \
-	import/m4/fcntl.m4 \
-	import/m4/frexpl.m4 \
-	import/m4/strerror.m4 \
-	import/m4/glob_h.m4 \
-	import/m4/tempname.m4 \
-	import/m4/memmem.m4 \
-	import/m4/mbstate_t.m4
-
-$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps)
+
+include $(srcdir)/aclocal-m4-deps.mk
+
+$(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ configure.ac $(aclocal_m4_deps)
 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 
 AUTOCONF = autoconf
diff --git a/gdb/gnulib/aclocal-m4-deps.mk b/gdb/gnulib/aclocal-m4-deps.mk
new file mode 100644
index 0000000000..52d280db30
--- /dev/null
+++ b/gdb/gnulib/aclocal-m4-deps.mk
@@ -0,0 +1,136 @@
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+aclocal_m4_deps = \
+	import/m4/flexmember.m4 \
+	import/m4/eealloc.m4 \
+	import/m4/mkdir.m4 \
+	import/m4/close.m4 \
+	import/m4/unistd-safer.m4 \
+	import/m4/inttypes-pri.m4 \
+	import/m4/chdir-long.m4 \
+	import/m4/gnulib-common.m4 \
+	import/m4/readdir.m4 \
+	import/m4/stdlib_h.m4 \
+	import/m4/getlogin_r.m4 \
+	import/m4/warn-on-use.m4 \
+	import/m4/getdtablesize.m4 \
+	import/m4/rewinddir.m4 \
+	import/m4/string_h.m4 \
+	import/m4/closedir.m4 \
+	import/m4/canonicalize.m4 \
+	import/m4/stdio_h.m4 \
+	import/m4/fdopendir.m4 \
+	import/m4/getcwd-abort-bug.m4 \
+	import/m4/alloca.m4 \
+	import/m4/strstr.m4 \
+	import/m4/stat-time.m4 \
+	import/m4/builtin-expect.m4 \
+	import/m4/rawmemchr.m4 \
+	import/m4/msvc-nothrow.m4 \
+	import/m4/absolute-header.m4 \
+	import/m4/isnanl.m4 \
+	import/m4/stddef_h.m4 \
+	import/m4/gnulib-tool.m4 \
+	import/m4/realloc.m4 \
+	import/m4/d-type.m4 \
+	import/m4/frexp.m4 \
+	import/m4/getcwd-path-max.m4 \
+	import/m4/dup2.m4 \
+	import/m4/strtok_r.m4 \
+	import/m4/exponentd.m4 \
+	import/m4/std-gnu11.m4 \
+	import/m4/locale-ja.m4 \
+	import/m4/gettimeofday.m4 \
+	import/m4/time_h.m4 \
+	import/m4/malloc.m4 \
+	import/m4/fnmatch_h.m4 \
+	import/m4/codeset.m4 \
+	import/m4/getcwd.m4 \
+	import/m4/readlink.m4 \
+	import/m4/locale-zh.m4 \
+	import/m4/stdint.m4 \
+	import/m4/memrchr.m4 \
+	import/m4/onceonly.m4 \
+	import/m4/pathmax.m4 \
+	import/m4/rename.m4 \
+	import/m4/rmdir.m4 \
+	import/m4/dup.m4 \
+	import/m4/errno_h.m4 \
+	import/m4/mbrtowc.m4 \
+	import/m4/environ.m4 \
+	import/m4/wchar_h.m4 \
+	import/m4/strchrnul.m4 \
+	import/m4/fcntl_h.m4 \
+	import/m4/getpagesize.m4 \
+	import/m4/largefile.m4 \
+	import/m4/openat.m4 \
+	import/m4/save-cwd.m4 \
+	import/m4/stat.m4 \
+	import/m4/include_next.m4 \
+	import/m4/mmap-anon.m4 \
+	import/m4/mode_t.m4 \
+	import/m4/exponentl.m4 \
+	import/m4/sys_types_h.m4 \
+	import/m4/fcntl-o.m4 \
+	import/m4/stdbool.m4 \
+	import/m4/float_h.m4 \
+	import/m4/msvc-inval.m4 \
+	import/m4/wctype_h.m4 \
+	import/m4/gnulib-cache.m4 \
+	import/m4/mbsrtowcs.m4 \
+	import/m4/limits-h.m4 \
+	import/m4/locale-fr.m4 \
+	import/m4/fstatat.m4 \
+	import/m4/inttypes.m4 \
+	import/m4/memchr.m4 \
+	import/m4/glob.m4 \
+	import/m4/fstat.m4 \
+	import/m4/sys_stat_h.m4 \
+	import/m4/off_t.m4 \
+	import/m4/strdup.m4 \
+	import/m4/ssize_t.m4 \
+	import/m4/math_h.m4 \
+	import/m4/unistd_h.m4 \
+	import/m4/fpieee.m4 \
+	import/m4/mempcpy.m4 \
+	import/m4/wint_t.m4 \
+	import/m4/d-ino.m4 \
+	import/m4/setenv.m4 \
+	import/m4/open-cloexec.m4 \
+	import/m4/longlong.m4 \
+	import/m4/multiarch.m4 \
+	import/m4/filenamecat.m4 \
+	import/m4/gnulib-comp.m4 \
+	import/m4/mkstemp.m4 \
+	import/m4/dirfd.m4 \
+	import/m4/getlogin.m4 \
+	import/m4/signal_h.m4 \
+	import/m4/sys_socket_h.m4 \
+	import/m4/dirname.m4 \
+	import/m4/00gnulib.m4 \
+	import/m4/dirent_h.m4 \
+	import/m4/opendir.m4 \
+	import/m4/error.m4 \
+	import/m4/extensions.m4 \
+	import/m4/fchdir.m4 \
+	import/m4/mbsinit.m4 \
+	import/m4/__inline.m4 \
+	import/m4/extern-inline.m4 \
+	import/m4/fnmatch.m4 \
+	import/m4/lstat.m4 \
+	import/m4/nocrash.m4 \
+	import/m4/sys_time_h.m4 \
+	import/m4/localcharset.m4 \
+	import/m4/open.m4 \
+	import/m4/localtime-buffer.m4 \
+	import/m4/getprogname.m4 \
+	import/m4/wchar_t.m4 \
+	import/m4/isnand.m4 \
+	import/m4/double-slash-root.m4 \
+	import/m4/malloca.m4 \
+	import/m4/fcntl.m4 \
+	import/m4/frexpl.m4 \
+	import/m4/strerror.m4 \
+	import/m4/glob_h.m4 \
+	import/m4/tempname.m4 \
+	import/m4/memmem.m4 \
+	import/m4/mbstate_t.m4
diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
index 3dcafeb3e6..5d29e287a4 100755
--- a/gdb/gnulib/update-gnulib.sh
+++ b/gdb/gnulib/update-gnulib.sh
@@ -167,3 +167,13 @@ if [ $? -ne 0 ]; then
    exit 1
 fi
 
+# Update aclocal-m4-deps.mk
+ACLOCAL_M4_DEPS_FILE=aclocal-m4-deps.mk
+cat > ${ACLOCAL_M4_DEPS_FILE}.tmp <<EOF
+# THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
+aclocal_m4_deps = \\
+$(find import/m4 -type f -name "*.m4" | sed 's/^/\t/; s/$/ \\/; $s/ \\//g')
+EOF
+
+../../move-if-change ${ACLOCAL_M4_DEPS_FILE}.tmp ${ACLOCAL_M4_DEPS_FILE}
+rm -f ${ACLOCAL_M4_DEPS_FILE}.tmp
-- 
2.17.1


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

* Re: [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib
  2018-09-03 21:18               ` Sergio Durigan Junior
@ 2018-09-04 11:10                 ` Pedro Alves
  2018-09-04 17:58                   ` Sergio Durigan Junior
  0 siblings, 1 reply; 28+ messages in thread
From: Pedro Alves @ 2018-09-04 11:10 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: GDB Patches, Tom Tromey, Simon Marchi

OK.

Thanks,
Pedro Alves
On 09/03/2018 10:17 PM, Sergio Durigan Junior wrote:
> On Monday, September 03 2018, Pedro Alves wrote:
> 
>> On 09/02/2018 10:21 PM, Sergio Durigan Junior wrote:
>>> When we update gnulib using our "update-gnulib.sh" tool, it doesn't
>>> automatically update the list of M4 files present at
>>> gnulib/Makefile.in:aclocal_m4_deps.  This patch extends the tool to do
>>> that.  It also puts "aclocal_m4_deps" in its own file (a Makefile
>>> fragment), so that it's easier to update it programatically.
>>>
>>> Tested by generating the file and diff'ing the results against the
>>> current version of "aclocal_m4_deps".
>>
>> Thanks for doing this.
> 
> Thanks for the review.
> 
>> Three remarks below.
>>
>>> diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
>>> index 3dcafeb3e6..6c10c8a8c4 100755
>>> --- a/gdb/gnulib/update-gnulib.sh
>>> +++ b/gdb/gnulib/update-gnulib.sh
>>> @@ -167,3 +167,9 @@ if [ $? -ne 0 ]; then
>>>     exit 1
>>>  fi
>>>  
>>> +# Update aclocal-m4-deps.mk
>>> +cat > aclocal-m4-deps.mk <<EOF
>>> +aclocal_m4_deps = \\
>>> +	configure.ac \\
>>> +$(find import/m4 -type f -name "*.m4" | sed 's/^/\t/; s/$/ \\/; $s/ \\//g')
>>> +EOF
>>
>> #1 
>>
>> I'd find it a little better to make it so that the new file only includes
>> the M4 files, and leave adding configure.ac to Makefile.in.  I.e., put
>> the m4 files list in a different variable here and them do something like:
>>
>>  # Fill in $m4_files
>>  include $(srcdir)/m4-files.mk
>>
>>  aclocal_m4_deps = configure.ac $m4_files
>>
>> in Makefile.in, or, tweak the rule to include configure.ac directly:
>>
>>   $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ configure.ac $(m4_files)
> 
> Done.
> 
>> I think it'll be good practice to generate the file to a temporary
>> name, and then use move-if-change to atomically update the destination,
>> in case someone Ctrl-Cs just while the script is halfway generated.
>>
>> I.e.:
>>
>>  cat > foo.mk.tmp <<EOF
>>  .....
>>  $(srcdir)/..../move-if-change foo.mk.tmp foo.mk
> 
> Done.
> 
>> #3 
>>
>> Could you also make the script emit a header in the new file that
>> reads:
>>
>>   # THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi :set ro:
>>
>> That would make emacs and vi open the file in read-only mode.
> 
> Done.
> 
> Here's the updated version of the patch.
> 
> Thanks,
> 


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

* Re: [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib
  2018-09-04 11:10                 ` Pedro Alves
@ 2018-09-04 17:58                   ` Sergio Durigan Junior
  0 siblings, 0 replies; 28+ messages in thread
From: Sergio Durigan Junior @ 2018-09-04 17:58 UTC (permalink / raw)
  To: Pedro Alves; +Cc: GDB Patches, Tom Tromey, Simon Marchi

On Tuesday, September 04 2018, Pedro Alves wrote:

> OK.

Thanks, pushed:

fcc9b044b7f563023633a9964810e76f4cde40d4

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 17:10         ` Pedro Alves
@ 2016-10-12 17:31           ` Eli Zaretskii
  0 siblings, 0 replies; 28+ messages in thread
From: Eli Zaretskii @ 2016-10-12 17:31 UTC (permalink / raw)
  To: Pedro Alves; +Cc: qiyaoltc, gdb-patches

> Cc: qiyaoltc@gmail.com, gdb-patches@sourceware.org
> From: Pedro Alves <palves@redhat.com>
> Date: Wed, 12 Oct 2016 18:10:43 +0100
> 
> > I agree.  If nothing else, it solves the 2 problems I had with the
> > recent MinGW runtime when building GDB 7.12, see
> > 
> >   https://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00007.html
> 
> For 7.12, might it be a better idea to cherry pick your fix to
> the branch though?  The update is not that large, but there's
> still a good amount of churn all around.

That could be done, yes.

Which reminds me: the other part, which is is here:

  https://sourceware.org/ml/gdb-patches/2016-10/msg00193.html

still awaits approval...

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 16:56       ` Eli Zaretskii
@ 2016-10-12 17:10         ` Pedro Alves
  2016-10-12 17:31           ` Eli Zaretskii
  0 siblings, 1 reply; 28+ messages in thread
From: Pedro Alves @ 2016-10-12 17:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: qiyaoltc, gdb-patches

On 10/12/2016 05:55 PM, Eli Zaretskii wrote:
>> Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
>> From: Pedro Alves <palves@redhat.com>
>> Date: Wed, 12 Oct 2016 17:23:04 +0100
>>
>> I think now's the perfect time to update, since we're early in
>> the release cycle.
> 
> I agree.  If nothing else, it solves the 2 problems I had with the
> recent MinGW runtime when building GDB 7.12, see
> 
>   https://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00007.html

For 7.12, might it be a better idea to cherry pick your fix to
the branch though?  The update is not that large, but there's
still a good amount of churn all around.

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 16:23     ` Pedro Alves
@ 2016-10-12 16:56       ` Eli Zaretskii
  2016-10-12 17:10         ` Pedro Alves
  0 siblings, 1 reply; 28+ messages in thread
From: Eli Zaretskii @ 2016-10-12 16:56 UTC (permalink / raw)
  To: Pedro Alves; +Cc: qiyaoltc, gdb-patches

> Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
> From: Pedro Alves <palves@redhat.com>
> Date: Wed, 12 Oct 2016 17:23:04 +0100
> 
> I think now's the perfect time to update, since we're early in
> the release cycle.

I agree.  If nothing else, it solves the 2 problems I had with the
recent MinGW runtime when building GDB 7.12, see

  https://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00007.html

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 16:12   ` Pedro Alves
  2016-10-12 16:23     ` Pedro Alves
@ 2016-10-12 16:30     ` Yao Qi
  1 sibling, 0 replies; 28+ messages in thread
From: Yao Qi @ 2016-10-12 16:30 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

On Wed, Oct 12, 2016 at 5:12 PM, Pedro Alves <palves@redhat.com> wrote:
> On 10/12/2016 05:09 PM, Yao Qi wrote:
>> On Wed, Oct 12, 2016 at 4:17 PM, Pedro Alves <palves@redhat.com> wrote:
>>> I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
>>> tripped on a build error:
>>
>> GDB source requires C++03 compiler, but it should be built with recent
>> compiler with recent C++ standard.
>>
>> Patch is good to me, but let us leave this patch here for one day or two
>> for the purpose of collecting comments or objections.
>
> Related to C++11?  That was that motivated the update this time,

Yes,  C++ discussion in the other thread is quite hot.  I assume people
are interested in C++11 related discussion now.

> but we should routinely update gnulib _anyway_.  This allows reverting:
>
>  commit e063da67902e2ba03cfc6f7381694f4c6a72ecf4
>  Author:     Pedro Alves <palves@redhat.com>
>  AuthorDate: Tue Nov 17 15:17:45 2015 +0000
>
>      [C++] Define __STDC_CONSTANT_MACROS / __STDC_LIMIT_MACROS for stdint.h
>
> for example, since my gnulib fix has gone into master
> upstream meanwhile.
>

Oh, indeed.  That is the extra bit to justify this patch.

-- 
Yao (齐尧)

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 16:12   ` Pedro Alves
@ 2016-10-12 16:23     ` Pedro Alves
  2016-10-12 16:56       ` Eli Zaretskii
  2016-10-12 16:30     ` Yao Qi
  1 sibling, 1 reply; 28+ messages in thread
From: Pedro Alves @ 2016-10-12 16:23 UTC (permalink / raw)
  To: Yao Qi; +Cc: gdb-patches

On 10/12/2016 05:12 PM, Pedro Alves wrote:
> On 10/12/2016 05:09 PM, Yao Qi wrote:
>> On Wed, Oct 12, 2016 at 4:17 PM, Pedro Alves <palves@redhat.com> wrote:
>>> I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
>>> tripped on a build error:
>>
>> GDB source requires C++03 compiler, but it should be built with recent
>> compiler with recent C++ standard.
>>
>> Patch is good to me, but let us leave this patch here for one day or two
>> for the purpose of collecting comments or objections.
> 
> Related to C++11?  That was that motivated the update this time,
> but we should routinely update gnulib _anyway_.

Sorry Yao, I guess that might have sounded harsh.  (I think I may
not be parsing your C++ standard comment correct.)  Thanks for looking
at the patch, BTW.

I guess what I'm trying to say is: please, anyone, if there are
objections to updating gnulib, please form them without considering
C++11.  I just mentioned that because I thought it'd be nice to
say what prompted me to look at updating gnulib today.

I think now's the perfect time to update, since we're early in
the release cycle.

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 16:09 ` Yao Qi
@ 2016-10-12 16:12   ` Pedro Alves
  2016-10-12 16:23     ` Pedro Alves
  2016-10-12 16:30     ` Yao Qi
  0 siblings, 2 replies; 28+ messages in thread
From: Pedro Alves @ 2016-10-12 16:12 UTC (permalink / raw)
  To: Yao Qi; +Cc: gdb-patches

On 10/12/2016 05:09 PM, Yao Qi wrote:
> On Wed, Oct 12, 2016 at 4:17 PM, Pedro Alves <palves@redhat.com> wrote:
>> I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
>> tripped on a build error:
> 
> GDB source requires C++03 compiler, but it should be built with recent
> compiler with recent C++ standard.
> 
> Patch is good to me, but let us leave this patch here for one day or two
> for the purpose of collecting comments or objections.

Related to C++11?  That was that motivated the update this time,
but we should routinely update gnulib _anyway_.  This allows reverting:

 commit e063da67902e2ba03cfc6f7381694f4c6a72ecf4
 Author:     Pedro Alves <palves@redhat.com>
 AuthorDate: Tue Nov 17 15:17:45 2015 +0000

     [C++] Define __STDC_CONSTANT_MACROS / __STDC_LIMIT_MACROS for stdint.h

for example, since my gnulib fix has gone into master
upstream meanwhile.

Thanks,
Pedro Alves

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

* Re: [PATCH] Update gnulib to current upstream master
  2016-10-12 15:17 [PATCH] Update gnulib to current upstream master Pedro Alves
@ 2016-10-12 16:09 ` Yao Qi
  2016-10-12 16:12   ` Pedro Alves
  0 siblings, 1 reply; 28+ messages in thread
From: Yao Qi @ 2016-10-12 16:09 UTC (permalink / raw)
  To: Pedro Alves; +Cc: gdb-patches

On Wed, Oct 12, 2016 at 4:17 PM, Pedro Alves <palves@redhat.com> wrote:
> I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
> tripped on a build error:

GDB source requires C++03 compiler, but it should be built with recent
compiler with recent C++ standard.

Patch is good to me, but let us leave this patch here for one day or two
for the purpose of collecting comments or objections.

-- 
Yao (齐尧)

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

* [PATCH] Update gnulib to current upstream master
@ 2016-10-12 15:17 Pedro Alves
  2016-10-12 16:09 ` Yao Qi
  0 siblings, 1 reply; 28+ messages in thread
From: Pedro Alves @ 2016-10-12 15:17 UTC (permalink / raw)
  To: gdb-patches

I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
tripped on a build error:

  In file included from build-gnulib/import/stdio.h:53:0,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/common/common-defs.h:31,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/defs.h:28,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/armobsd-tdep.c:20:
  build-gnulib/import/stddef.h:104:3: error: conflicting declaration ‘typedef union max_align_t max_align_t’
  In file included from build-gnulib/import/stddef.h:55:0,
		   from build-gnulib/import/stdio.h:53,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/common/common-defs.h:31,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/defs.h:28,
		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/armobsd-tdep.c:20:
  /opt/gcc-4.7/lib/gcc/x86_64-unknown-linux-gnu/4.7.4/include/stddef.h:426:3: error: ‘max_align_t’ has a previous declaration as ‘typedef struct max_align_t max_align_t’

Updating gnulib to current master fixes it, since it brings in this
fix:

 http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00000.html

Our last update was in August 2015.  This doesn't bring in much added
baggage, it's mostly bug fixes.  It pulled in the "limits-h" module as
automatic dependency, and given that looks potentially useful I added
it to the set of modules we require.

Tested on x86_64 Fedora 23, with g++ 4.7 and g++ 5.3, native and gdbserver.

gdb/ChangeLog:
2016-10-12  Pedro Alves  <palves@redhat.com>

	* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
	2692e23a48e21f6daa029e8af9f1a143b7532f47.
	* gnulib/configure, gnulib/config.in, gnulib/aclocal.m4:
	Regenerate.
	* gnulib/import/Makefile: Update.
	* gnulib/import/alloca: Update.
	* gnulib/import/basename-lgpl: Update.
	* gnulib/import/canonicalize-lgpl: Update.
	* gnulib/import/config: Update.
	* gnulib/import/dirent: Update.
	* gnulib/import/dirfd: Update.
	* gnulib/import/dirname-lgpl: Update.
	* gnulib/import/dirname.h: Update.
	* gnulib/import/dosname.h: Update.
	* gnulib/import/errno: Update.
	* gnulib/import/extra/snippet/arg-nonnull.h: Update.
	* gnulib/import/extra/snippet/c++defs.h: Update.
	* gnulib/import/extra/snippet/warn-on-use.h: Update.
	* gnulib/import/extra/update-copyright: Update.
	* gnulib/import/flexmember.h: Update.
	* gnulib/import/float+.h: Update.
	* gnulib/import/float: Update.
	* gnulib/import/float: Update.
	* gnulib/import/fnmatch: Update.
	* gnulib/import/fnmatch: Update.
	* gnulib/import/fnmatch_loop: Update.
	* gnulib/import/fpucw.h: Update.
	* gnulib/import/frexp: Update.
	* gnulib/import/frexpl: Update.
	* gnulib/import/gettimeofday: Update.
	* gnulib/import/hard-locale: Update.
	* gnulib/import/hard-locale.h: Update.
	* gnulib/import/inttypes: Update.
	* gnulib/import/isnan: Update.
	* gnulib/import/isnand-nolibm.h: Update.
	* gnulib/import/isnand: Update.
	* gnulib/import/isnanl-nolibm.h: Update.
	* gnulib/import/isnanl: Update.
	* gnulib/import/itold: Update.
	* gnulib/import/limits: Update.
	* gnulib/import/localcharset: Update.
	* gnulib/import/localcharset.h: Update.
	* gnulib/import/lstat: Update.
	* gnulib/import/m4/00gnulib: Update.
	* gnulib/import/m4/absolute-header: Update.
	* gnulib/import/m4/alloca: Update.
	* gnulib/import/m4/canonicalize: Update.
	* gnulib/import/m4/codeset: Update.
	* gnulib/import/m4/configmake: Update.
	* gnulib/import/m4/dirent_h: Update.
	* gnulib/import/m4/dirfd: Update.
	* gnulib/import/m4/dirname: Update.
	* gnulib/import/m4/double-slash-root: Update.
	* gnulib/import/m4/eealloc: Update.
	* gnulib/import/m4/errno_h: Update.
	* gnulib/import/m4/exponentd: Update.
	* gnulib/import/m4/exponentl: Update.
	* gnulib/import/m4/extensions: Update.
	* gnulib/import/m4/extern-inline: Update.
	* gnulib/import/m4/fcntl-o: Update.
	* gnulib/import/m4/flexmember: Update.
	* gnulib/import/m4/float_h: Update.
	* gnulib/import/m4/fnmatch: Update.
	* gnulib/import/m4/fpieee: Update.
	* gnulib/import/m4/frexp: Update.
	* gnulib/import/m4/frexpl: Update.
	* gnulib/import/m4/gettimeofday: Update.
	* gnulib/import/m4/glibc21: Update.
	* gnulib/import/m4/gnulib-cache: Update.
	* gnulib/import/m4/gnulib-common: Update.
	* gnulib/import/m4/gnulib-comp: Update.
	* gnulib/import/m4/gnulib-tool: Update.
	* gnulib/import/m4/hard-locale: Update.
	* gnulib/import/m4/include_next: Update.
	* gnulib/import/m4/inttypes-pri: Update.
	* gnulib/import/m4/inttypes: Update.
	* gnulib/import/m4/isnand: Update.
	* gnulib/import/m4/isnanl: Update.
	* gnulib/import/m4/largefile: Update.
	* gnulib/import/m4/limits-h: Update.
	* gnulib/import/m4/localcharset: Update.
	* gnulib/import/m4/locale-fr: Update.
	* gnulib/import/m4/locale-ja: Update.
	* gnulib/import/m4/locale-zh: Update.
	* gnulib/import/m4/longlong: Update.
	* gnulib/import/m4/lstat: Update.
	* gnulib/import/m4/malloc: Update.
	* gnulib/import/m4/malloca: Update.
	* gnulib/import/m4/math_h: Update.
	* gnulib/import/m4/mbrtowc: Update.
	* gnulib/import/m4/mbsinit: Update.
	* gnulib/import/m4/mbsrtowcs: Update.
	* gnulib/import/m4/mbstate_t: Update.
	* gnulib/import/m4/memchr: Update.
	* gnulib/import/m4/memmem: Update.
	* gnulib/import/m4/mmap-anon: Update.
	* gnulib/import/m4/multiarch: Update.
	* gnulib/import/m4/nocrash: Update.
	* gnulib/import/m4/off_t: Update.
	* gnulib/import/m4/pathmax: Update.
	* gnulib/import/m4/rawmemchr: Update.
	* gnulib/import/m4/readlink: Update.
	* gnulib/import/m4/rename: Update.
	* gnulib/import/m4/rmdir: Update.
	* gnulib/import/m4/signal_h: Update.
	* gnulib/import/m4/ssize_t: Update.
	* gnulib/import/m4/stat: Update.
	* gnulib/import/m4/stdbool: Update.
	* gnulib/import/m4/stddef_h: Update.
	* gnulib/import/m4/stdint: Update.
	* gnulib/import/m4/stdio_h: Update.
	* gnulib/import/m4/stdlib_h: Update.
	* gnulib/import/m4/strchrnul: Update.
	* gnulib/import/m4/string_h: Update.
	* gnulib/import/m4/strstr: Update.
	* gnulib/import/m4/strtok_r: Update.
	* gnulib/import/m4/sys_socket_h: Update.
	* gnulib/import/m4/sys_stat_h: Update.
	* gnulib/import/m4/sys_time_h: Update.
	* gnulib/import/m4/sys_types_h: Update.
	* gnulib/import/m4/time_h: Update.
	* gnulib/import/m4/unistd_h: Update.
	* gnulib/import/m4/warn-on-use: Update.
	* gnulib/import/m4/wchar_h: Update.
	* gnulib/import/m4/wchar_t: Update.
	* gnulib/import/m4/wctype_h: Update.
	* gnulib/import/m4/wint_t: Update.
	* gnulib/import/malloc: Update.
	* gnulib/import/malloca: Update.
	* gnulib/import/malloca.h: Update.
	* gnulib/import/math: Update.
	* gnulib/import/math: Update.
	* gnulib/import/mbrtowc: Update.
	* gnulib/import/mbsinit: Update.
	* gnulib/import/mbsrtowcs-impl.h: Update.
	* gnulib/import/mbsrtowcs-state: Update.
	* gnulib/import/mbsrtowcs: Update.
	* gnulib/import/memchr: Update.
	* gnulib/import/memmem: Update.
	* gnulib/import/pathmax.h: Update.
	* gnulib/import/rawmemchr: Update.
	* gnulib/import/readlink: Update.
	* gnulib/import/ref-add.sin: Update.
	* gnulib/import/ref-del.sin: Update.
	* gnulib/import/rename: Update.
	* gnulib/import/rmdir: Update.
	* gnulib/import/same-inode.h: Update.
	* gnulib/import/signal: Update.
	* gnulib/import/stat: Update.
	* gnulib/import/stdbool: Update.
	* gnulib/import/stddef: Update.
	* gnulib/import/stdint: Update.
	* gnulib/import/stdio: Update.
	* gnulib/import/stdlib: Update.
	* gnulib/import/str-two-way.h: Update.
	* gnulib/import/strchrnul: Update.
	* gnulib/import/streq.h: Update.
	* gnulib/import/string: Update.
	* gnulib/import/stripslash: Update.
	* gnulib/import/strnlen1: Update.
	* gnulib/import/strnlen1.h: Update.
	* gnulib/import/strstr: Update.
	* gnulib/import/strtok_r: Update.
	* gnulib/import/sys_stat: Update.
	* gnulib/import/sys_time: Update.
	* gnulib/import/sys_types: Update.
	* gnulib/import/time: Update.
	* gnulib/import/unistd: Update.
	* gnulib/import/unistd: Update.
	* gnulib/import/verify.h: Update.
	* gnulib/import/wchar: Update.
 	* gnulib/import/wctype: Update.

* gnulib/import/flexmember.h: New file.
	* gnulib/import/hard-locale.c: New file.
	* gnulib/import/hard-locale.h: New file.
	* gnulib/import/limits.in.h: New file.
	* gnulib/import/m4/flexmember.m4: New file.
	* gdb/gnulib/import/m4/hard-locale.m4: New file.
	* gdb/gnulib/import/m4/limits-h.m4: New file.
---
 gdb/gnulib/aclocal.m4                         |   3 +
 gdb/gnulib/config.in                          |  65 ++-
 gdb/gnulib/configure                          | 568 ++++++++++++++++---
 gdb/gnulib/import/Makefile.am                 |  48 +-
 gdb/gnulib/import/Makefile.in                 |  76 ++-
 gdb/gnulib/import/alloca.in.h                 |   4 +-
 gdb/gnulib/import/basename-lgpl.c             |   2 +-
 gdb/gnulib/import/canonicalize-lgpl.c         |  29 +-
 gdb/gnulib/import/config.charset              |   2 +-
 gdb/gnulib/import/dirent.in.h                 |   9 +-
 gdb/gnulib/import/dirfd.c                     |  68 ++-
 gdb/gnulib/import/dirname-lgpl.c              |   2 +-
 gdb/gnulib/import/dirname.h                   |   2 +-
 gdb/gnulib/import/dosname.h                   |   2 +-
 gdb/gnulib/import/errno.in.h                  |   2 +-
 gdb/gnulib/import/extra/snippet/arg-nonnull.h |   2 +-
 gdb/gnulib/import/extra/snippet/c++defs.h     |   2 +-
 gdb/gnulib/import/extra/snippet/warn-on-use.h |   2 +-
 gdb/gnulib/import/extra/update-copyright      |   8 +-
 gdb/gnulib/import/flexmember.h                |  42 ++
 gdb/gnulib/import/float+.h                    |   2 +-
 gdb/gnulib/import/float.c                     |   2 +-
 gdb/gnulib/import/float.in.h                  |   2 +-
 gdb/gnulib/import/fnmatch.c                   |   6 +-
 gdb/gnulib/import/fnmatch.in.h                |   2 +-
 gdb/gnulib/import/fnmatch_loop.c              |   6 +-
 gdb/gnulib/import/fpucw.h                     |   4 +-
 gdb/gnulib/import/frexp.c                     |   2 +-
 gdb/gnulib/import/frexpl.c                    |   2 +-
 gdb/gnulib/import/gettimeofday.c              |   2 +-
 gdb/gnulib/import/hard-locale.c               |  72 +++
 gdb/gnulib/import/hard-locale.h               |  25 +
 gdb/gnulib/import/inttypes.in.h               |   2 +-
 gdb/gnulib/import/isnan.c                     |   2 +-
 gdb/gnulib/import/isnand-nolibm.h             |   2 +-
 gdb/gnulib/import/isnand.c                    |   2 +-
 gdb/gnulib/import/isnanl-nolibm.h             |   2 +-
 gdb/gnulib/import/isnanl.c                    |   2 +-
 gdb/gnulib/import/itold.c                     |   2 +-
 gdb/gnulib/import/limits.in.h                 |  63 +++
 gdb/gnulib/import/localcharset.c              |   2 +-
 gdb/gnulib/import/localcharset.h              |   2 +-
 gdb/gnulib/import/lstat.c                     |   2 +-
 gdb/gnulib/import/m4/00gnulib.m4              |   2 +-
 gdb/gnulib/import/m4/absolute-header.m4       |   2 +-
 gdb/gnulib/import/m4/alloca.m4                |   2 +-
 gdb/gnulib/import/m4/canonicalize.m4          |  11 +-
 gdb/gnulib/import/m4/codeset.m4               |   3 +-
 gdb/gnulib/import/m4/configmake.m4            |   2 +-
 gdb/gnulib/import/m4/dirent_h.m4              |   2 +-
 gdb/gnulib/import/m4/dirfd.m4                 |  18 +-
 gdb/gnulib/import/m4/dirname.m4               |   2 +-
 gdb/gnulib/import/m4/double-slash-root.m4     |   2 +-
 gdb/gnulib/import/m4/eealloc.m4               |   2 +-
 gdb/gnulib/import/m4/errno_h.m4               |   2 +-
 gdb/gnulib/import/m4/exponentd.m4             |   2 +-
 gdb/gnulib/import/m4/exponentl.m4             |   2 +-
 gdb/gnulib/import/m4/extensions.m4            |  46 +-
 gdb/gnulib/import/m4/extern-inline.m4         |   3 +-
 gdb/gnulib/import/m4/fcntl-o.m4               |   2 +-
 gdb/gnulib/import/m4/flexmember.m4            |  43 ++
 gdb/gnulib/import/m4/float_h.m4               |   2 +-
 gdb/gnulib/import/m4/fnmatch.m4               |   4 +-
 gdb/gnulib/import/m4/fpieee.m4                |   4 +-
 gdb/gnulib/import/m4/frexp.m4                 |   2 +-
 gdb/gnulib/import/m4/frexpl.m4                |   2 +-
 gdb/gnulib/import/m4/gettimeofday.m4          |   2 +-
 gdb/gnulib/import/m4/glibc21.m4               |   2 +-
 gdb/gnulib/import/m4/gnulib-cache.m4          |   5 +-
 gdb/gnulib/import/m4/gnulib-common.m4         |  45 +-
 gdb/gnulib/import/m4/gnulib-comp.m4           |  23 +-
 gdb/gnulib/import/m4/gnulib-tool.m4           |   2 +-
 gdb/gnulib/import/m4/hard-locale.m4           |  11 +
 gdb/gnulib/import/m4/include_next.m4          |   2 +-
 gdb/gnulib/import/m4/inttypes-pri.m4          |   2 +-
 gdb/gnulib/import/m4/inttypes.m4              |   2 +-
 gdb/gnulib/import/m4/isnand.m4                |   2 +-
 gdb/gnulib/import/m4/isnanl.m4                |   2 +-
 gdb/gnulib/import/m4/largefile.m4             |   2 +-
 gdb/gnulib/import/m4/limits-h.m4              |  31 ++
 gdb/gnulib/import/m4/localcharset.m4          |   2 +-
 gdb/gnulib/import/m4/locale-fr.m4             |   2 +-
 gdb/gnulib/import/m4/locale-ja.m4             |   2 +-
 gdb/gnulib/import/m4/locale-zh.m4             |   2 +-
 gdb/gnulib/import/m4/longlong.m4              |   2 +-
 gdb/gnulib/import/m4/lstat.m4                 |   2 +-
 gdb/gnulib/import/m4/malloc.m4                |  13 +-
 gdb/gnulib/import/m4/malloca.m4               |   2 +-
 gdb/gnulib/import/m4/math_h.m4                |   2 +-
 gdb/gnulib/import/m4/mbrtowc.m4               |  56 +-
 gdb/gnulib/import/m4/mbsinit.m4               |   2 +-
 gdb/gnulib/import/m4/mbsrtowcs.m4             |   2 +-
 gdb/gnulib/import/m4/mbstate_t.m4             |   2 +-
 gdb/gnulib/import/m4/memchr.m4                |   2 +-
 gdb/gnulib/import/m4/memmem.m4                |   4 +-
 gdb/gnulib/import/m4/mmap-anon.m4             |   2 +-
 gdb/gnulib/import/m4/multiarch.m4             |   2 +-
 gdb/gnulib/import/m4/nocrash.m4               |   5 +-
 gdb/gnulib/import/m4/off_t.m4                 |   2 +-
 gdb/gnulib/import/m4/pathmax.m4               |   2 +-
 gdb/gnulib/import/m4/rawmemchr.m4             |   2 +-
 gdb/gnulib/import/m4/readlink.m4              |   2 +-
 gdb/gnulib/import/m4/rename.m4                |   2 +-
 gdb/gnulib/import/m4/rmdir.m4                 |   2 +-
 gdb/gnulib/import/m4/signal_h.m4              |   2 +-
 gdb/gnulib/import/m4/ssize_t.m4               |   2 +-
 gdb/gnulib/import/m4/stat.m4                  |   2 +-
 gdb/gnulib/import/m4/stdbool.m4               |  60 +-
 gdb/gnulib/import/m4/stddef_h.m4              |   2 +-
 gdb/gnulib/import/m4/stdint.m4                |  79 ++-
 gdb/gnulib/import/m4/stdio_h.m4               |  14 +-
 gdb/gnulib/import/m4/stdlib_h.m4              |   2 +-
 gdb/gnulib/import/m4/strchrnul.m4             |   2 +-
 gdb/gnulib/import/m4/string_h.m4              |   2 +-
 gdb/gnulib/import/m4/strstr.m4                |  12 +-
 gdb/gnulib/import/m4/strtok_r.m4              |   2 +-
 gdb/gnulib/import/m4/sys_socket_h.m4          |   2 +-
 gdb/gnulib/import/m4/sys_stat_h.m4            |   2 +-
 gdb/gnulib/import/m4/sys_time_h.m4            |   2 +-
 gdb/gnulib/import/m4/sys_types_h.m4           |  29 +-
 gdb/gnulib/import/m4/time_h.m4                |   2 +-
 gdb/gnulib/import/m4/unistd_h.m4              |   2 +-
 gdb/gnulib/import/m4/warn-on-use.m4           |   2 +-
 gdb/gnulib/import/m4/wchar_h.m4               |  16 +-
 gdb/gnulib/import/m4/wchar_t.m4               |   2 +-
 gdb/gnulib/import/m4/wctype_h.m4              |   2 +-
 gdb/gnulib/import/m4/wint_t.m4                |   2 +-
 gdb/gnulib/import/malloc.c                    |   2 +-
 gdb/gnulib/import/malloca.c                   |   2 +-
 gdb/gnulib/import/malloca.h                   |   2 +-
 gdb/gnulib/import/math.c                      |   1 +
 gdb/gnulib/import/math.in.h                   |  10 +-
 gdb/gnulib/import/mbrtowc.c                   |  56 +-
 gdb/gnulib/import/mbsinit.c                   |   2 +-
 gdb/gnulib/import/mbsrtowcs-impl.h            |   2 +-
 gdb/gnulib/import/mbsrtowcs-state.c           |   2 +-
 gdb/gnulib/import/mbsrtowcs.c                 |   2 +-
 gdb/gnulib/import/memchr.c                    |   2 +-
 gdb/gnulib/import/memmem.c                    |   2 +-
 gdb/gnulib/import/pathmax.h                   |   2 +-
 gdb/gnulib/import/rawmemchr.c                 |   2 +-
 gdb/gnulib/import/readlink.c                  |   2 +-
 gdb/gnulib/import/ref-add.sin                 |   2 +-
 gdb/gnulib/import/ref-del.sin                 |   2 +-
 gdb/gnulib/import/rename.c                    |   2 +-
 gdb/gnulib/import/rmdir.c                     |   2 +-
 gdb/gnulib/import/same-inode.h                |   2 +-
 gdb/gnulib/import/signal.in.h                 |   2 +-
 gdb/gnulib/import/stat.c                      |   2 +-
 gdb/gnulib/import/stdbool.in.h                |   2 +-
 gdb/gnulib/import/stddef.in.h                 |   8 +-
 gdb/gnulib/import/stdint.in.h                 | 755 ++++++++++++++------------
 gdb/gnulib/import/stdio.in.h                  |   2 +-
 gdb/gnulib/import/stdlib.in.h                 |   2 +-
 gdb/gnulib/import/str-two-way.h               |   2 +-
 gdb/gnulib/import/strchrnul.c                 |   2 +-
 gdb/gnulib/import/streq.h                     |   2 +-
 gdb/gnulib/import/string.in.h                 |  18 +-
 gdb/gnulib/import/stripslash.c                |   2 +-
 gdb/gnulib/import/strnlen1.c                  |   2 +-
 gdb/gnulib/import/strnlen1.h                  |   2 +-
 gdb/gnulib/import/strstr.c                    |   2 +-
 gdb/gnulib/import/strtok_r.c                  |   2 +-
 gdb/gnulib/import/sys_stat.in.h               |   2 +-
 gdb/gnulib/import/sys_time.in.h               |   2 +-
 gdb/gnulib/import/sys_types.in.h              |   2 +-
 gdb/gnulib/import/time.in.h                   |   2 +-
 gdb/gnulib/import/unistd.c                    |   1 +
 gdb/gnulib/import/unistd.in.h                 |   2 +-
 gdb/gnulib/import/verify.h                    |   4 +-
 gdb/gnulib/import/wchar.in.h                  |  12 +-
 gdb/gnulib/import/wctype.in.h                 |  19 +-
 gdb/gnulib/update-gnulib.sh                   |   3 +-
 173 files changed, 1996 insertions(+), 766 deletions(-)
 create mode 100644 gdb/gnulib/import/flexmember.h
 create mode 100644 gdb/gnulib/import/hard-locale.c
 create mode 100644 gdb/gnulib/import/hard-locale.h
 create mode 100644 gdb/gnulib/import/limits.in.h
 create mode 100644 gdb/gnulib/import/m4/flexmember.m4
 create mode 100644 gdb/gnulib/import/m4/hard-locale.m4
 create mode 100644 gdb/gnulib/import/m4/limits-h.m4

diff --git a/gdb/gnulib/aclocal.m4 b/gdb/gnulib/aclocal.m4
index e5cc409..cd0dd5d 100644
--- a/gdb/gnulib/aclocal.m4
+++ b/gdb/gnulib/aclocal.m4
@@ -1029,6 +1029,7 @@ m4_include([import/m4/exponentl.m4])
 m4_include([import/m4/extensions.m4])
 m4_include([import/m4/extern-inline.m4])
 m4_include([import/m4/fcntl-o.m4])
+m4_include([import/m4/flexmember.m4])
 m4_include([import/m4/float_h.m4])
 m4_include([import/m4/fnmatch.m4])
 m4_include([import/m4/fpieee.m4])
@@ -1038,12 +1039,14 @@ m4_include([import/m4/gettimeofday.m4])
 m4_include([import/m4/glibc21.m4])
 m4_include([import/m4/gnulib-common.m4])
 m4_include([import/m4/gnulib-comp.m4])
+m4_include([import/m4/hard-locale.m4])
 m4_include([import/m4/include_next.m4])
 m4_include([import/m4/inttypes-pri.m4])
 m4_include([import/m4/inttypes.m4])
 m4_include([import/m4/isnand.m4])
 m4_include([import/m4/isnanl.m4])
 m4_include([import/m4/largefile.m4])
+m4_include([import/m4/limits-h.m4])
 m4_include([import/m4/localcharset.m4])
 m4_include([import/m4/locale-fr.m4])
 m4_include([import/m4/locale-ja.m4])
diff --git a/gdb/gnulib/config.in b/gdb/gnulib/config.in
index 1371394..edc12fe 100644
--- a/gdb/gnulib/config.in
+++ b/gdb/gnulib/config.in
@@ -26,6 +26,9 @@
 /* Define to 1 if using 'alloca.c'. */
 #undef C_ALLOCA
 
+/* Define to 1 if the C locale may have encoding errors. */
+#undef C_LOCALE_MAYBE_EILSEQ
+
 /* Define as the bit index in the word where to find bit 0 of the exponent of
    'double'. */
 #undef DBL_EXPBIT0_BIT
@@ -46,6 +49,15 @@
 /* Define to 1 if // is a file system root distinct from /. */
 #undef DOUBLE_SLASH_IS_DISTINCT_ROOT
 
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like 'struct s { int n; double
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. When computing the size of such an object, don't use 'sizeof
+   (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
+   instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
+   MSVC and with C++ compilers. */
+#undef FLEXIBLE_ARRAY_MEMBER
+
 /* Define to 1 if realpath() can malloc memory, always gives an absolute path,
    and handles trailing slash correctly. */
 #undef FUNC_REALPATH_WORKS
@@ -239,6 +251,9 @@
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
 /* Define to 1 if you have the `link' function. */
 #undef HAVE_LINK
 
@@ -1246,6 +1261,12 @@
 /* Define if the mbrtowc function returns a wrong return value. */
 #undef MBRTOWC_RETVAL_BUG
 
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+
+
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
@@ -1290,6 +1311,9 @@
    such as on Solaris 9 or cygwin 1.5. */
 #undef RENAME_TRAILING_SLASH_SOURCE_BUG
 
+/* Define to 1 if gnulib's dirfd() replacement is used. */
+#undef REPLACE_DIRFD
+
 /* Define to 1 if stat needs help when passed a directory name with a trailing
    slash */
 #undef REPLACE_FUNC_STAT_DIR
@@ -1324,7 +1348,7 @@
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-/* Enable general extensions on OS X.  */
+/* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
@@ -1332,14 +1356,38 @@
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
-/* Use GNU style printf and scanf.  */
-#ifndef __USE_MINGW_ANSI_STDIO
-# undef __USE_MINGW_ANSI_STDIO
-#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
@@ -1416,6 +1464,12 @@
 /* Define to 1 if you need to in order for 'stat' and other things to work. */
 #undef _POSIX_SOURCE
 
+/* Define to 1 if the system <stdint.h> predates C++11. */
+#undef __STDC_CONSTANT_MACROS
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+#undef __STDC_LIMIT_MACROS
+
 /* Please see the Gnulib manual for how to use these macros.
 
    Suppress extern inline with HP-UX cc, as it appears to be broken; see
@@ -1462,6 +1516,7 @@
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
+         && !defined __PGI \
          && !(defined __SUNPRO_C && __STDC__))) \
      && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
diff --git a/gdb/gnulib/configure b/gdb/gnulib/configure
index 540bad3..ccf3da8 100644
--- a/gdb/gnulib/configure
+++ b/gdb/gnulib/configure
@@ -1048,6 +1048,9 @@ GNULIB_IMAXABS
 GL_GENERATE_STDINT_H_FALSE
 GL_GENERATE_STDINT_H_TRUE
 STDINT_H
+HAVE_SYS_INTTYPES_H
+HAVE_SYS_BITYPES_H
+HAVE_C99_STDINT_H
 WINT_T_SUFFIX
 WCHAR_T_SUFFIX
 SIG_ATOMIC_T_SUFFIX
@@ -1062,8 +1065,6 @@ BITSIZEOF_SIG_ATOMIC_T
 BITSIZEOF_SIZE_T
 BITSIZEOF_PTRDIFF_T
 APPLE_UNIVERSAL_BUILD
-HAVE_SYS_BITYPES_H
-HAVE_SYS_INTTYPES_H
 HAVE_STDINT_H
 NEXT_AS_FIRST_DIRECTIVE_STDINT_H
 NEXT_STDINT_H
@@ -1072,6 +1073,11 @@ HAVE_INTTYPES_H
 HAVE_WCHAR_H
 HAVE_UNSIGNED_LONG_LONG_INT
 HAVE_LONG_LONG_INT
+GL_GENERATE_LIMITS_H_FALSE
+GL_GENERATE_LIMITS_H_TRUE
+LIMITS_H
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H
+NEXT_LIMITS_H
 HAVE_WINSOCK2_H
 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
 NEXT_SYS_TIME_H
@@ -3313,6 +3319,7 @@ gl_fnmatch_required=GNU
 as_fn_append ac_header_list " sys/time.h"
 as_fn_append ac_header_list " sys/socket.h"
 as_fn_append ac_func_list " gettimeofday"
+as_fn_append ac_header_list " limits.h"
 as_fn_append ac_header_list " wchar.h"
 as_fn_append ac_header_list " stdint.h"
 as_fn_append ac_header_list " inttypes.h"
@@ -4649,10 +4656,22 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
 
   $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
 
-  $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
-
   $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
 
+  $as_echo "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
+
+  $as_echo "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
+
   $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
@@ -4706,6 +4725,13 @@ $as_echo "$ac_cv_should_define__xopen_source" >&6; }
 
 
 
+
+
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
 $as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
 if test "${gl_cv_c_amsterdam_compiler+set}" = set; then :
@@ -4732,14 +4758,19 @@ rm -f conftest*
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
 $as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+      if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-                  if test -n "$ac_tool_prefix"; then
+    fi
+    if test -z "$ARFLAGS"; then
+      ARFLAGS='-o'
+    fi
+  else
+                                        :
+  fi
+
+        if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -4831,17 +4862,12 @@ else
   AR="$ac_cv_prog_AR"
 fi
 
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cr'
-      fi
-    fi
-  else
-    if test -z "$ARFLAGS"; then
-      ARFLAGS='cr'
-    fi
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
 
 
+
   if test -z "$RANLIB"; then
     if test $gl_cv_c_amsterdam_compiler = yes; then
       RANLIB=':'
@@ -4942,12 +4968,6 @@ fi
   fi
 
 
-
-
-
-
-
-
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   for ac_t in install-sh install.sh shtool; do
@@ -5275,6 +5295,10 @@ fi
 
 
 
+  # Pre-early section.
+
+
+
   # Code from module absolute-header:
   # Code from module alloca:
   # Code from module alloca-opt:
@@ -5288,8 +5312,8 @@ fi
   # Code from module double-slash-root:
   # Code from module errno:
   # Code from module extensions:
-
   # Code from module extern-inline:
+  # Code from module flexmember:
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
@@ -5299,6 +5323,7 @@ fi
   # Code from module frexp:
   # Code from module frexpl:
   # Code from module gettimeofday:
+  # Code from module hard-locale:
   # Code from module include_next:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
@@ -5306,6 +5331,7 @@ fi
   # Code from module isnanl-nolibm:
   # Code from module largefile:
 
+  # Code from module limits-h:
   # Code from module localcharset:
   # Code from module lstat:
   # Code from module malloc-posix:
@@ -6422,11 +6448,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
@@ -6452,22 +6479,27 @@ main ()
           char *name = realpath ("conftest.a", NULL);
           if (!(name && *name == '/'))
             result |= 1;
+          free (name);
         }
         {
           char *name = realpath ("conftest.b/../conftest.a", NULL);
           if (name != NULL)
             result |= 2;
+          free (name);
         }
         {
           char *name = realpath ("conftest.a/", NULL);
           if (name != NULL)
             result |= 4;
+          free (name);
         }
         {
           char *name1 = realpath (".", NULL);
           char *name2 = realpath ("conftest.d//./..", NULL);
-          if (strcmp (name1, name2) != 0)
+          if (! name1 || ! name2 || strcmp (name1, name2))
             result |= 8;
+          free (name1);
+          free (name2);
         }
         return result;
 
@@ -7877,6 +7909,132 @@ fi
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_limits_h='<'limits.h'>'
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <limits.h>" >&5
+$as_echo_n "checking absolute name of <limits.h>... " >&6; }
+if test "${gl_cv_next_limits_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+             if test $ac_cv_header_limits_h = yes; then
+
+
+
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.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 'limits.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_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+  sed -n "$gl_absolute_header_sed"`
+
+           gl_header=$gl_cv_absolute_limits_h
+           gl_cv_next_limits_h='"'$gl_header'"'
+          else
+               gl_cv_next_limits_h='<'limits.h'>'
+             fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5
+$as_echo "$gl_cv_next_limits_h" >&6; }
+     fi
+     NEXT_LIMITS_H=$gl_cv_next_limits_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='<'limits.h'>'
+     else
+       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+       gl_next_as_first_directive=$gl_cv_next_limits_h
+     fi
+     NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5
+$as_echo_n "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; }
+if test "${gl_cv_header_limits_width+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+                           #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+                          #endif
+                          #include <limits.h>
+                          int ullw = ULLONG_WIDTH;
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_limits_width=yes
+else
+  gl_cv_header_limits_width=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5
+$as_echo "$gl_cv_header_limits_width" >&6; }
+  if test "$gl_cv_header_limits_width" = yes; then
+    LIMITS_H=
+  else
+    LIMITS_H=limits.h
+  fi
+
+   if test -n "$LIMITS_H"; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
+fi
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
 $as_echo_n "checking for unsigned long long int... " >&6; }
 if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then :
@@ -8042,6 +8200,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
+
+
   if test $ac_cv_type_long_long_int = yes; then
     HAVE_LONG_LONG_INT=1
   else
@@ -8175,6 +8335,8 @@ else
 
 
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
 #if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -8343,6 +8505,8 @@ else
 
 
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 
 
@@ -8428,8 +8592,111 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
 $as_echo "$gl_cv_header_working_stdint_h" >&6; }
   fi
+
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  STDINT_H=stdint.h
   if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
+    HAVE_C99_STDINT_H=1
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5
+$as_echo_n "checking whether stdint.h predates C++11... " >&6; }
+if test "${gl_cv_header_stdint_predates_cxx11_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_header_stdint_predates_cxx11_h=yes
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+
+
+  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+     included before <wchar.h>.  */
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <stdio.h>
+  # include <time.h>
+  # include <wchar.h>
+  #endif
+
+
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_stdint_predates_cxx11_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_predates_cxx11_h" >&5
+$as_echo "$gl_cv_header_stdint_predates_cxx11_h" >&6; }
+
+    if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
+
+$as_echo "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h
+
+
+$as_echo "#define __STDC_LIMIT_MACROS 1" >>confdefs.h
+
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5
+$as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
+if test "${gl_cv_header_stdint_width+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  gl_cv_header_stdint_width=no
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+            #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <stdint.h>
+
+  /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+     included before <wchar.h>.  */
+  #include <stddef.h>
+  #include <signal.h>
+  #if HAVE_WCHAR_H
+  # include <stdio.h>
+  # include <time.h>
+  # include <wchar.h>
+  #endif
+
+            int iw = UINTMAX_WIDTH;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  gl_cv_header_stdint_width=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5
+$as_echo "$gl_cv_header_stdint_width" >&6; }
+    if test "$gl_cv_header_stdint_width" = yes; then
+      STDINT_H=
+    fi
   else
             for ac_header in sys/inttypes.h sys/bitypes.h
 do :
@@ -8447,19 +8714,12 @@ done
 
     if test $ac_cv_header_sys_inttypes_h = yes; then
       HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
     fi
-
     if test $ac_cv_header_sys_bitypes_h = yes; then
       HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
     fi
 
 
-
-
   if test $APPLE_UNIVERSAL_BUILD = 0; then
 
 
@@ -8757,9 +9017,23 @@ _ACEOF
     BITSIZEOF_WINT_T=32
   fi
 
-    STDINT_H=stdint.h
   fi
 
+  # The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
+  LIMITS_H=limits.h
+   if test -n "$LIMITS_H"; then
+  GL_GENERATE_LIMITS_H_TRUE=
+  GL_GENERATE_LIMITS_H_FALSE='#'
+else
+  GL_GENERATE_LIMITS_H_TRUE='#'
+  GL_GENERATE_LIMITS_H_FALSE=
+fi
+
+
+
+
+
+
    if test -n "$STDINT_H"; then
   GL_GENERATE_STDINT_H_TRUE=
   GL_GENERATE_STDINT_H_FALSE='#'
@@ -9996,7 +10270,10 @@ else
 int
 main ()
 {
-return ! malloc (0);
+char *p = malloc (0);
+            int result = !p;
+            free (p);
+            return result;
   ;
   return 0;
 }
@@ -11215,59 +11492,67 @@ else
 /* end confdefs.h.  */
 
              #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
+
+             #ifdef __cplusplus
+              typedef bool Bool;
+             #else
+              typedef _Bool Bool;
+              #ifndef bool
+               "error: bool is not defined"
+              #endif
+              #ifndef false
+               "error: false is not defined"
+              #endif
+              #if false
+               "error: false is not 0"
+              #endif
+              #ifndef true
+               "error: true is not defined"
+              #endif
+              #if true != 1
+               "error: true is not 1"
+              #endif
              #endif
+
              #ifndef __bool_true_false_are_defined
               "error: __bool_true_false_are_defined is not defined"
              #endif
 
-             struct s { _Bool s: 1; _Bool t; } s;
+             struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s;
 
              char a[true == 1 ? 1 : -1];
              char b[false == 0 ? 1 : -1];
              char c[__bool_true_false_are_defined == 1 ? 1 : -1];
              char d[(bool) 0.5 == true ? 1 : -1];
              /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
+             char f[(Bool) 0.0 == false ? 1 : -1];
              char g[true];
-             char h[sizeof (_Bool)];
+             char h[sizeof (Bool)];
              char i[sizeof s.t];
              enum { j = false, k = true, l = false * true, m = true * 256 };
              /* The following fails for
                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
+             Bool n[m];
              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+             char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
                 http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
                 http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
               */
-             _Bool q = true;
-             _Bool *pq = &q;
+             Bool q = true;
+             Bool *pq = &q;
+             bool *qq = &q;
 
 int
 main ()
 {
 
              bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
+             *pq |= q; *pq |= ! q;
+             *qq |= q; *qq |= ! q;
              /* Refer to every declared value, to avoid compiler optimizations.  */
              return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+                     + !m + !n + !o + !p + !q + !pq + !qq);
 
   ;
   return 0;
@@ -11973,12 +12258,13 @@ extern int zero (void);
 int main () { return zero(); }
 
 _ACEOF
+                              save_ac_compile="$ac_compile"
+     ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-       mv conftest.$ac_objext conftest1.$ac_objext
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -11994,12 +12280,12 @@ _ACEOF
 int zero (void) { return 0; }
 
 _ACEOF
+              ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-         mv conftest.$ac_objext conftest2.$ac_objext
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
            :
          else
@@ -12007,6 +12293,7 @@ _ACEOF
          fi
        fi
      fi
+     ac_compile="$save_ac_compile"
      rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
 
 fi
@@ -12485,15 +12772,19 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dirfd_macro" >&5
 $as_echo "$gl_cv_func_dirfd_macro" >&6; }
 
-  # Use the replacement only if we have no function or macro with that name.
-  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
-    if test $ac_cv_have_decl_dirfd = yes; then
-      # If the system declares dirfd already, let's declare rpl_dirfd instead.
+  # Use the replacement if we have no function or macro with that name,
+  # or if OS/2 kLIBC whose dirfd() does not work.
+  # Replace only if the system declares dirfd already.
+  case $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro,$host_os,$ac_cv_have_decl_dirfd in
+    no,no,*,yes | *,*,os2*,yes)
       REPLACE_DIRFD=1
-    fi
-  fi
 
-  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+$as_echo "#define REPLACE_DIRFD 1" >>confdefs.h
+;;
+  esac
+
+  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \
+     || test $REPLACE_DIRFD = 1; then
 
 
 
@@ -12615,6 +12906,50 @@ $as_echo "#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1" >>confdefs.h
 
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5
+$as_echo_n "checking for flexible array member... " >&6; }
+if test "${ac_cv_c_flexmember+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct s { int n; double d[]; };
+int
+main ()
+{
+int m = getchar ();
+            size_t nbytes = offsetof (struct s, d) + m * sizeof (double);
+            nbytes += sizeof (struct s) - 1;
+            nbytes -= nbytes % sizeof (struct s);
+            struct s *p = malloc (nbytes);
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_flexmember=yes
+else
+  ac_cv_c_flexmember=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
+$as_echo "$ac_cv_c_flexmember" >&6; }
+  if test $ac_cv_c_flexmember = yes; then
+
+$as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
+
+  else
+    $as_echo "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h
+
+  fi
+
+
 
 
   FLOAT_H=
@@ -13701,6 +14036,9 @@ $as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
 
 
 
+  :
+
+
 
 
 
@@ -14343,6 +14681,7 @@ _ACEOF
 
 
 
+
   LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
 
 
@@ -15171,13 +15510,13 @@ else
            int
            main (void)
            {
-             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
            }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  gl_cv_func_mbrtowc_empty_input=no
-else
   gl_cv_func_mbrtowc_empty_input=yes
+else
+  gl_cv_func_mbrtowc_empty_input=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -15188,6 +15527,60 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_empty_input" >&5
 $as_echo "$gl_cv_func_mbrtowc_empty_input" >&6; }
 
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5
+$as_echo_n "checking whether the C locale is free of encoding errors... " >&6; }
+if test "${gl_cv_C_locale_sans_EILSEQ+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+               gl_cv_C_locale_sans_EILSEQ="guessing no"
+
+     if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+            #include <locale.h>
+            #include <wchar.h>
+
+int
+main ()
+{
+
+            int i;
+            char *locale = setlocale (LC_ALL, "C");
+            if (! locale)
+              return 1;
+            for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+              {
+                char c = i;
+                wchar_t wc;
+                mbstate_t mbs = { 0, };
+                size_t ss = mbrtowc (&wc, &c, 1, &mbs);
+                if (1 < ss)
+                  return 1;
+              }
+            return 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  gl_cv_C_locale_sans_EILSEQ=yes
+else
+  gl_cv_C_locale_sans_EILSEQ=no
+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_C_locale_sans_EILSEQ" >&5
+$as_echo "$gl_cv_C_locale_sans_EILSEQ" >&6; }
+
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *)
@@ -15228,6 +15621,14 @@ $as_echo "#define MBRTOWC_EMPTY_INPUT_BUG 1" >>confdefs.h
            REPLACE_MBRTOWC=1
            ;;
       esac
+      case $gl_cv_C_locale_sans_EILSEQ in
+        *yes) ;;
+        *)
+$as_echo "#define C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h
+
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
     fi
   fi
 
@@ -15916,7 +16317,7 @@ else
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
-static void quit (int sig) { exit (sig + 128); }
+static void quit (int sig) { _exit (sig + 128); }
 
 int
 main ()
@@ -17157,6 +17558,7 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
 
 
 
+  $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
 
 
 
@@ -17626,11 +18028,17 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#ifdef __MVS__
+/* z/OS does not deliver signals while strstr() is running (thanks to
+   restrictions on its LE runtime), which prevents us from limiting the
+   running time of this test.  */
+# error "This test does not work properly on z/OS"
+#endif
 #include <signal.h> /* for signal */
 #include <string.h> /* for strstr */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
-static void quit (int sig) { exit (sig + 128); }
+static void quit (int sig) { _exit (sig + 128); }
 
 int
 main ()
@@ -19722,6 +20130,14 @@ if test -z "${GL_GENERATE_FNMATCH_H_TRUE}" && test -z "${GL_GENERATE_FNMATCH_H_F
   as_fn_error "conditional \"GL_GENERATE_FNMATCH_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+  as_fn_error "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then
+  as_fn_error "conditional \"GL_GENERATE_LIMITS_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
   as_fn_error "conditional \"GL_GENERATE_STDINT_H\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/gdb/gnulib/import/Makefile.am b/gdb/gnulib/import/Makefile.am
index 7307aa5..6a97d00 100644
--- a/gdb/gnulib/import/Makefile.am
+++ b/gdb/gnulib/import/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
+# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
 
 AUTOMAKE_OPTIONS = 1.9.6 gnits
 
@@ -252,6 +252,13 @@ EXTRA_DIST += errno.in.h
 
 ## end   gnulib module errno
 
+## begin gnulib module flexmember
+
+
+EXTRA_DIST += flexmember.h
+
+## end   gnulib module flexmember
+
 ## begin gnulib module float
 
 BUILT_SOURCES += $(FLOAT_H)
@@ -343,6 +350,14 @@ EXTRA_libgnu_a_SOURCES += gettimeofday.c
 
 ## end   gnulib module gettimeofday
 
+## begin gnulib module hard-locale
+
+libgnu_a_SOURCES += hard-locale.c
+
+EXTRA_DIST += hard-locale.h
+
+## end   gnulib module hard-locale
+
 ## begin gnulib module inttypes-incomplete
 
 BUILT_SOURCES += inttypes.h
@@ -406,6 +421,34 @@ EXTRA_libgnu_a_SOURCES += isnan.c isnanl.c
 
 ## end   gnulib module isnanl-nolibm
 
+## begin gnulib module limits-h
+
+BUILT_SOURCES += $(LIMITS_H)
+
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+if GL_GENERATE_LIMITS_H
+limits.h: limits.in.h $(top_builddir)/config.status
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+	  sed -e 's|@''GUARD_PREFIX''@|GL|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_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+	      < $(srcdir)/limits.in.h; \
+	} > $@-t && \
+	mv $@-t $@
+else
+limits.h: $(top_builddir)/config.status
+	rm -f $@
+endif
+MOSTLYCLEANFILES += limits.h limits.h-t
+
+EXTRA_DIST += limits.in.h
+
+## end   gnulib module limits-h
+
 ## begin gnulib module localcharset
 
 libgnu_a_SOURCES += localcharset.h localcharset.c
@@ -1087,6 +1130,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
 	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 	      -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+	      -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
 	      -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
 	      -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
 	      -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
diff --git a/gdb/gnulib/import/Makefile.in b/gdb/gnulib/import/Makefile.in
index 6e66ba5..f647a88 100644
--- a/gdb/gnulib/import/Makefile.in
+++ b/gdb/gnulib/import/Makefile.in
@@ -15,7 +15,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
+# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
 
 
 
@@ -80,6 +80,7 @@ am__aclocal_m4_deps = $(top_srcdir)/import/m4/00gnulib.m4 \
 	$(top_srcdir)/import/m4/extensions.m4 \
 	$(top_srcdir)/import/m4/extern-inline.m4 \
 	$(top_srcdir)/import/m4/fcntl-o.m4 \
+	$(top_srcdir)/import/m4/flexmember.m4 \
 	$(top_srcdir)/import/m4/float_h.m4 \
 	$(top_srcdir)/import/m4/fnmatch.m4 \
 	$(top_srcdir)/import/m4/fpieee.m4 \
@@ -89,12 +90,14 @@ am__aclocal_m4_deps = $(top_srcdir)/import/m4/00gnulib.m4 \
 	$(top_srcdir)/import/m4/glibc21.m4 \
 	$(top_srcdir)/import/m4/gnulib-common.m4 \
 	$(top_srcdir)/import/m4/gnulib-comp.m4 \
+	$(top_srcdir)/import/m4/hard-locale.m4 \
 	$(top_srcdir)/import/m4/include_next.m4 \
 	$(top_srcdir)/import/m4/inttypes-pri.m4 \
 	$(top_srcdir)/import/m4/inttypes.m4 \
 	$(top_srcdir)/import/m4/isnand.m4 \
 	$(top_srcdir)/import/m4/isnanl.m4 \
 	$(top_srcdir)/import/m4/largefile.m4 \
+	$(top_srcdir)/import/m4/limits-h.m4 \
 	$(top_srcdir)/import/m4/localcharset.m4 \
 	$(top_srcdir)/import/m4/locale-fr.m4 \
 	$(top_srcdir)/import/m4/locale-ja.m4 \
@@ -152,9 +155,9 @@ LIBRARIES = $(noinst_LIBRARIES)
 libgnu_a_AR = $(AR) $(ARFLAGS)
 am__DEPENDENCIES_1 =
 am_libgnu_a_OBJECTS = dirname-lgpl.$(OBJEXT) basename-lgpl.$(OBJEXT) \
-	stripslash.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
-	math.$(OBJEXT) strnlen1.$(OBJEXT) unistd.$(OBJEXT) \
-	wctype-h.$(OBJEXT)
+	stripslash.$(OBJEXT) hard-locale.$(OBJEXT) \
+	localcharset.$(OBJEXT) malloca.$(OBJEXT) math.$(OBJEXT) \
+	strnlen1.$(OBJEXT) unistd.$(OBJEXT) wctype-h.$(OBJEXT)
 libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
@@ -609,6 +612,7 @@ HAVE_ATANF = @HAVE_ATANF@
 HAVE_ATANL = @HAVE_ATANL@
 HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
 HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
 HAVE_CBRT = @HAVE_CBRT@
 HAVE_CBRTF = @HAVE_CBRTF@
@@ -922,6 +926,7 @@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
 LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIMITS_H = @LIMITS_H@
 LN_S = @LN_S@
 LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
 LOCALE_FR = @LOCALE_FR@
@@ -936,6 +941,7 @@ NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
 NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
 NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
 NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
 NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
 NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
@@ -954,6 +960,7 @@ NEXT_DIRENT_H = @NEXT_DIRENT_H@
 NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LIMITS_H = @NEXT_LIMITS_H@
 NEXT_MATH_H = @NEXT_MATH_H@
 NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
 NEXT_STDDEF_H = @NEXT_STDDEF_H@
@@ -1272,16 +1279,17 @@ noinst_LIBRARIES = libgnu.a
 noinst_LTLIBRARIES = 
 EXTRA_DIST = m4/gnulib-cache.m4 alloca.c alloca.in.h \
 	canonicalize-lgpl.c dirent.in.h dirfd.c dirname.h dosname.h \
-	errno.in.h float.c float.in.h itold.c fnmatch.c fnmatch.in.h \
-	fnmatch_loop.c fpucw.h frexp.c frexp.c frexpl.c gettimeofday.c \
-	inttypes.in.h float+.h isnan.c isnand-nolibm.h isnand.c \
-	float+.h isnan.c isnanl-nolibm.h isnanl.c config.charset \
-	ref-add.sin ref-del.sin lstat.c malloc.c malloca.h \
-	malloca.valgrind math.in.h mbrtowc.c mbsinit.c \
-	mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c memchr.c \
-	memchr.valgrind memmem.c str-two-way.h pathmax.h rawmemchr.c \
-	rawmemchr.valgrind readlink.c rename.c rmdir.c same-inode.h \
-	signal.in.h $(top_srcdir)/import/extra/snippet/_Noreturn.h \
+	errno.in.h flexmember.h float.c float.in.h itold.c fnmatch.c \
+	fnmatch.in.h fnmatch_loop.c fpucw.h frexp.c frexp.c frexpl.c \
+	gettimeofday.c hard-locale.h inttypes.in.h float+.h isnan.c \
+	isnand-nolibm.h isnand.c float+.h isnan.c isnanl-nolibm.h \
+	isnanl.c limits.in.h config.charset ref-add.sin ref-del.sin \
+	lstat.c malloc.c malloca.h malloca.valgrind math.in.h \
+	mbrtowc.c mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c \
+	mbsrtowcs.c memchr.c memchr.valgrind memmem.c str-two-way.h \
+	pathmax.h rawmemchr.c rawmemchr.valgrind readlink.c rename.c \
+	rmdir.c same-inode.h signal.in.h \
+	$(top_srcdir)/import/extra/snippet/_Noreturn.h \
 	$(top_srcdir)/import/extra/snippet/arg-nonnull.h \
 	$(top_srcdir)/import/extra/snippet/c++defs.h \
 	$(top_srcdir)/import/extra/snippet/warn-on-use.h stat.c \
@@ -1302,20 +1310,20 @@ EXTRA_DIST = m4/gnulib-cache.m4 alloca.c alloca.in.h \
 # present in all Makefile.am that need it. This is ensured by the applicability
 # 'all' defined above.
 BUILT_SOURCES = $(ALLOCA_H) configmake.h dirent.h $(ERRNO_H) \
-	$(FLOAT_H) $(FNMATCH_H) inttypes.h math.h signal.h \
+	$(FLOAT_H) $(FNMATCH_H) inttypes.h $(LIMITS_H) math.h signal.h \
 	arg-nonnull.h c++defs.h warn-on-use.h $(STDBOOL_H) $(STDDEF_H) \
 	$(STDINT_H) stdio.h stdlib.h string.h sys/stat.h sys/time.h \
 	sys/types.h time.h unistd.h wchar.h wctype.h
 SUFFIXES = .sed .sin
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \
 	dirent.h-t errno.h errno.h-t float.h float.h-t fnmatch.h \
-	fnmatch.h-t inttypes.h inttypes.h-t math.h math.h-t signal.h \
-	signal.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
-	warn-on-use.h warn-on-use.h-t 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/stat.h sys/stat.h-t \
-	sys/time.h sys/time.h-t sys/types.h sys/types.h-t time.h \
-	time.h-t unistd.h unistd.h-t wchar.h wchar.h-t wctype.h \
+	fnmatch.h-t inttypes.h inttypes.h-t limits.h limits.h-t math.h \
+	math.h-t signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t \
+	c++defs.h c++defs.h-t warn-on-use.h warn-on-use.h-t 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/stat.h \
+	sys/stat.h-t sys/time.h sys/time.h-t sys/types.h sys/types.h-t \
+	time.h time.h-t unistd.h unistd.h-t wchar.h wchar.h-t wctype.h \
 	wctype.h-t
 MOSTLYCLEANDIRS = sys
 CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
@@ -1325,8 +1333,8 @@ MAINTAINERCLEANFILES =
 AM_CPPFLAGS = 
 AM_CFLAGS = 
 libgnu_a_SOURCES = dirname-lgpl.c basename-lgpl.c stripslash.c \
-	localcharset.h localcharset.c malloca.c math.c strnlen1.h \
-	strnlen1.c unistd.c wctype-h.c
+	hard-locale.c localcharset.h localcharset.c malloca.c math.c \
+	strnlen1.h strnlen1.c unistd.c wctype-h.c
 libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
 libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
 EXTRA_libgnu_a_SOURCES = alloca.c canonicalize-lgpl.c dirfd.c float.c \
@@ -1420,6 +1428,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frexp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frexpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hard-locale.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnan.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnand.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnanl.Po@am__quote@
@@ -1958,6 +1967,22 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
 	} > $@-t && \
 	mv $@-t $@
 
+# We need the following in order to create <limits.h> when the system
+# doesn't have one that is compatible with GNU.
+@GL_GENERATE_LIMITS_H_TRUE@limits.h: limits.in.h $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_TRUE@	$(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_LIMITS_H_TRUE@	{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_LIMITS_H_TRUE@	  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_LIMITS_H_TRUE@	      -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_LIMITS_H_TRUE@	      -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
+@GL_GENERATE_LIMITS_H_TRUE@	      < $(srcdir)/limits.in.h; \
+@GL_GENERATE_LIMITS_H_TRUE@	} > $@-t && \
+@GL_GENERATE_LIMITS_H_TRUE@	mv $@-t $@
+@GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status
+@GL_GENERATE_LIMITS_H_FALSE@	rm -f $@
+
 # We need the following in order to install a simple file in $(libdir)
 # which is shared with other installed packages. We use a list of referencing
 # packages so that "make uninstall" will remove the file if and only if it
@@ -2391,6 +2416,7 @@ warn-on-use.h: $(top_srcdir)/import/extra/snippet/warn-on-use.h
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@	      -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
 @GL_GENERATE_STDINT_H_TRUE@	      -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
diff --git a/gdb/gnulib/import/alloca.in.h b/gdb/gnulib/import/alloca.in.h
index 906fe92..6a25ecd 100644
--- a/gdb/gnulib/import/alloca.in.h
+++ b/gdb/gnulib/import/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2016 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
@@ -51,6 +51,8 @@ extern "C"
 void *_alloca (unsigned short);
 #  pragma intrinsic (_alloca)
 #  define alloca _alloca
+# elif defined __MVS__
+#  include <stdlib.h>
 # else
 #  include <stddef.h>
 #  ifdef  __cplusplus
diff --git a/gdb/gnulib/import/basename-lgpl.c b/gdb/gnulib/import/basename-lgpl.c
index aae1280..1182109 100644
--- a/gdb/gnulib/import/basename-lgpl.c
+++ b/gdb/gnulib/import/basename-lgpl.c
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2015 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2016 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/canonicalize-lgpl.c b/gdb/gnulib/import/canonicalize-lgpl.c
index 1c9f2ee..4a38a46 100644
--- a/gdb/gnulib/import/canonicalize-lgpl.c
+++ b/gdb/gnulib/import/canonicalize-lgpl.c
@@ -1,5 +1,5 @@
 /* Return the canonical absolute name of a given file.
-   Copyright (C) 1996-2015 Free Software Foundation, Inc.
+   Copyright (C) 1996-2016 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -84,6 +84,17 @@
 #endif
 
 #if !FUNC_REALPATH_WORKS || defined _LIBC
+
+static void
+alloc_failed (void)
+{
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+  /* Avoid errno problem without using the malloc or realloc modules; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00025.html  */
+  errno = ENOMEM;
+#endif
+}
+
 /* Return the canonical absolute name of file NAME.  A canonical name
    does not contain any ".", ".." components nor any repeated path
    separators ('/') or symlinks.  All path components must exist.  If
@@ -135,9 +146,7 @@ __realpath (const char *name, char *resolved)
       rpath = malloc (path_max);
       if (rpath == NULL)
         {
-          /* It's easier to set errno to ENOMEM than to rely on the
-             'malloc-posix' gnulib module.  */
-          errno = ENOMEM;
+          alloc_failed ();
           return NULL;
         }
     }
@@ -238,9 +247,7 @@ __realpath (const char *name, char *resolved)
               new_rpath = (char *) realloc (rpath, new_size);
               if (new_rpath == NULL)
                 {
-                  /* It's easier to set errno to ENOMEM than to rely on the
-                     'realloc-posix' gnulib module.  */
-                  errno = ENOMEM;
+                  alloc_failed ();
                   goto error;
                 }
               rpath = new_rpath;
@@ -278,7 +285,7 @@ __realpath (const char *name, char *resolved)
               buf = malloca (path_max);
               if (!buf)
                 {
-                  errno = ENOMEM;
+                  __set_errno (ENOMEM);
                   goto error;
                 }
 
@@ -287,7 +294,7 @@ __realpath (const char *name, char *resolved)
                 {
                   int saved_errno = errno;
                   freea (buf);
-                  errno = saved_errno;
+                  __set_errno (saved_errno);
                   goto error;
                 }
               buf[n] = '\0';
@@ -298,7 +305,7 @@ __realpath (const char *name, char *resolved)
                   if (!extra_buf)
                     {
                       freea (buf);
-                      errno = ENOMEM;
+                      __set_errno (ENOMEM);
                       goto error;
                     }
                 }
@@ -370,7 +377,7 @@ error:
       freea (extra_buf);
     if (resolved == NULL)
       free (rpath);
-    errno = saved_errno;
+    __set_errno (saved_errno);
   }
   return NULL;
 }
diff --git a/gdb/gnulib/import/config.charset b/gdb/gnulib/import/config.charset
index f06d7e9..947d916 100644
--- a/gdb/gnulib/import/config.charset
+++ b/gdb/gnulib/import/config.charset
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
-#   Copyright (C) 2000-2004, 2006-2015 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2004, 2006-2016 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/dirent.in.h b/gdb/gnulib/import/dirent.in.h
index 154d268..65482d7 100644
--- a/gdb/gnulib/import/dirent.in.h
+++ b/gdb/gnulib/import/dirent.in.h
@@ -1,5 +1,5 @@
 /* A GNU-like <dirent.h>.
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -158,6 +158,13 @@ _GL_WARN_ON_USE (closedir, "closedir is not portable - "
 #  endif
 _GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
 _GL_CXXALIAS_RPL (dirfd, int, (DIR *));
+
+#  ifdef __KLIBC__
+/* Gnulib internal hooks needed to maintain the dirfd metadata.  */
+_GL_EXTERN_C int _gl_register_dirp_fd (int fd, DIR *dirp)
+     _GL_ARG_NONNULL ((2));
+_GL_EXTERN_C void _gl_unregister_dirp_fd (int fd);
+#  endif
 # else
 #  if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd
     /* dirfd is defined as a macro and not as a function.
diff --git a/gdb/gnulib/import/dirfd.c b/gdb/gnulib/import/dirfd.c
index c91f8e5..a325848 100644
--- a/gdb/gnulib/import/dirfd.c
+++ b/gdb/gnulib/import/dirfd.c
@@ -1,6 +1,6 @@
 /* dirfd.c -- return the file descriptor associated with an open DIR*
 
-   Copyright (C) 2001, 2006, 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,11 +22,77 @@
 #include <dirent.h>
 #include <errno.h>
 
+#ifdef __KLIBC__
+# include <stdlib.h>
+# include <io.h>
+
+static struct dirp_fd_list
+{
+  DIR *dirp;
+  int fd;
+  struct dirp_fd_list *next;
+} *dirp_fd_start = NULL;
+
+/* Register fd associated with dirp to dirp_fd_list. */
+int
+_gl_register_dirp_fd (int fd, DIR *dirp)
+{
+  struct dirp_fd_list *new_dirp_fd = malloc (sizeof *new_dirp_fd);
+  if (!new_dirp_fd)
+    return -1;
+
+  new_dirp_fd->dirp = dirp;
+  new_dirp_fd->fd = fd;
+  new_dirp_fd->next = dirp_fd_start;
+
+  dirp_fd_start = new_dirp_fd;
+
+  return 0;
+}
+
+/* Unregister fd from dirp_fd_list with closing it */
+void
+_gl_unregister_dirp_fd (int fd)
+{
+  struct dirp_fd_list *dirp_fd;
+  struct dirp_fd_list *dirp_fd_prev;
+
+  for (dirp_fd_prev = NULL, dirp_fd = dirp_fd_start; dirp_fd;
+       dirp_fd_prev = dirp_fd, dirp_fd = dirp_fd->next)
+    {
+      if (dirp_fd->fd == fd)
+        {
+          if (dirp_fd_prev)
+            dirp_fd_prev->next = dirp_fd->next;
+          else  /* dirp_fd == dirp_fd_start */
+            dirp_fd_start = dirp_fd_start->next;
+
+          close (fd);
+          free (dirp_fd);
+          break;
+        }
+    }
+}
+#endif
+
 int
 dirfd (DIR *dir_p)
 {
   int fd = DIR_TO_FD (dir_p);
   if (fd == -1)
+#ifndef __KLIBC__
     errno = ENOTSUP;
+#else
+    {
+      struct dirp_fd_list *dirp_fd;
+
+      for (dirp_fd = dirp_fd_start; dirp_fd; dirp_fd = dirp_fd->next)
+        if (dirp_fd->dirp == dir_p)
+          return dirp_fd->fd;
+
+      errno = EINVAL;
+    }
+#endif
+
   return fd;
 }
diff --git a/gdb/gnulib/import/dirname-lgpl.c b/gdb/gnulib/import/dirname-lgpl.c
index 9839135..a7aabf9 100644
--- a/gdb/gnulib/import/dirname-lgpl.c
+++ b/gdb/gnulib/import/dirname-lgpl.c
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2015 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2016 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/dirname.h b/gdb/gnulib/import/dirname.h
index 55021ec..875b31b 100644
--- a/gdb/gnulib/import/dirname.h
+++ b/gdb/gnulib/import/dirname.h
@@ -1,6 +1,6 @@
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2015 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2016 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/dosname.h b/gdb/gnulib/import/dosname.h
index 893baf6..83a953f 100644
--- a/gdb/gnulib/import/dosname.h
+++ b/gdb/gnulib/import/dosname.h
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/errno.in.h b/gdb/gnulib/import/errno.in.h
index affbb97..b8397ee 100644
--- a/gdb/gnulib/import/errno.in.h
+++ b/gdb/gnulib/import/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/extra/snippet/arg-nonnull.h b/gdb/gnulib/import/extra/snippet/arg-nonnull.h
index 0d55e2b..584649f 100644
--- a/gdb/gnulib/import/extra/snippet/arg-nonnull.h
+++ b/gdb/gnulib/import/extra/snippet/arg-nonnull.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gdb/gnulib/import/extra/snippet/c++defs.h b/gdb/gnulib/import/extra/snippet/c++defs.h
index 585b38a..813f2e2 100644
--- a/gdb/gnulib/import/extra/snippet/c++defs.h
+++ b/gdb/gnulib/import/extra/snippet/c++defs.h
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gdb/gnulib/import/extra/snippet/warn-on-use.h b/gdb/gnulib/import/extra/snippet/warn-on-use.h
index 90f4985..2948b47 100644
--- a/gdb/gnulib/import/extra/snippet/warn-on-use.h
+++ b/gdb/gnulib/import/extra/snippet/warn-on-use.h
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gdb/gnulib/import/extra/update-copyright b/gdb/gnulib/import/extra/update-copyright
index 8cc36e2..17ee6b1 100755
--- a/gdb/gnulib/import/extra/update-copyright
+++ b/gdb/gnulib/import/extra/update-copyright
@@ -1,11 +1,11 @@
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
   & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
     if 0;
 # Update an FSF copyright year list to include the current year.
 
-my $VERSION = '2015-01-15.20:53'; # UTC
+my $VERSION = '2016-01-12.23:13'; # UTC
 
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -269,6 +269,6 @@ else
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "my $VERSION = '"
 # time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "'; # UTC"
 # End:
diff --git a/gdb/gnulib/import/flexmember.h b/gdb/gnulib/import/flexmember.h
new file mode 100644
index 0000000..62c556b
--- /dev/null
+++ b/gdb/gnulib/import/flexmember.h
@@ -0,0 +1,42 @@
+/* Sizes of structs with flexible array members.
+
+   Copyright 2016 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+   Written by Paul Eggert.  */
+
+#include <stddef.h>
+
+/* Nonzero multiple of alignment of TYPE, suitable for FLEXSIZEOF below.
+   On older platforms without _Alignof, use a pessimistic bound that is
+   safe in practice even if FLEXIBLE_ARRAY_MEMBER is 1.
+   On newer platforms, use _Alignof to get a tighter bound.  */
+
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# define FLEXALIGNOF(type) (sizeof (type) & ~ (sizeof (type) - 1))
+#else
+# define FLEXALIGNOF(type) _Alignof (type)
+#endif
+
+/* Upper bound on the size of a struct of type TYPE with a flexible
+   array member named MEMBER that is followed by N bytes of other data.
+   This is not simply sizeof (TYPE) + N, since it may require
+   alignment on unusually picky C11 platforms, and
+   FLEXIBLE_ARRAY_MEMBER may be 1 on pre-C11 platforms.
+   Yield a value less than N if and only if arithmetic overflow occurs.  */
+
+#define FLEXSIZEOF(type, member, n) \
+   ((offsetof (type, member) + FLEXALIGNOF (type) - 1 + (n)) \
+    & ~ (FLEXALIGNOF (type) - 1))
diff --git a/gdb/gnulib/import/float+.h b/gdb/gnulib/import/float+.h
index e6aaa92..00fcc76 100644
--- a/gdb/gnulib/import/float+.h
+++ b/gdb/gnulib/import/float+.h
@@ -1,5 +1,5 @@
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/float.c b/gdb/gnulib/import/float.c
index dac9f88..1bad2ee 100644
--- a/gdb/gnulib/import/float.c
+++ b/gdb/gnulib/import/float.c
@@ -1,5 +1,5 @@
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/float.in.h b/gdb/gnulib/import/float.in.h
index 3bb3826..0b93d90 100644
--- a/gdb/gnulib/import/float.in.h
+++ b/gdb/gnulib/import/float.in.h
@@ -1,6 +1,6 @@
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/fnmatch.c b/gdb/gnulib/import/fnmatch.c
index f4a9e7c..0858091 100644
--- a/gdb/gnulib/import/fnmatch.c
+++ b/gdb/gnulib/import/fnmatch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
 # define _GNU_SOURCE    1
 #endif
 
-#if ! defined __builtin_expect && __GNUC__ < 3
+#if ! defined __builtin_expect && defined __GNUC__ && __GNUC__ < 3
 # define __builtin_expect(expr, expected) (expr)
 #endif
 
@@ -67,6 +67,8 @@ extern int fnmatch (const char *pattern, const char *string, int flags);
 # define SIZE_MAX ((size_t) -1)
 #endif
 
+#include "flexmember.h"
+
 /* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set.  */
 #define NO_LEADING_PERIOD(flags) \
   ((flags & (FNM_FILE_NAME | FNM_PERIOD)) == (FNM_FILE_NAME | FNM_PERIOD))
diff --git a/gdb/gnulib/import/fnmatch.in.h b/gdb/gnulib/import/fnmatch.in.h
index eb5815a..890ee56 100644
--- a/gdb/gnulib/import/fnmatch.in.h
+++ b/gdb/gnulib/import/fnmatch.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2015 Free
+/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2016 Free
    Software Foundation, Inc.
 
    This file is part of the GNU C Library.
diff --git a/gdb/gnulib/import/fnmatch_loop.c b/gdb/gnulib/import/fnmatch_loop.c
index 61778bd..0c2b484 100644
--- a/gdb/gnulib/import/fnmatch_loop.c
+++ b/gdb/gnulib/import/fnmatch_loop.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2016 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -1031,7 +1031,7 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
   struct patternlist
   {
     struct patternlist *next;
-    CHAR str[1];
+    CHAR str[FLEXIBLE_ARRAY_MEMBER];
   } *list = NULL;
   struct patternlist **lastp = &list;
   size_t pattern_len = STRLEN (pattern);
@@ -1083,7 +1083,7 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
                     ? pattern_len                                             \
                     : p - startp + 1UL);                                      \
             plensize = plen * sizeof (CHAR);                                  \
-            newpsize = offsetof (struct patternlist, str) + plensize;         \
+            newpsize = FLEXSIZEOF (struct patternlist, str, plensize);        \
             if ((size_t) -1 / sizeof (CHAR) < plen                            \
                 || newpsize < offsetof (struct patternlist, str)              \
                 || ALLOCA_LIMIT <= newpsize)                                  \
diff --git a/gdb/gnulib/import/fpucw.h b/gdb/gnulib/import/fpucw.h
index cedd5b4..05ee0ca 100644
--- a/gdb/gnulib/import/fpucw.h
+++ b/gdb/gnulib/import/fpucw.h
@@ -1,5 +1,5 @@
-/* Manipulating the FPU control word.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+/* Manipulating the FPU control word.  -*- coding: utf-8 -*-
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2007.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/frexp.c b/gdb/gnulib/import/frexp.c
index 776bd53..5edb028 100644
--- a/gdb/gnulib/import/frexp.c
+++ b/gdb/gnulib/import/frexp.c
@@ -1,5 +1,5 @@
 /* Split a double into fraction and mantissa.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/frexpl.c b/gdb/gnulib/import/frexpl.c
index e09cc10..714a2ff 100644
--- a/gdb/gnulib/import/frexpl.c
+++ b/gdb/gnulib/import/frexpl.c
@@ -1,5 +1,5 @@
 /* Split a 'long double' into fraction and mantissa.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/gettimeofday.c b/gdb/gnulib/import/gettimeofday.c
index e0e2e69..224ca6a 100644
--- a/gdb/gnulib/import/gettimeofday.c
+++ b/gdb/gnulib/import/gettimeofday.c
@@ -1,6 +1,6 @@
 /* Provide gettimeofday for systems that don't have it or for which it's broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/hard-locale.c b/gdb/gnulib/import/hard-locale.c
new file mode 100644
index 0000000..c7d9da5
--- /dev/null
+++ b/gdb/gnulib/import/hard-locale.c
@@ -0,0 +1,72 @@
+/* hard-locale.c -- Determine whether a locale is hard.
+
+   Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2016 Free Software
+   Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+
+#include "hard-locale.h"
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef __GLIBC__
+# define GLIBC_VERSION __GLIBC__
+#elif defined __UCLIBC__
+# define GLIBC_VERSION 2
+#else
+# define GLIBC_VERSION 0
+#endif
+
+/* Return true if the current CATEGORY locale is hard, i.e. if you
+   can't get away with assuming traditional C or POSIX behavior.  */
+bool
+hard_locale (int category)
+{
+  bool hard = true;
+  char const *p = setlocale (category, NULL);
+
+  if (p)
+    {
+      if (2 <= GLIBC_VERSION)
+        {
+          if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0)
+            hard = false;
+        }
+      else
+        {
+          char *locale = strdup (p);
+          if (locale)
+            {
+              /* Temporarily set the locale to the "C" and "POSIX" locales
+                 to find their names, so that we can determine whether one
+                 or the other is the caller's locale.  */
+              if (((p = setlocale (category, "C"))
+                   && strcmp (p, locale) == 0)
+                  || ((p = setlocale (category, "POSIX"))
+                      && strcmp (p, locale) == 0))
+                hard = false;
+
+              /* Restore the caller's locale.  */
+              setlocale (category, locale);
+              free (locale);
+            }
+        }
+    }
+
+  return hard;
+}
diff --git a/gdb/gnulib/import/hard-locale.h b/gdb/gnulib/import/hard-locale.h
new file mode 100644
index 0000000..7644afa
--- /dev/null
+++ b/gdb/gnulib/import/hard-locale.h
@@ -0,0 +1,25 @@
+/* Determine whether a locale is hard.
+
+   Copyright (C) 1999, 2003-2004, 2009-2016 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef HARD_LOCALE_H_
+# define HARD_LOCALE_H_ 1
+
+# include <stdbool.h>
+
+bool hard_locale (int);
+
+#endif /* HARD_LOCALE_H_ */
diff --git a/gdb/gnulib/import/inttypes.in.h b/gdb/gnulib/import/inttypes.in.h
index 78846f6..ed09db6 100644
--- a/gdb/gnulib/import/inttypes.in.h
+++ b/gdb/gnulib/import/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
diff --git a/gdb/gnulib/import/isnan.c b/gdb/gnulib/import/isnan.c
index 5eb11d9..e1e57b2 100644
--- a/gdb/gnulib/import/isnan.c
+++ b/gdb/gnulib/import/isnan.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/isnand-nolibm.h b/gdb/gnulib/import/isnand-nolibm.h
index ca3a87a..dc47264 100644
--- a/gdb/gnulib/import/isnand-nolibm.h
+++ b/gdb/gnulib/import/isnand-nolibm.h
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/isnand.c b/gdb/gnulib/import/isnand.c
index 3fd803b..405b23a 100644
--- a/gdb/gnulib/import/isnand.c
+++ b/gdb/gnulib/import/isnand.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/isnanl-nolibm.h b/gdb/gnulib/import/isnanl-nolibm.h
index 22d536d..efd9199 100644
--- a/gdb/gnulib/import/isnanl-nolibm.h
+++ b/gdb/gnulib/import/isnanl-nolibm.h
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/isnanl.c b/gdb/gnulib/import/isnanl.c
index 8f05eb7..67d39d1 100644
--- a/gdb/gnulib/import/isnanl.c
+++ b/gdb/gnulib/import/isnanl.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/itold.c b/gdb/gnulib/import/itold.c
index 1eee03e..5533392 100644
--- a/gdb/gnulib/import/itold.c
+++ b/gdb/gnulib/import/itold.c
@@ -1,5 +1,5 @@
 /* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/limits.in.h b/gdb/gnulib/import/limits.in.h
new file mode 100644
index 0000000..a1eae02
--- /dev/null
+++ b/gdb/gnulib/import/limits.in.h
@@ -0,0 +1,63 @@
+/* A GNU-like <limits.h>.
+
+   Copyright 2016 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 3, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_LIMITS_H@
+
+#ifndef _@GUARD_PREFIX@_LIMITS_H
+#define _@GUARD_PREFIX@_LIMITS_H
+
+/* The number of usable bits in an unsigned or signed integer type
+   with minimum value MIN and maximum value MAX, as an int expression
+   suitable in #if.  Cover all known practical hosts.  This
+   implementation exploits the fact that MAX is 1 less than a power of
+   2, and merely counts the number of 1 bits in MAX; "COBn" means
+   "count the number of 1 bits in the low-order n bits").  */
+#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max))
+#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n))
+#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n))
+#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n))
+#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n))
+#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
+#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (! defined ULLONG_WIDTH                                             \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX)
+# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX)
+# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX)
+# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX)
+# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX)
+# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX)
+# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX)
+# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX)
+# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX)
+# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX)
+# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
+#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
+
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
+#endif /* _@GUARD_PREFIX@_LIMITS_H */
diff --git a/gdb/gnulib/import/localcharset.c b/gdb/gnulib/import/localcharset.c
index 1f02aa5..b2a0369 100644
--- a/gdb/gnulib/import/localcharset.c
+++ b/gdb/gnulib/import/localcharset.c
@@ -1,6 +1,6 @@
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006, 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/localcharset.h b/gdb/gnulib/import/localcharset.h
index c5e6d46..915182e 100644
--- a/gdb/gnulib/import/localcharset.h
+++ b/gdb/gnulib/import/localcharset.h
@@ -1,5 +1,5 @@
 /* Determine a canonical name for the current locale's character encoding.
-   Copyright (C) 2000-2003, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2016 Free Software Foundation, Inc.
    This file is part of the GNU CHARSET Library.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/lstat.c b/gdb/gnulib/import/lstat.c
index 31dee13..03b0634 100644
--- a/gdb/gnulib/import/lstat.c
+++ b/gdb/gnulib/import/lstat.c
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/m4/00gnulib.m4 b/gdb/gnulib/import/m4/00gnulib.m4
index c7103ed..bb37e32 100644
--- a/gdb/gnulib/import/m4/00gnulib.m4
+++ b/gdb/gnulib/import/m4/00gnulib.m4
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/absolute-header.m4 b/gdb/gnulib/import/m4/absolute-header.m4
index bc19dfc..7ffc38d 100644
--- a/gdb/gnulib/import/m4/absolute-header.m4
+++ b/gdb/gnulib/import/m4/absolute-header.m4
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/alloca.m4 b/gdb/gnulib/import/m4/alloca.m4
index 8408bed..2382ff1 100644
--- a/gdb/gnulib/import/m4/alloca.m4
+++ b/gdb/gnulib/import/m4/alloca.m4
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/canonicalize.m4 b/gdb/gnulib/import/m4/canonicalize.m4
index 6d932fd..cbbf3e2 100644
--- a/gdb/gnulib/import/m4/canonicalize.m4
+++ b/gdb/gnulib/import/m4/canonicalize.m4
@@ -1,6 +1,6 @@
-# canonicalize.m4 serial 26
+# canonicalize.m4 serial 28
 
-dnl Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2016 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -83,22 +83,27 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
           char *name = realpath ("conftest.a", NULL);
           if (!(name && *name == '/'))
             result |= 1;
+          free (name);
         }
         {
           char *name = realpath ("conftest.b/../conftest.a", NULL);
           if (name != NULL)
             result |= 2;
+          free (name);
         }
         {
           char *name = realpath ("conftest.a/", NULL);
           if (name != NULL)
             result |= 4;
+          free (name);
         }
         {
           char *name1 = realpath (".", NULL);
           char *name2 = realpath ("conftest.d//./..", NULL);
-          if (strcmp (name1, name2) != 0)
+          if (! name1 || ! name2 || strcmp (name1, name2))
             result |= 8;
+          free (name1);
+          free (name2);
         }
         return result;
       ]])
diff --git a/gdb/gnulib/import/m4/codeset.m4 b/gdb/gnulib/import/m4/codeset.m4
index d7de8d6..bc98201 100644
--- a/gdb/gnulib/import/m4/codeset.m4
+++ b/gdb/gnulib/import/m4/codeset.m4
@@ -1,5 +1,6 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016 Free Software Foundation,
+dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/configmake.m4 b/gdb/gnulib/import/m4/configmake.m4
index 49d3a13..80b9254 100644
--- a/gdb/gnulib/import/m4/configmake.m4
+++ b/gdb/gnulib/import/m4/configmake.m4
@@ -1,5 +1,5 @@
 # configmake.m4 serial 2
-dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/dirent_h.m4 b/gdb/gnulib/import/m4/dirent_h.m4
index 7abd1d0..68836a4 100644
--- a/gdb/gnulib/import/m4/dirent_h.m4
+++ b/gdb/gnulib/import/m4/dirent_h.m4
@@ -1,5 +1,5 @@
 # dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/dirfd.m4 b/gdb/gnulib/import/m4/dirfd.m4
index ce56cff..1d7cb08 100644
--- a/gdb/gnulib/import/m4/dirfd.m4
+++ b/gdb/gnulib/import/m4/dirfd.m4
@@ -1,8 +1,8 @@
-# serial 22   -*- Autoconf -*-
+# serial 24   -*- Autoconf -*-
 
 dnl Find out how to get the file descriptor associated with an open DIR*.
 
-# Copyright (C) 2001-2006, 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2006, 2008-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -35,13 +35,15 @@ AC_DEFUN([gl_FUNC_DIRFD],
        gl_cv_func_dirfd_macro=yes,
        gl_cv_func_dirfd_macro=no)])
 
-  # Use the replacement only if we have no function or macro with that name.
-  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
-    if test $ac_cv_have_decl_dirfd = yes; then
-      # If the system declares dirfd already, let's declare rpl_dirfd instead.
+  # Use the replacement if we have no function or macro with that name,
+  # or if OS/2 kLIBC whose dirfd() does not work.
+  # Replace only if the system declares dirfd already.
+  case $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro,$host_os,$ac_cv_have_decl_dirfd in
+    no,no,*,yes | *,*,os2*,yes)
       REPLACE_DIRFD=1
-    fi
-  fi
+      AC_DEFINE([REPLACE_DIRFD], [1],
+        [Define to 1 if gnulib's dirfd() replacement is used.]);;
+  esac
 ])
 
 dnl Prerequisites of lib/dirfd.c.
diff --git a/gdb/gnulib/import/m4/dirname.m4 b/gdb/gnulib/import/m4/dirname.m4
index 2a0be51..6f8bec3 100644
--- a/gdb/gnulib/import/m4/dirname.m4
+++ b/gdb/gnulib/import/m4/dirname.m4
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/double-slash-root.m4 b/gdb/gnulib/import/m4/double-slash-root.m4
index f307eb2..dfd3921 100644
--- a/gdb/gnulib/import/m4/double-slash-root.m4
+++ b/gdb/gnulib/import/m4/double-slash-root.m4
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/eealloc.m4 b/gdb/gnulib/import/m4/eealloc.m4
index 322bdd5..63d74de 100644
--- a/gdb/gnulib/import/m4/eealloc.m4
+++ b/gdb/gnulib/import/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/errno_h.m4 b/gdb/gnulib/import/m4/errno_h.m4
index cfaa687..b111fce 100644
--- a/gdb/gnulib/import/m4/errno_h.m4
+++ b/gdb/gnulib/import/m4/errno_h.m4
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/exponentd.m4 b/gdb/gnulib/import/m4/exponentd.m4
index 84f1691..7869a7d 100644
--- a/gdb/gnulib/import/m4/exponentd.m4
+++ b/gdb/gnulib/import/m4/exponentd.m4
@@ -1,5 +1,5 @@
 # exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/exponentl.m4 b/gdb/gnulib/import/m4/exponentl.m4
index 6b95e73..c49cf2c3 100644
--- a/gdb/gnulib/import/m4/exponentl.m4
+++ b/gdb/gnulib/import/m4/exponentl.m4
@@ -1,5 +1,5 @@
 # exponentl.m4 serial 3
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/extensions.m4 b/gdb/gnulib/import/m4/extensions.m4
index 35bc49c..e114a6f 100644
--- a/gdb/gnulib/import/m4/extensions.m4
+++ b/gdb/gnulib/import/m4/extensions.m4
@@ -1,7 +1,7 @@
-# serial 13  -*- Autoconf -*-
+# serial 15  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -60,7 +60,7 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-/* Enable general extensions on OS X.  */
+/* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
 #endif
@@ -68,14 +68,38 @@ dnl configure.ac when using autoheader 2.62.
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
-/* Use GNU style printf and scanf.  */
-#ifndef __USE_MINGW_ANSI_STDIO
-# undef __USE_MINGW_ANSI_STDIO
-#endif
 /* Enable threading extensions on Solaris.  */
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
 /* Enable extensions on HP NonStop.  */
 #ifndef _TANDEM_SOURCE
 # undef _TANDEM_SOURCE
@@ -104,8 +128,14 @@ dnl configure.ac when using autoheader 2.62.
   AC_DEFINE([_ALL_SOURCE])
   AC_DEFINE([_DARWIN_C_SOURCE])
   AC_DEFINE([_GNU_SOURCE])
-  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+  AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
+  AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
+  AC_DEFINE([__STDC_WANT_LIB_EXT2__])
+  AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__])
   AC_DEFINE([_TANDEM_SOURCE])
   AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
     [ac_cv_should_define__xopen_source],
diff --git a/gdb/gnulib/import/m4/extern-inline.m4 b/gdb/gnulib/import/m4/extern-inline.m4
index 7280065..1e578f3 100644
--- a/gdb/gnulib/import/m4/extern-inline.m4
+++ b/gdb/gnulib/import/m4/extern-inline.m4
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2015 Free Software Foundation, Inc.
+dnl Copyright 2012-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -54,6 +54,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
+         && !defined __PGI \
          && !(defined __SUNPRO_C && __STDC__))) \
      && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
diff --git a/gdb/gnulib/import/m4/fcntl-o.m4 b/gdb/gnulib/import/m4/fcntl-o.m4
index 891a62f..24fcf88 100644
--- a/gdb/gnulib/import/m4/fcntl-o.m4
+++ b/gdb/gnulib/import/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
 # fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/flexmember.m4 b/gdb/gnulib/import/m4/flexmember.m4
new file mode 100644
index 0000000..155ae9b
--- /dev/null
+++ b/gdb/gnulib/import/m4/flexmember.m4
@@ -0,0 +1,43 @@
+# serial 4
+# Check for flexible array member support.
+
+# Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert.
+
+AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER],
+[
+  AC_CACHE_CHECK([for flexible array member],
+    ac_cv_c_flexmember,
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <stdlib.h>
+            #include <stdio.h>
+            #include <stddef.h>
+            struct s { int n; double d[]; };]],
+          [[int m = getchar ();
+            size_t nbytes = offsetof (struct s, d) + m * sizeof (double);
+            nbytes += sizeof (struct s) - 1;
+            nbytes -= nbytes % sizeof (struct s);
+            struct s *p = malloc (nbytes);
+            p->d[0] = 0.0;
+            return p->d != (double *) NULL;]])],
+       [ac_cv_c_flexmember=yes],
+       [ac_cv_c_flexmember=no])])
+  if test $ac_cv_c_flexmember = yes; then
+    AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [],
+      [Define to nothing if C supports flexible array members, and to
+       1 if it does not.  That way, with a declaration like 'struct s
+       { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack
+       can be used with pre-C99 compilers.
+       When computing the size of such an object, don't use 'sizeof (struct s)'
+       as it overestimates the size.  Use 'offsetof (struct s, d)' instead.
+       Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with
+       MSVC and with C++ compilers.])
+  else
+    AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [1])
+  fi
+])
diff --git a/gdb/gnulib/import/m4/float_h.m4 b/gdb/gnulib/import/m4/float_h.m4
index e4853f3..e2887eb 100644
--- a/gdb/gnulib/import/m4/float_h.m4
+++ b/gdb/gnulib/import/m4/float_h.m4
@@ -1,5 +1,5 @@
 # float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/fnmatch.m4 b/gdb/gnulib/import/m4/fnmatch.m4
index c33792f..b38f56c 100644
--- a/gdb/gnulib/import/m4/fnmatch.m4
+++ b/gdb/gnulib/import/m4/fnmatch.m4
@@ -1,6 +1,6 @@
-# Check for fnmatch - serial 9.
+# Check for fnmatch - serial 9.  -*- coding: utf-8 -*-
 
-# Copyright (C) 2000-2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/fpieee.m4 b/gdb/gnulib/import/m4/fpieee.m4
index a4e4899..e11ac9f 100644
--- a/gdb/gnulib/import/m4/fpieee.m4
+++ b/gdb/gnulib/import/m4/fpieee.m4
@@ -1,5 +1,5 @@
-# fpieee.m4 serial 2
-dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+# fpieee.m4 serial 2  -*- coding: utf-8 -*-
+dnl Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/frexp.m4 b/gdb/gnulib/import/m4/frexp.m4
index 04f4067..23f5821 100644
--- a/gdb/gnulib/import/m4/frexp.m4
+++ b/gdb/gnulib/import/m4/frexp.m4
@@ -1,5 +1,5 @@
 # frexp.m4 serial 15
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/frexpl.m4 b/gdb/gnulib/import/m4/frexpl.m4
index cd3ac6e..0bc6afe 100644
--- a/gdb/gnulib/import/m4/frexpl.m4
+++ b/gdb/gnulib/import/m4/frexpl.m4
@@ -1,5 +1,5 @@
 # frexpl.m4 serial 20
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/gettimeofday.m4 b/gdb/gnulib/import/m4/gettimeofday.m4
index ce246e1..4ae5d63 100644
--- a/gdb/gnulib/import/m4/gettimeofday.m4
+++ b/gdb/gnulib/import/m4/gettimeofday.m4
@@ -1,6 +1,6 @@
 # serial 21
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/glibc21.m4 b/gdb/gnulib/import/m4/glibc21.m4
index 3a971c5..dafebf5 100644
--- a/gdb/gnulib/import/m4/glibc21.m4
+++ b/gdb/gnulib/import/m4/glibc21.m4
@@ -1,5 +1,5 @@
 # glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2015 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/gnulib-cache.m4 b/gdb/gnulib/import/m4/gnulib-cache.m4
index 6f3477c..f99e59b 100644
--- a/gdb/gnulib/import/m4/gnulib-cache.m4
+++ b/gdb/gnulib/import/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
+#   gnulib-tool --import --lib=libgnu --source-base=import --m4-base=import/m4 --doc-base=doc --tests-base=tests --aux-dir=import/extra --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca canonicalize-lgpl dirent dirfd errno fnmatch-gnu frexpl inttypes limits-h lstat memchr memmem pathmax rawmemchr readlink rename signal-h strchrnul strstr strtok_r sys_stat unistd update-copyright wchar wctype-h
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
@@ -40,6 +40,7 @@ gl_MODULES([
   fnmatch-gnu
   frexpl
   inttypes
+  limits-h
   lstat
   memchr
   memmem
diff --git a/gdb/gnulib/import/m4/gnulib-common.m4 b/gdb/gnulib/import/m4/gnulib-common.m4
index 40e82f6..f8454c8 100644
--- a/gdb/gnulib/import/m4/gnulib-common.m4
+++ b/gdb/gnulib/import/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
 # gnulib-common.m4 serial 36
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -253,9 +253,10 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
   dnl as "cc", and GCC as "gcc". They have different object file formats and
-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl library formats. In particular, the GNU binutils programs ar and ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
+  AC_BEFORE([$0], [AM_PROG_AR])
   AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
       AC_EGREP_CPP([Amsterdam],
@@ -267,25 +268,37 @@ Amsterdam
         [gl_cv_c_amsterdam_compiler=yes],
         [gl_cv_c_amsterdam_compiler=no])
     ])
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+  dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+  dnl building with __ACK__.
+  if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-      dnl Use the Automake-documented default values for AR and ARFLAGS,
-      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
-      AC_CHECK_TOOL([AR], [ar], [ar])
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cr'
-      fi
     fi
-  else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cr'
+      ARFLAGS='-o'
     fi
+  else
+    dnl AM_PROG_AR was added in automake v1.11.2.  AM_PROG_AR does not AC_SUBST
+    dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+    dnl script on-demand, if not specified by ./configure of course).
+    dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+    dnl will be ignored.  Also, pay attention to call AM_PROG_AR in else block
+    dnl because AM_PROG_AR is written so it could re-set AR variable even for
+    dnl __ACK__.  It may seem like its easier to avoid calling the macro here,
+    dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+    dnl default value and automake should usually know them).
+    m4_ifdef([AM_PROG_AR], [AM_PROG_AR], [:])
+  fi
+
+  dnl In case the code above has not helped with setting AR/ARFLAGS, use
+  dnl Automake-documented default values for AR and ARFLAGS, but prefer
+  dnl ${host}-ar over ar (useful for cross-compiling).
+  AC_CHECK_TOOL([AR], [ar], [ar])
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
+
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
   if test -z "$RANLIB"; then
diff --git a/gdb/gnulib/import/m4/gnulib-comp.m4 b/gdb/gnulib/import/m4/gnulib-comp.m4
index 235dbb8..42d04ed 100644
--- a/gdb/gnulib/import/m4/gnulib-comp.m4
+++ b/gdb/gnulib/import/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -37,7 +37,11 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+
   # Code from module absolute-header:
   # Code from module alloca:
   # Code from module alloca-opt:
@@ -51,8 +55,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module double-slash-root:
   # Code from module errno:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   # Code from module extern-inline:
+  # Code from module flexmember:
   # Code from module float:
   # Code from module fnmatch:
   # Code from module fnmatch-gnu:
@@ -62,6 +66,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module frexp:
   # Code from module frexpl:
   # Code from module gettimeofday:
+  # Code from module hard-locale:
   # Code from module include_next:
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
@@ -69,6 +74,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module isnanl-nolibm:
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
+  # Code from module limits-h:
   # Code from module localcharset:
   # Code from module lstat:
   # Code from module malloc-posix:
@@ -146,7 +152,8 @@ AC_DEFUN([gl_INIT],
   gl_CONFIGMAKE_PREP
   gl_DIRENT_H
   gl_FUNC_DIRFD
-  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \
+     || test $REPLACE_DIRFD = 1; then
     AC_LIBOBJ([dirfd])
     gl_PREREQ_DIRFD
   fi
@@ -155,6 +162,7 @@ AC_DEFUN([gl_INIT],
   gl_DOUBLE_SLASH_ROOT
   gl_HEADER_ERRNO_H
   AC_REQUIRE([gl_EXTERN_INLINE])
+  AC_C_FLEXIBLE_ARRAY_MEMBER
   gl_FLOAT_H
   if test $REPLACE_FLOAT_LDBL = 1; then
     AC_LIBOBJ([float])
@@ -188,6 +196,7 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_GETTIMEOFDAY
   fi
   gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
+  gl_HARD_LOCALE
   gl_INTTYPES_H
   gl_INTTYPES_INCOMPLETE
   gl_FUNC_ISNAND_NO_LIBM
@@ -201,6 +210,7 @@ AC_DEFUN([gl_INIT],
     gl_PREREQ_ISNANL
   fi
   AC_REQUIRE([gl_LARGEFILE])
+  gl_LIMITS_H
   gl_LOCALCHARSET
   LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
   AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
@@ -476,6 +486,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/dirname.h
   lib/dosname.h
   lib/errno.in.h
+  lib/flexmember.h
   lib/float+.h
   lib/float.c
   lib/float.in.h
@@ -486,6 +497,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/frexp.c
   lib/frexpl.c
   lib/gettimeofday.c
+  lib/hard-locale.c
+  lib/hard-locale.h
   lib/inttypes.in.h
   lib/isnan.c
   lib/isnand-nolibm.h
@@ -493,6 +506,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/isnanl-nolibm.h
   lib/isnanl.c
   lib/itold.c
+  lib/limits.in.h
   lib/localcharset.c
   lib/localcharset.h
   lib/lstat.c
@@ -563,6 +577,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/extensions.m4
   m4/extern-inline.m4
   m4/fcntl-o.m4
+  m4/flexmember.m4
   m4/float_h.m4
   m4/fnmatch.m4
   m4/fpieee.m4
@@ -571,12 +586,14 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/gettimeofday.m4
   m4/glibc21.m4
   m4/gnulib-common.m4
+  m4/hard-locale.m4
   m4/include_next.m4
   m4/inttypes-pri.m4
   m4/inttypes.m4
   m4/isnand.m4
   m4/isnanl.m4
   m4/largefile.m4
+  m4/limits-h.m4
   m4/localcharset.m4
   m4/locale-fr.m4
   m4/locale-ja.m4
diff --git a/gdb/gnulib/import/m4/gnulib-tool.m4 b/gdb/gnulib/import/m4/gnulib-tool.m4
index fede1fc..0d2ee44 100644
--- a/gdb/gnulib/import/m4/gnulib-tool.m4
+++ b/gdb/gnulib/import/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/hard-locale.m4 b/gdb/gnulib/import/m4/hard-locale.m4
new file mode 100644
index 0000000..4661bfc
--- /dev/null
+++ b/gdb/gnulib/import/m4/hard-locale.m4
@@ -0,0 +1,11 @@
+# hard-locale.m4 serial 8
+dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl No prerequisites of lib/hard-locale.c.
+AC_DEFUN([gl_HARD_LOCALE],
+[
+  :
+])
diff --git a/gdb/gnulib/import/m4/include_next.m4 b/gdb/gnulib/import/m4/include_next.m4
index 233d254..db0f2c0 100644
--- a/gdb/gnulib/import/m4/include_next.m4
+++ b/gdb/gnulib/import/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/inttypes-pri.m4 b/gdb/gnulib/import/m4/inttypes-pri.m4
index 0884e71..ae20183 100644
--- a/gdb/gnulib/import/m4/inttypes-pri.m4
+++ b/gdb/gnulib/import/m4/inttypes-pri.m4
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/inttypes.m4 b/gdb/gnulib/import/m4/inttypes.m4
index 4209ffd..61cdb1a 100644
--- a/gdb/gnulib/import/m4/inttypes.m4
+++ b/gdb/gnulib/import/m4/inttypes.m4
@@ -1,5 +1,5 @@
 # inttypes.m4 serial 26
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/isnand.m4 b/gdb/gnulib/import/m4/isnand.m4
index 4d5c615..bcf3840 100644
--- a/gdb/gnulib/import/m4/isnand.m4
+++ b/gdb/gnulib/import/m4/isnand.m4
@@ -1,5 +1,5 @@
 # isnand.m4 serial 11
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/isnanl.m4 b/gdb/gnulib/import/m4/isnanl.m4
index b86ca9e..9766e47 100644
--- a/gdb/gnulib/import/m4/isnanl.m4
+++ b/gdb/gnulib/import/m4/isnanl.m4
@@ -1,5 +1,5 @@
 # isnanl.m4 serial 19
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/largefile.m4 b/gdb/gnulib/import/m4/largefile.m4
index b7a6c48..8bbdfaa 100644
--- a/gdb/gnulib/import/m4/largefile.m4
+++ b/gdb/gnulib/import/m4/largefile.m4
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2015 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/limits-h.m4 b/gdb/gnulib/import/m4/limits-h.m4
new file mode 100644
index 0000000..31fdf0a
--- /dev/null
+++ b/gdb/gnulib/import/m4/limits-h.m4
@@ -0,0 +1,31 @@
+dnl Check whether limits.h has needed features.
+
+dnl Copyright 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+AC_DEFUN_ONCE([gl_LIMITS_H],
+[
+  gl_CHECK_NEXT_HEADERS([limits.h])
+
+  AC_CACHE_CHECK([whether limits.h has ULLONG_WIDTH etc.],
+    [gl_cv_header_limits_width],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+                           #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+                          #endif
+                          #include <limits.h>
+                          int ullw = ULLONG_WIDTH;]])],
+       [gl_cv_header_limits_width=yes],
+       [gl_cv_header_limits_width=no])])
+  if test "$gl_cv_header_limits_width" = yes; then
+    LIMITS_H=
+  else
+    LIMITS_H=limits.h
+  fi
+  AC_SUBST([LIMITS_H])
+  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+])
diff --git a/gdb/gnulib/import/m4/localcharset.m4 b/gdb/gnulib/import/m4/localcharset.m4
index f03916c..22c311b 100644
--- a/gdb/gnulib/import/m4/localcharset.m4
+++ b/gdb/gnulib/import/m4/localcharset.m4
@@ -1,5 +1,5 @@
 # localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/locale-fr.m4 b/gdb/gnulib/import/m4/locale-fr.m4
index 92ff552..92896a0 100644
--- a/gdb/gnulib/import/m4/locale-fr.m4
+++ b/gdb/gnulib/import/m4/locale-fr.m4
@@ -1,5 +1,5 @@
 # locale-fr.m4 serial 17
-dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/locale-ja.m4 b/gdb/gnulib/import/m4/locale-ja.m4
index a3abef8..f222a08 100644
--- a/gdb/gnulib/import/m4/locale-ja.m4
+++ b/gdb/gnulib/import/m4/locale-ja.m4
@@ -1,5 +1,5 @@
 # locale-ja.m4 serial 12
-dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/locale-zh.m4 b/gdb/gnulib/import/m4/locale-zh.m4
index c5c4ef6..2271f77 100644
--- a/gdb/gnulib/import/m4/locale-zh.m4
+++ b/gdb/gnulib/import/m4/locale-zh.m4
@@ -1,5 +1,5 @@
 # locale-zh.m4 serial 12
-dnl Copyright (C) 2003, 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/longlong.m4 b/gdb/gnulib/import/m4/longlong.m4
index d57bc70..36d8b12 100644
--- a/gdb/gnulib/import/m4/longlong.m4
+++ b/gdb/gnulib/import/m4/longlong.m4
@@ -1,5 +1,5 @@
 # longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/lstat.m4 b/gdb/gnulib/import/m4/lstat.m4
index adf752c..e143d5c 100644
--- a/gdb/gnulib/import/m4/lstat.m4
+++ b/gdb/gnulib/import/m4/lstat.m4
@@ -1,6 +1,6 @@
 # serial 27
 
-# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2016 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/malloc.m4 b/gdb/gnulib/import/m4/malloc.m4
index 31368ab..c393690 100644
--- a/gdb/gnulib/import/m4/malloc.m4
+++ b/gdb/gnulib/import/m4/malloc.m4
@@ -1,13 +1,13 @@
-# malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+# malloc.m4 serial 15
+dnl Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 m4_version_prereq([2.70], [] ,[
 
-# This is taken from the following Autoconf patch:
-# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
+# This is adapted with modifications from upstream Autoconf here:
+# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=04be2b7a29d65d9a08e64e8e56e594c91749598c
 AC_DEFUN([_AC_FUNC_MALLOC_IF],
 [
   AC_REQUIRE([AC_HEADER_STDC])dnl
@@ -23,7 +23,10 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
             char *malloc ();
             #endif
           ]],
-          [[return ! malloc (0);]])
+          [[char *p = malloc (0);
+            int result = !p;
+            free (p);
+            return result;]])
        ],
        [ac_cv_func_malloc_0_nonnull=yes],
        [ac_cv_func_malloc_0_nonnull=no],
diff --git a/gdb/gnulib/import/m4/malloca.m4 b/gdb/gnulib/import/m4/malloca.m4
index 7248951..b368b20 100644
--- a/gdb/gnulib/import/m4/malloca.m4
+++ b/gdb/gnulib/import/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2015 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/math_h.m4 b/gdb/gnulib/import/m4/math_h.m4
index 7d0f583..35d07ee 100644
--- a/gdb/gnulib/import/m4/math_h.m4
+++ b/gdb/gnulib/import/m4/math_h.m4
@@ -1,5 +1,5 @@
 # math_h.m4 serial 114
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/mbrtowc.m4 b/gdb/gnulib/import/m4/mbrtowc.m4
index c0d751d..d370fcc 100644
--- a/gdb/gnulib/import/m4/mbrtowc.m4
+++ b/gdb/gnulib/import/m4/mbrtowc.m4
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 26
-dnl Copyright (C) 2001-2002, 2004-2005, 2008-2015 Free Software Foundation,
+# mbrtowc.m4 serial 27  -*- coding: utf-8 -*-
+dnl Copyright (C) 2001-2002, 2004-2005, 2008-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -40,6 +40,7 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
       gl_MBRTOWC_RETVAL
       gl_MBRTOWC_NUL_RETVAL
       gl_MBRTOWC_EMPTY_INPUT
+      gl_MBRTOWC_C_LOCALE
       case "$gl_cv_func_mbrtowc_null_arg1" in
         *yes) ;;
         *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1],
@@ -76,6 +77,13 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
            REPLACE_MBRTOWC=1
            ;;
       esac
+      case $gl_cv_C_locale_sans_EILSEQ in
+        *yes) ;;
+        *) AC_DEFINE([C_LOCALE_MAYBE_EILSEQ], [1],
+             [Define to 1 if the C locale may have encoding errors.])
+           REPLACE_MBRTOWC=1
+           ;;
+      esac
     fi
   fi
 ])
@@ -569,14 +577,54 @@ changequote([,])dnl
            int
            main (void)
            {
-             return mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
+             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
            }]])],
-        [gl_cv_func_mbrtowc_empty_input=no],
         [gl_cv_func_mbrtowc_empty_input=yes],
+        [gl_cv_func_mbrtowc_empty_input=no],
         [:])
     ])
 ])
 
+dnl Test whether mbrtowc reports encoding errors in the C locale.
+dnl Although POSIX was never intended to allow this, the GNU C Library
+dnl and other implementations do it.  See:
+dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932
+
+AC_DEFUN([gl_MBRTOWC_C_LOCALE],
+[
+  AC_CACHE_CHECK([whether the C locale is free of encoding errors],
+    [gl_cv_C_locale_sans_EILSEQ],
+    [
+     dnl Initial guess, used when cross-compiling or when no suitable locale
+     dnl is present.
+     gl_cv_C_locale_sans_EILSEQ="guessing no"
+
+     AC_RUN_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#include <limits.h>
+            #include <locale.h>
+            #include <wchar.h>
+          ]], [[
+            int i;
+            char *locale = setlocale (LC_ALL, "C");
+            if (! locale)
+              return 1;
+            for (i = CHAR_MIN; i <= CHAR_MAX; i++)
+              {
+                char c = i;
+                wchar_t wc;
+                mbstate_t mbs = { 0, };
+                size_t ss = mbrtowc (&wc, &c, 1, &mbs);
+                if (1 < ss)
+                  return 1;
+              }
+            return 0;
+          ]])],
+      [gl_cv_C_locale_sans_EILSEQ=yes],
+      [gl_cv_C_locale_sans_EILSEQ=no],
+      [:])])
+])
+
 # Prerequisites of lib/mbrtowc.c.
 AC_DEFUN([gl_PREREQ_MBRTOWC], [
   :
diff --git a/gdb/gnulib/import/m4/mbsinit.m4 b/gdb/gnulib/import/m4/mbsinit.m4
index 61c4032..88f0836 100644
--- a/gdb/gnulib/import/m4/mbsinit.m4
+++ b/gdb/gnulib/import/m4/mbsinit.m4
@@ -1,5 +1,5 @@
 # mbsinit.m4 serial 8
-dnl Copyright (C) 2008, 2010-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/mbsrtowcs.m4 b/gdb/gnulib/import/m4/mbsrtowcs.m4
index cea47e5..3b5dc6e 100644
--- a/gdb/gnulib/import/m4/mbsrtowcs.m4
+++ b/gdb/gnulib/import/m4/mbsrtowcs.m4
@@ -1,5 +1,5 @@
 # mbsrtowcs.m4 serial 13
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/mbstate_t.m4 b/gdb/gnulib/import/m4/mbstate_t.m4
index 42ad6cd..0a8eae2 100644
--- a/gdb/gnulib/import/m4/mbstate_t.m4
+++ b/gdb/gnulib/import/m4/mbstate_t.m4
@@ -1,5 +1,5 @@
 # mbstate_t.m4 serial 13
-dnl Copyright (C) 2000-2002, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/memchr.m4 b/gdb/gnulib/import/m4/memchr.m4
index cb958d8..25d32f0 100644
--- a/gdb/gnulib/import/m4/memchr.m4
+++ b/gdb/gnulib/import/m4/memchr.m4
@@ -1,5 +1,5 @@
 # memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/memmem.m4 b/gdb/gnulib/import/m4/memmem.m4
index 80f2b1e..981ede7 100644
--- a/gdb/gnulib/import/m4/memmem.m4
+++ b/gdb/gnulib/import/m4/memmem.m4
@@ -1,5 +1,5 @@
 # memmem.m4 serial 24
-dnl Copyright (C) 2002-2004, 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -93,7 +93,7 @@ AC_DEFUN([gl_FUNC_MEMMEM],
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
-static void quit (int sig) { exit (sig + 128); }
+static void quit (int sig) { _exit (sig + 128); }
 ]], [[
     int result = 0;
     size_t m = 1000000;
diff --git a/gdb/gnulib/import/m4/mmap-anon.m4 b/gdb/gnulib/import/m4/mmap-anon.m4
index 92a88d0..853c89d 100644
--- a/gdb/gnulib/import/m4/mmap-anon.m4
+++ b/gdb/gnulib/import/m4/mmap-anon.m4
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/multiarch.m4 b/gdb/gnulib/import/m4/multiarch.m4
index fc575c1..43b5d05 100644
--- a/gdb/gnulib/import/m4/multiarch.m4
+++ b/gdb/gnulib/import/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/nocrash.m4 b/gdb/gnulib/import/m4/nocrash.m4
index 5628318..d8dd8f1 100644
--- a/gdb/gnulib/import/m4/nocrash.m4
+++ b/gdb/gnulib/import/m4/nocrash.m4
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -110,11 +110,12 @@ nocrash_init (void)
 #else
 /* Avoid a crash on POSIX systems.  */
 #include <signal.h>
+#include <unistd.h>
 /* A POSIX signal handler.  */
 static void
 exception_handler (int sig)
 {
-  exit (1);
+  _exit (1);
 }
 static void
 nocrash_init (void)
diff --git a/gdb/gnulib/import/m4/off_t.m4 b/gdb/gnulib/import/m4/off_t.m4
index 0eb1467..282751b 100644
--- a/gdb/gnulib/import/m4/off_t.m4
+++ b/gdb/gnulib/import/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/pathmax.m4 b/gdb/gnulib/import/m4/pathmax.m4
index 0e3db7a..6f8e59a 100644
--- a/gdb/gnulib/import/m4/pathmax.m4
+++ b/gdb/gnulib/import/m4/pathmax.m4
@@ -1,5 +1,5 @@
 # pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/rawmemchr.m4 b/gdb/gnulib/import/m4/rawmemchr.m4
index 88e815e..d3ccb7e 100644
--- a/gdb/gnulib/import/m4/rawmemchr.m4
+++ b/gdb/gnulib/import/m4/rawmemchr.m4
@@ -1,5 +1,5 @@
 # rawmemchr.m4 serial 2
-dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/readlink.m4 b/gdb/gnulib/import/m4/readlink.m4
index 88c9bfe..ede0378b 100644
--- a/gdb/gnulib/import/m4/readlink.m4
+++ b/gdb/gnulib/import/m4/readlink.m4
@@ -1,5 +1,5 @@
 # readlink.m4 serial 12
-dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/rename.m4 b/gdb/gnulib/import/m4/rename.m4
index b5e4334..fbcc758 100644
--- a/gdb/gnulib/import/m4/rename.m4
+++ b/gdb/gnulib/import/m4/rename.m4
@@ -1,6 +1,6 @@
 # serial 26
 
-# Copyright (C) 2001, 2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/rmdir.m4 b/gdb/gnulib/import/m4/rmdir.m4
index 09ed159..ebb3b5d 100644
--- a/gdb/gnulib/import/m4/rmdir.m4
+++ b/gdb/gnulib/import/m4/rmdir.m4
@@ -1,5 +1,5 @@
 # rmdir.m4 serial 13
-dnl Copyright (C) 2002, 2005, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/signal_h.m4 b/gdb/gnulib/import/m4/signal_h.m4
index f737c36..bcfd7b4 100644
--- a/gdb/gnulib/import/m4/signal_h.m4
+++ b/gdb/gnulib/import/m4/signal_h.m4
@@ -1,5 +1,5 @@
 # signal_h.m4 serial 18
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/ssize_t.m4 b/gdb/gnulib/import/m4/ssize_t.m4
index 25bd451..3e7b9e6 100644
--- a/gdb/gnulib/import/m4/ssize_t.m4
+++ b/gdb/gnulib/import/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/stat.m4 b/gdb/gnulib/import/m4/stat.m4
index d1b3768..a794975 100644
--- a/gdb/gnulib/import/m4/stat.m4
+++ b/gdb/gnulib/import/m4/stat.m4
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/stdbool.m4 b/gdb/gnulib/import/m4/stdbool.m4
index 7273b82..2a9b1db 100644
--- a/gdb/gnulib/import/m4/stdbool.m4
+++ b/gdb/gnulib/import/m4/stdbool.m4
@@ -1,11 +1,11 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-#serial 5
+#serial 7
 
 # Prepare for substituting <stdbool.h> if it is not supported.
 
@@ -43,56 +43,64 @@ AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
         [AC_LANG_PROGRAM(
            [[
              #include <stdbool.h>
-             #ifndef bool
-              "error: bool is not defined"
-             #endif
-             #ifndef false
-              "error: false is not defined"
-             #endif
-             #if false
-              "error: false is not 0"
-             #endif
-             #ifndef true
-              "error: true is not defined"
-             #endif
-             #if true != 1
-              "error: true is not 1"
+
+             #ifdef __cplusplus
+              typedef bool Bool;
+             #else
+              typedef _Bool Bool;
+              #ifndef bool
+               "error: bool is not defined"
+              #endif
+              #ifndef false
+               "error: false is not defined"
+              #endif
+              #if false
+               "error: false is not 0"
+              #endif
+              #ifndef true
+               "error: true is not defined"
+              #endif
+              #if true != 1
+               "error: true is not 1"
+              #endif
              #endif
+
              #ifndef __bool_true_false_are_defined
               "error: __bool_true_false_are_defined is not defined"
              #endif
 
-             struct s { _Bool s: 1; _Bool t; } s;
+             struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s;
 
              char a[true == 1 ? 1 : -1];
              char b[false == 0 ? 1 : -1];
              char c[__bool_true_false_are_defined == 1 ? 1 : -1];
              char d[(bool) 0.5 == true ? 1 : -1];
              /* See body of main program for 'e'.  */
-             char f[(_Bool) 0.0 == false ? 1 : -1];
+             char f[(Bool) 0.0 == false ? 1 : -1];
              char g[true];
-             char h[sizeof (_Bool)];
+             char h[sizeof (Bool)];
              char i[sizeof s.t];
              enum { j = false, k = true, l = false * true, m = true * 256 };
              /* The following fails for
                 HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-             _Bool n[m];
+             Bool n[m];
              char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-             char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+             char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
              /* Catch a bug in an HP-UX C compiler.  See
                 http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
                 http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
               */
-             _Bool q = true;
-             _Bool *pq = &q;
+             Bool q = true;
+             Bool *pq = &q;
+             bool *qq = &q;
            ]],
            [[
              bool e = &s;
-             *pq |= q;
-             *pq |= ! q;
+             *pq |= q; *pq |= ! q;
+             *qq |= q; *qq |= ! q;
              /* Refer to every declared value, to avoid compiler optimizations.  */
              return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-                     + !m + !n + !o + !p + !q + !pq);
+                     + !m + !n + !o + !p + !q + !pq + !qq);
            ]])],
         [ac_cv_header_stdbool_h=yes],
         [ac_cv_header_stdbool_h=no])])
diff --git a/gdb/gnulib/import/m4/stddef_h.m4 b/gdb/gnulib/import/m4/stddef_h.m4
index 2310502..c045c65 100644
--- a/gdb/gnulib/import/m4/stddef_h.m4
+++ b/gdb/gnulib/import/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 5
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/stdint.m4 b/gdb/gnulib/import/m4/stdint.m4
index 4011a49..fa6f103 100644
--- a/gdb/gnulib/import/m4/stdint.m4
+++ b/gdb/gnulib/import/m4/stdint.m4
@@ -1,5 +1,5 @@
-# stdint.m4 serial 43
-dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
+# stdint.m4 serial 47
+dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
 [
   AC_PREREQ([2.59])dnl
 
+  AC_REQUIRE([gl_LIMITS_H])
+
   dnl Check for long long int and unsigned long long int.
   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
   if test $ac_cv_type_long_long_int = yes; then
@@ -70,6 +72,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
        AC_COMPILE_IFELSE([
          AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
 #if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -218,6 +222,8 @@ struct s {
           AC_RUN_IFELSE([
             AC_LANG_PROGRAM([[
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#define __STDC_CONSTANT_MACROS 1
+#define __STDC_LIMIT_MACROS 1
 #include <stdint.h>
 ]
 gl_STDINT_INCLUDES
@@ -278,28 +284,74 @@ static const char *macro_values[] =
          ])
       ])
   fi
+
+  HAVE_C99_STDINT_H=0
+  HAVE_SYS_BITYPES_H=0
+  HAVE_SYS_INTTYPES_H=0
+  STDINT_H=stdint.h
   if test "$gl_cv_header_working_stdint_h" = yes; then
-    STDINT_H=
+    HAVE_C99_STDINT_H=1
+    dnl Now see whether the system <stdint.h> works without
+    dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined.
+    AC_CACHE_CHECK([whether stdint.h predates C++11],
+      [gl_cv_header_stdint_predates_cxx11_h],
+      [gl_cv_header_stdint_predates_cxx11_h=yes
+       AC_COMPILE_IFELSE([
+         AC_LANG_PROGRAM([[
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+]
+gl_STDINT_INCLUDES
+[
+intmax_t im = INTMAX_MAX;
+int32_t i32 = INT32_C (0x7fffffff);
+         ]])],
+         [gl_cv_header_stdint_predates_cxx11_h=no])])
+
+    if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
+      AC_DEFINE([__STDC_CONSTANT_MACROS], [1],
+                [Define to 1 if the system <stdint.h> predates C++11.])
+      AC_DEFINE([__STDC_LIMIT_MACROS], [1],
+                [Define to 1 if the system <stdint.h> predates C++11.])
+    fi
+    AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.],
+      [gl_cv_header_stdint_width],
+      [gl_cv_header_stdint_width=no
+       AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM([[
+            /* Work if build is not clean.  */
+            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
+            #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+            #endif
+            #include <stdint.h>
+            ]gl_STDINT_INCLUDES[
+            int iw = UINTMAX_WIDTH;
+            ]])],
+         [gl_cv_header_stdint_width=yes])])
+    if test "$gl_cv_header_stdint_width" = yes; then
+      STDINT_H=
+    fi
   else
     dnl Check for <sys/inttypes.h>, and for
     dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
     AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
     if test $ac_cv_header_sys_inttypes_h = yes; then
       HAVE_SYS_INTTYPES_H=1
-    else
-      HAVE_SYS_INTTYPES_H=0
     fi
-    AC_SUBST([HAVE_SYS_INTTYPES_H])
     if test $ac_cv_header_sys_bitypes_h = yes; then
       HAVE_SYS_BITYPES_H=1
-    else
-      HAVE_SYS_BITYPES_H=0
     fi
-    AC_SUBST([HAVE_SYS_BITYPES_H])
-
     gl_STDINT_TYPE_PROPERTIES
-    STDINT_H=stdint.h
   fi
+
+  # The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
+  LIMITS_H=limits.h
+  AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
+
+  AC_SUBST([HAVE_C99_STDINT_H])
+  AC_SUBST([HAVE_SYS_BITYPES_H])
+  AC_SUBST([HAVE_SYS_INTTYPES_H])
   AC_SUBST([STDINT_H])
   AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
 ])
@@ -477,8 +529,3 @@ dnl Remove this when we can assume autoconf >= 2.61.
 m4_ifdef([AC_COMPUTE_INT], [], [
   AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
 ])
-
-# Hey Emacs!
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
diff --git a/gdb/gnulib/import/m4/stdio_h.m4 b/gdb/gnulib/import/m4/stdio_h.m4
index f60cc21..eaa25a0 100644
--- a/gdb/gnulib/import/m4/stdio_h.m4
+++ b/gdb/gnulib/import/m4/stdio_h.m4
@@ -1,14 +1,18 @@
-# stdio_h.m4 serial 46
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# stdio_h.m4 serial 48
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_STDIO_H],
 [
-  dnl For __USE_MINGW_ANSI_STDIO
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
+  AH_VERBATIM([MINGW_ANSI_STDIO],
+[/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+])
+  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   gl_NEXT_HEADERS([stdio.h])
 
diff --git a/gdb/gnulib/import/m4/stdlib_h.m4 b/gdb/gnulib/import/m4/stdlib_h.m4
index 0b4c623..19107c4 100644
--- a/gdb/gnulib/import/m4/stdlib_h.m4
+++ b/gdb/gnulib/import/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
 # stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/strchrnul.m4 b/gdb/gnulib/import/m4/strchrnul.m4
index 8c3d4cf..ac5c211 100644
--- a/gdb/gnulib/import/m4/strchrnul.m4
+++ b/gdb/gnulib/import/m4/strchrnul.m4
@@ -1,5 +1,5 @@
 # strchrnul.m4 serial 9
-dnl Copyright (C) 2003, 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/string_h.m4 b/gdb/gnulib/import/m4/string_h.m4
index 55d09ef..0c5ec6f 100644
--- a/gdb/gnulib/import/m4/string_h.m4
+++ b/gdb/gnulib/import/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/strstr.m4 b/gdb/gnulib/import/m4/strstr.m4
index 040c0b9..bfe4c85 100644
--- a/gdb/gnulib/import/m4/strstr.m4
+++ b/gdb/gnulib/import/m4/strstr.m4
@@ -1,5 +1,5 @@
-# strstr.m4 serial 16
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# strstr.m4 serial 17
+dnl Copyright (C) 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -67,11 +67,17 @@ AC_DEFUN([gl_FUNC_STRSTR],
     AC_CACHE_CHECK([whether strstr works in linear time],
       [gl_cv_func_strstr_linear],
       [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __MVS__
+/* z/OS does not deliver signals while strstr() is running (thanks to
+   restrictions on its LE runtime), which prevents us from limiting the
+   running time of this test.  */
+# error "This test does not work properly on z/OS"
+#endif
 #include <signal.h> /* for signal */
 #include <string.h> /* for strstr */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
-static void quit (int sig) { exit (sig + 128); }
+static void quit (int sig) { _exit (sig + 128); }
 ]], [[
     int result = 0;
     size_t m = 1000000;
diff --git a/gdb/gnulib/import/m4/strtok_r.m4 b/gdb/gnulib/import/m4/strtok_r.m4
index 9ed6a25..d010307 100644
--- a/gdb/gnulib/import/m4/strtok_r.m4
+++ b/gdb/gnulib/import/m4/strtok_r.m4
@@ -1,5 +1,5 @@
 # strtok_r.m4 serial 13
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2016 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gdb/gnulib/import/m4/sys_socket_h.m4 b/gdb/gnulib/import/m4/sys_socket_h.m4
index eaeabe7..ae500c7 100644
--- a/gdb/gnulib/import/m4/sys_socket_h.m4
+++ b/gdb/gnulib/import/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/sys_stat_h.m4 b/gdb/gnulib/import/m4/sys_stat_h.m4
index 6c909e8..3d43b6f 100644
--- a/gdb/gnulib/import/m4/sys_stat_h.m4
+++ b/gdb/gnulib/import/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 28   -*- Autoconf -*-
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/sys_time_h.m4 b/gdb/gnulib/import/m4/sys_time_h.m4
index 28c8b1a..3061a9c 100644
--- a/gdb/gnulib/import/m4/sys_time_h.m4
+++ b/gdb/gnulib/import/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 8
 
-# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/sys_types_h.m4 b/gdb/gnulib/import/m4/sys_types_h.m4
index 2232aec..159b005 100644
--- a/gdb/gnulib/import/m4/sys_types_h.m4
+++ b/gdb/gnulib/import/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
-# sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+# sys_types_h.m4 serial 6
+dnl Copyright (C) 2011-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -22,3 +22,28 @@ AC_DEFUN_ONCE([gl_SYS_TYPES_H],
 AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
 [
 ])
+
+# This works around a buggy version in autoconf <= 2.69.
+# See <https://lists.gnu.org/archive/html/autoconf/2016-08/msg00014.html>
+
+m4_version_prereq([2.70], [], [
+
+# This is taken from the following Autoconf patch:
+# http://git.sv.gnu.org/cgit/autoconf.git/commit/?id=e17a30e98
+
+m4_undefine([AC_HEADER_MAJOR])
+AC_DEFUN([AC_HEADER_MAJOR],
+[AC_CHECK_HEADERS_ONCE([sys/types.h])
+AC_CHECK_HEADER([sys/mkdev.h],
+  [AC_DEFINE([MAJOR_IN_MKDEV], [1],
+    [Define to 1 if `major', `minor', and `makedev' are declared in
+     <mkdev.h>.])])
+if test $ac_cv_header_sys_mkdev_h = no; then
+  AC_CHECK_HEADER([sys/sysmacros.h],
+    [AC_DEFINE([MAJOR_IN_SYSMACROS], [1],
+      [Define to 1 if `major', `minor', and `makedev' are declared in
+       <sysmacros.h>.])])
+fi
+])
+
+])
diff --git a/gdb/gnulib/import/m4/time_h.m4 b/gdb/gnulib/import/m4/time_h.m4
index 754b469..eb2a631 100644
--- a/gdb/gnulib/import/m4/time_h.m4
+++ b/gdb/gnulib/import/m4/time_h.m4
@@ -1,6 +1,6 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2016 Free Software Foundation, Inc.
 
 # serial 9
 
diff --git a/gdb/gnulib/import/m4/unistd_h.m4 b/gdb/gnulib/import/m4/unistd_h.m4
index b3c581f..544dadb4 100644
--- a/gdb/gnulib/import/m4/unistd_h.m4
+++ b/gdb/gnulib/import/m4/unistd_h.m4
@@ -1,5 +1,5 @@
 # unistd_h.m4 serial 68
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/warn-on-use.m4 b/gdb/gnulib/import/m4/warn-on-use.m4
index 1e98dc9..08440ec 100644
--- a/gdb/gnulib/import/m4/warn-on-use.m4
+++ b/gdb/gnulib/import/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/wchar_h.m4 b/gdb/gnulib/import/m4/wchar_h.m4
index 9d1b0f8..16017a5 100644
--- a/gdb/gnulib/import/m4/wchar_h.m4
+++ b/gdb/gnulib/import/m4/wchar_h.m4
@@ -1,13 +1,13 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Eric Blake.
 
-# wchar_h.m4 serial 39
+# wchar_h.m4 serial 40
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -81,8 +81,14 @@ AC_DEFUN([gl_WCHAR_H_INLINE_OK],
 extern int zero (void);
 int main () { return zero(); }
 ]])])
+     dnl Do not rename the object file from conftest.$ac_objext to
+     dnl conftest1.$ac_objext, as this will cause the link to fail on
+     dnl z/OS when using the XPLINK object format (due to duplicate
+     dnl CSECT names). Instead, temporarily redefine $ac_compile so
+     dnl that the object file has the latter name from the start.
+     save_ac_compile="$ac_compile"
+     ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
      if AC_TRY_EVAL([ac_compile]); then
-       mv conftest.$ac_objext conftest1.$ac_objext
        AC_LANG_CONFTEST([
          AC_LANG_SOURCE([[#define wcstod renamed_wcstod
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -95,8 +101,9 @@ int main () { return zero(); }
 #include <wchar.h>
 int zero (void) { return 0; }
 ]])])
+       dnl See note above about renaming object files.
+       ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
        if AC_TRY_EVAL([ac_compile]); then
-         mv conftest.$ac_objext conftest2.$ac_objext
          if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
            :
          else
@@ -104,6 +111,7 @@ int zero (void) { return 0; }
          fi
        fi
      fi
+     ac_compile="$save_ac_compile"
      rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
     ])
   if test $gl_cv_header_wchar_h_correct_inline = no; then
diff --git a/gdb/gnulib/import/m4/wchar_t.m4 b/gdb/gnulib/import/m4/wchar_t.m4
index dc964e6..2db8c3f 100644
--- a/gdb/gnulib/import/m4/wchar_t.m4
+++ b/gdb/gnulib/import/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/wctype_h.m4 b/gdb/gnulib/import/m4/wctype_h.m4
index 95a4705..accc001 100644
--- a/gdb/gnulib/import/m4/wctype_h.m4
+++ b/gdb/gnulib/import/m4/wctype_h.m4
@@ -2,7 +2,7 @@
 
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/m4/wint_t.m4 b/gdb/gnulib/import/m4/wint_t.m4
index ca3fd44..8ff2a5b 100644
--- a/gdb/gnulib/import/m4/wint_t.m4
+++ b/gdb/gnulib/import/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gdb/gnulib/import/malloc.c b/gdb/gnulib/import/malloc.c
index 00800a2..e9b01d2 100644
--- a/gdb/gnulib/import/malloc.c
+++ b/gdb/gnulib/import/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/malloca.c b/gdb/gnulib/import/malloca.c
index 198a96c..a613277 100644
--- a/gdb/gnulib/import/malloca.c
+++ b/gdb/gnulib/import/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/malloca.h b/gdb/gnulib/import/malloca.h
index 7a4190c..fa27a9e 100644
--- a/gdb/gnulib/import/malloca.h
+++ b/gdb/gnulib/import/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/math.c b/gdb/gnulib/import/math.c
index ddb2ded..ba2a6ab 100644
--- a/gdb/gnulib/import/math.c
+++ b/gdb/gnulib/import/math.c
@@ -1,3 +1,4 @@
 #include <config.h>
 #define _GL_MATH_INLINE _GL_EXTERN_INLINE
 #include "math.h"
+typedef int dummy;
diff --git a/gdb/gnulib/import/math.in.h b/gdb/gnulib/import/math.in.h
index 62a089a..b7a0029 100644
--- a/gdb/gnulib/import/math.in.h
+++ b/gdb/gnulib/import/math.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <math.h>.
 
-   Copyright (C) 2002-2003, 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -406,6 +406,7 @@ _GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
 #if @GNULIB_CEIL@
 # if @REPLACE_CEIL@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef ceil
 #   define ceil rpl_ceil
 #  endif
 _GL_FUNCDECL_RPL (ceil, double, (double x));
@@ -753,6 +754,7 @@ _GL_WARN_ON_USE (floorf, "floorf is unportable - "
 #if @GNULIB_FLOOR@
 # if @REPLACE_FLOOR@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef floor
 #   define floor rpl_floor
 #  endif
 _GL_FUNCDECL_RPL (floor, double, (double x));
@@ -973,6 +975,7 @@ _GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
 #if @GNULIB_FREXP@
 # if @REPLACE_FREXP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef frexp
 #   define frexp rpl_frexp
 #  endif
 _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2)));
@@ -1958,6 +1961,7 @@ _GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
 #if @GNULIB_TRUNCF@
 # if @REPLACE_TRUNCF@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef truncf
 #   define truncf rpl_truncf
 #  endif
 _GL_FUNCDECL_RPL (truncf, float, (float x));
@@ -1980,6 +1984,7 @@ _GL_WARN_ON_USE (truncf, "truncf is unportable - "
 #if @GNULIB_TRUNC@
 # if @REPLACE_TRUNC@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef trunc
 #   define trunc rpl_trunc
 #  endif
 _GL_FUNCDECL_RPL (trunc, double, (double x));
@@ -2205,7 +2210,8 @@ _GL_WARN_REAL_FLOATING_DECL (isnan);
 
 
 #if @GNULIB_SIGNBIT@
-# if @REPLACE_SIGNBIT_USING_GCC@
+# if (@REPLACE_SIGNBIT_USING_GCC@ \
+      && (!defined __cplusplus || __cplusplus < 201103))
 #  undef signbit
    /* GCC 4.0 and newer provides three built-ins for signbit.  */
 #  define signbit(x) \
diff --git a/gdb/gnulib/import/mbrtowc.c b/gdb/gnulib/import/mbrtowc.c
index e49d55b..cdd874b 100644
--- a/gdb/gnulib/import/mbrtowc.c
+++ b/gdb/gnulib/import/mbrtowc.c
@@ -1,5 +1,5 @@
 /* Convert multibyte character to wide character.
-   Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2005-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -20,6 +20,11 @@
 /* Specification.  */
 #include <wchar.h>
 
+#if C_LOCALE_MAYBE_EILSEQ
+# include "hard-locale.h"
+# include <locale.h>
+#endif
+
 #if GNULIB_defined_mbstate_t
 /* Implement mbrtowc() on top of mbtowc().  */
 
@@ -328,6 +333,9 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 size_t
 rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
 {
+  size_t ret;
+  wchar_t wc;
+
 # if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG
   if (s == NULL)
     {
@@ -342,6 +350,9 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
     return (size_t) -2;
 # endif
 
+  if (! pwc)
+    pwc = &wc;
+
 # if MBRTOWC_RETVAL_BUG
   {
     static mbstate_t internal_state;
@@ -357,8 +368,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
         size_t count = 0;
         for (; n > 0; s++, n--)
           {
-            wchar_t wc;
-            size_t ret = mbrtowc (&wc, s, 1, ps);
+            ret = mbrtowc (&wc, s, 1, ps);
 
             if (ret == (size_t)(-1))
               return (size_t)(-1);
@@ -366,8 +376,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
             if (ret != (size_t)(-2))
               {
                 /* The multibyte character has been completed.  */
-                if (pwc != NULL)
-                  *pwc = wc;
+                *pwc = wc;
                 return (wc == 0 ? 0 : count);
               }
           }
@@ -376,32 +385,23 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
   }
 # endif
 
-# if MBRTOWC_NUL_RETVAL_BUG
-  {
-    wchar_t wc;
-    size_t ret = mbrtowc (&wc, s, n, ps);
+  ret = mbrtowc (pwc, s, n, ps);
 
-    if (ret != (size_t)(-1) && ret != (size_t)(-2))
-      {
-        if (pwc != NULL)
-          *pwc = wc;
-        if (wc == 0)
-          ret = 0;
-      }
-    return ret;
-  }
-# else
-  {
-#   if MBRTOWC_NULL_ARG1_BUG
-    wchar_t dummy;
-
-    if (pwc == NULL)
-      pwc = &dummy;
-#   endif
+# if MBRTOWC_NUL_RETVAL_BUG
+  if (ret < (size_t) -2 && !*pwc)
+    return 0;
+# endif
 
-    return mbrtowc (pwc, s, n, ps);
-  }
+# if C_LOCALE_MAYBE_EILSEQ
+  if ((size_t) -2 <= ret && n != 0 && ! hard_locale (LC_CTYPE))
+    {
+      unsigned char uc = *s;
+      *pwc = uc;
+      return 1;
+    }
 # endif
+
+  return ret;
 }
 
 #endif
diff --git a/gdb/gnulib/import/mbsinit.c b/gdb/gnulib/import/mbsinit.c
index 4effdd8..372b523 100644
--- a/gdb/gnulib/import/mbsinit.c
+++ b/gdb/gnulib/import/mbsinit.c
@@ -1,5 +1,5 @@
 /* Test for initial conversion state.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/mbsrtowcs-impl.h b/gdb/gnulib/import/mbsrtowcs-impl.h
index a0f4271..f99fa34 100644
--- a/gdb/gnulib/import/mbsrtowcs-impl.h
+++ b/gdb/gnulib/import/mbsrtowcs-impl.h
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/mbsrtowcs-state.c b/gdb/gnulib/import/mbsrtowcs-state.c
index 522eb69..905547a 100644
--- a/gdb/gnulib/import/mbsrtowcs-state.c
+++ b/gdb/gnulib/import/mbsrtowcs-state.c
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/mbsrtowcs.c b/gdb/gnulib/import/mbsrtowcs.c
index c37eba7..54bf6f7 100644
--- a/gdb/gnulib/import/mbsrtowcs.c
+++ b/gdb/gnulib/import/mbsrtowcs.c
@@ -1,5 +1,5 @@
 /* Convert string to wide string.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/memchr.c b/gdb/gnulib/import/memchr.c
index f74cc9a..b565542 100644
--- a/gdb/gnulib/import/memchr.c
+++ b/gdb/gnulib/import/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2015
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2016
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gdb/gnulib/import/memmem.c b/gdb/gnulib/import/memmem.c
index e40feda..7d1f971 100644
--- a/gdb/gnulib/import/memmem.c
+++ b/gdb/gnulib/import/memmem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2015 Free Software
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2016 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gdb/gnulib/import/pathmax.h b/gdb/gnulib/import/pathmax.h
index 2f3b64f..aee22f8 100644
--- a/gdb/gnulib/import/pathmax.h
+++ b/gdb/gnulib/import/pathmax.h
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2015 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2016 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/rawmemchr.c b/gdb/gnulib/import/rawmemchr.c
index a6380ba..dbe01bd 100644
--- a/gdb/gnulib/import/rawmemchr.c
+++ b/gdb/gnulib/import/rawmemchr.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/readlink.c b/gdb/gnulib/import/readlink.c
index 965c3e2..e6c3925 100644
--- a/gdb/gnulib/import/readlink.c
+++ b/gdb/gnulib/import/readlink.c
@@ -1,5 +1,5 @@
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/ref-add.sin b/gdb/gnulib/import/ref-add.sin
index 6cbe5b5..42d3ab0 100644
--- a/gdb/gnulib/import/ref-add.sin
+++ b/gdb/gnulib/import/ref-add.sin
@@ -1,6 +1,6 @@
 # Add this package to a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2016 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/ref-del.sin b/gdb/gnulib/import/ref-del.sin
index f50cf0a..c77b33b 100644
--- a/gdb/gnulib/import/ref-del.sin
+++ b/gdb/gnulib/import/ref-del.sin
@@ -1,6 +1,6 @@
 # Remove this package from a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2015 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2016 Free Software Foundation, Inc.
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/rename.c b/gdb/gnulib/import/rename.c
index 43be743..e1d169a 100644
--- a/gdb/gnulib/import/rename.c
+++ b/gdb/gnulib/import/rename.c
@@ -1,6 +1,6 @@
 /* Work around rename bugs in some systems.
 
-   Copyright (C) 2001-2003, 2005-2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2006, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/rmdir.c b/gdb/gnulib/import/rmdir.c
index ae21d54..4949df2 100644
--- a/gdb/gnulib/import/rmdir.c
+++ b/gdb/gnulib/import/rmdir.c
@@ -1,6 +1,6 @@
 /* Work around rmdir bugs.
 
-   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2015 Free Software
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2016 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/same-inode.h b/gdb/gnulib/import/same-inode.h
index ecc3049..bf45635 100644
--- a/gdb/gnulib/import/same-inode.h
+++ b/gdb/gnulib/import/same-inode.h
@@ -1,6 +1,6 @@
 /* Determine whether two stat buffers refer to the same file.
 
-   Copyright (C) 2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/signal.in.h b/gdb/gnulib/import/signal.in.h
index 265b72a..ab0a049 100644
--- a/gdb/gnulib/import/signal.in.h
+++ b/gdb/gnulib/import/signal.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/stat.c b/gdb/gnulib/import/stat.c
index 2209826..62e9e0b 100644
--- a/gdb/gnulib/import/stat.c
+++ b/gdb/gnulib/import/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/stdbool.in.h b/gdb/gnulib/import/stdbool.in.h
index 64a1761..7ecf203 100644
--- a/gdb/gnulib/import/stdbool.in.h
+++ b/gdb/gnulib/import/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/stddef.in.h b/gdb/gnulib/import/stddef.in.h
index 698307b..f4c4a10 100644
--- a/gdb/gnulib/import/stddef.in.h
+++ b/gdb/gnulib/import/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -81,8 +81,10 @@
 # define wchar_t int
 #endif
 
-/* Some platforms lack max_align_t.  */
-#if !@HAVE_MAX_ALIGN_T@
+/* Some platforms lack max_align_t.  The check for _GCC_MAX_ALIGN_T is
+   a hack in case the configure-time test was done with g++ even though
+   we are currently compiling with gcc.  */
+#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
 /* On the x86, the maximum storage alignment of double, long, etc. is 4,
    but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
    and the C11 standard allows this.  Work around this problem by
diff --git a/gdb/gnulib/import/stdint.in.h b/gdb/gnulib/import/stdint.in.h
index 378de2e..c86ab09 100644
--- a/gdb/gnulib/import/stdint.in.h
+++ b/gdb/gnulib/import/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2016 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -79,54 +79,51 @@
 #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 #define _@GUARD_PREFIX@_STDINT_H
 
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
+   LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH.  */
+#include <limits.h>
+
+#if ! @HAVE_C99_STDINT_H@
+
 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
    AIX 5.2 <sys/types.h> isn't needed and causes troubles.
    Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
    relies on the system <stdint.h> definitions, so include
    <sys/types.h> after @NEXT_STDINT_H@.  */
-#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
-# include <sys/types.h>
-#endif
-
-/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
-   LONG_MIN, LONG_MAX, ULONG_MAX.  */
-#include <limits.h>
+# if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+#  include <sys/types.h>
+# endif
 
-#if @HAVE_INTTYPES_H@
+# if @HAVE_INTTYPES_H@
   /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
      <inttypes.h> also defines intptr_t and uintptr_t.  */
-# include <inttypes.h>
-#elif @HAVE_SYS_INTTYPES_H@
+#  include <inttypes.h>
+# elif @HAVE_SYS_INTTYPES_H@
   /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
      the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
-# include <sys/inttypes.h>
-#endif
+#  include <sys/inttypes.h>
+# endif
 
-#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
   /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
      int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
      included by <sys/types.h>.  */
-# include <sys/bitypes.h>
-#endif
+#  include <sys/bitypes.h>
+# endif
 
-#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 
 /* Minimum and maximum values for an integer type under the usual assumption.
    Return an unspecified value if BITS == 0, adding a check to pacify
    picky compilers.  */
 
-#define _STDINT_MIN(signed, bits, zero) \
-  ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
+# define _STDINT_MIN(signed, bits, zero) \
+    ((signed) ? ~ _STDINT_MAX (signed, bits, zero) : (zero))
 
-#define _STDINT_MAX(signed, bits, zero) \
-  ((signed) \
-   ? ~ _STDINT_MIN (signed, bits, zero) \
-   : /* The expression for the unsigned case.  The subtraction of (signed) \
-        is a nop in the unsigned case and avoids "signed integer overflow" \
-        warnings in the signed case.  */ \
-     ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+# define _STDINT_MAX(signed, bits, zero) \
+    (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
 
 #if !GNULIB_defined_stdint_types
 
@@ -135,26 +132,26 @@
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef int8_t
-#undef uint8_t
+# undef int8_t
+# undef uint8_t
 typedef signed char gl_int8_t;
 typedef unsigned char gl_uint8_t;
-#define int8_t gl_int8_t
-#define uint8_t gl_uint8_t
+# define int8_t gl_int8_t
+# define uint8_t gl_uint8_t
 
-#undef int16_t
-#undef uint16_t
+# undef int16_t
+# undef uint16_t
 typedef short int gl_int16_t;
 typedef unsigned short int gl_uint16_t;
-#define int16_t gl_int16_t
-#define uint16_t gl_uint16_t
+# define int16_t gl_int16_t
+# define uint16_t gl_uint16_t
 
-#undef int32_t
-#undef uint32_t
+# undef int32_t
+# undef uint32_t
 typedef int gl_int32_t;
 typedef unsigned int gl_uint32_t;
-#define int32_t gl_int32_t
-#define uint32_t gl_uint32_t
+# define int32_t gl_int32_t
+# define uint32_t gl_uint32_t
 
 /* If the system defines INT64_MAX, assume int64_t works.  That way,
    if the underlying platform defines int64_t to be a 64-bit long long
@@ -162,54 +159,54 @@ typedef unsigned int gl_uint32_t;
    int, which would mess up C++ name mangling.  We must use #ifdef
    rather than #if, to avoid an error with HP-UX 10.20 cc.  */
 
-#ifdef INT64_MAX
-# define GL_INT64_T
-#else
+# ifdef INT64_MAX
+#  define GL_INT64_T
+# else
 /* Do not undefine int64_t if gnulib is not being used with 64-bit
    types, since otherwise it breaks platforms like Tandem/NSK.  */
-# if LONG_MAX >> 31 >> 31 == 1
-#  undef int64_t
+#  if LONG_MAX >> 31 >> 31 == 1
+#   undef int64_t
 typedef long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif defined _MSC_VER
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif defined _MSC_VER
+#   undef int64_t
 typedef __int64 gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
-# elif @HAVE_LONG_LONG_INT@
-#  undef int64_t
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  elif @HAVE_LONG_LONG_INT@
+#   undef int64_t
 typedef long long int gl_int64_t;
-#  define int64_t gl_int64_t
-#  define GL_INT64_T
+#   define int64_t gl_int64_t
+#   define GL_INT64_T
+#  endif
 # endif
-#endif
 
-#ifdef UINT64_MAX
-# define GL_UINT64_T
-#else
-# if ULONG_MAX >> 31 >> 31 >> 1 == 1
-#  undef uint64_t
-typedef unsigned long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
+# ifdef UINT64_MAX
 #  define GL_UINT64_T
-# elif defined _MSC_VER
-#  undef uint64_t
+# else
+#  if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#   undef uint64_t
+typedef unsigned long int gl_uint64_t;
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif defined _MSC_VER
+#   undef uint64_t
 typedef unsigned __int64 gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
-# elif @HAVE_UNSIGNED_LONG_LONG_INT@
-#  undef uint64_t
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  elif @HAVE_UNSIGNED_LONG_LONG_INT@
+#   undef uint64_t
 typedef unsigned long long int gl_uint64_t;
-#  define uint64_t gl_uint64_t
-#  define GL_UINT64_T
+#   define uint64_t gl_uint64_t
+#   define GL_UINT64_T
+#  endif
 # endif
-#endif
 
 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
-#define _UINT8_T
-#define _UINT32_T
-#define _UINT64_T
+# define _UINT8_T
+# define _UINT32_T
+# define _UINT64_T
 
 
 /* 7.18.1.2. Minimum-width integer types */
@@ -218,26 +215,26 @@ typedef unsigned long long int gl_uint64_t;
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef int_least8_t
-#undef uint_least8_t
-#undef int_least16_t
-#undef uint_least16_t
-#undef int_least32_t
-#undef uint_least32_t
-#undef int_least64_t
-#undef uint_least64_t
-#define int_least8_t int8_t
-#define uint_least8_t uint8_t
-#define int_least16_t int16_t
-#define uint_least16_t uint16_t
-#define int_least32_t int32_t
-#define uint_least32_t uint32_t
-#ifdef GL_INT64_T
-# define int_least64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_least64_t uint64_t
-#endif
+# undef int_least8_t
+# undef uint_least8_t
+# undef int_least16_t
+# undef uint_least16_t
+# undef int_least32_t
+# undef uint_least32_t
+# undef int_least64_t
+# undef uint_least64_t
+# define int_least8_t int8_t
+# define uint_least8_t uint8_t
+# define int_least16_t int16_t
+# define uint_least16_t uint16_t
+# define int_least32_t int32_t
+# define uint_least32_t uint32_t
+# ifdef GL_INT64_T
+#  define int_least64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_least64_t uint64_t
+# endif
 
 /* 7.18.1.3. Fastest minimum-width integer types */
 
@@ -250,50 +247,55 @@ typedef unsigned long long int gl_uint64_t;
    uses types consistent with glibc, as that lessens the chance of
    incompatibility with older GNU hosts.  */
 
-#undef int_fast8_t
-#undef uint_fast8_t
-#undef int_fast16_t
-#undef uint_fast16_t
-#undef int_fast32_t
-#undef uint_fast32_t
-#undef int_fast64_t
-#undef uint_fast64_t
+# undef int_fast8_t
+# undef uint_fast8_t
+# undef int_fast16_t
+# undef uint_fast16_t
+# undef int_fast32_t
+# undef uint_fast32_t
+# undef int_fast64_t
+# undef uint_fast64_t
 typedef signed char gl_int_fast8_t;
 typedef unsigned char gl_uint_fast8_t;
 
-#ifdef __sun
+# ifdef __sun
 /* Define types compatible with SunOS 5.10, so that code compiled under
    earlier SunOS versions works with code compiled under SunOS 5.10.  */
 typedef int gl_int_fast32_t;
 typedef unsigned int gl_uint_fast32_t;
-#else
+# else
 typedef long int gl_int_fast32_t;
 typedef unsigned long int gl_uint_fast32_t;
-#endif
+# endif
 typedef gl_int_fast32_t gl_int_fast16_t;
 typedef gl_uint_fast32_t gl_uint_fast16_t;
 
-#define int_fast8_t gl_int_fast8_t
-#define uint_fast8_t gl_uint_fast8_t
-#define int_fast16_t gl_int_fast16_t
-#define uint_fast16_t gl_uint_fast16_t
-#define int_fast32_t gl_int_fast32_t
-#define uint_fast32_t gl_uint_fast32_t
-#ifdef GL_INT64_T
-# define int_fast64_t int64_t
-#endif
-#ifdef GL_UINT64_T
-# define uint_fast64_t uint64_t
-#endif
+# define int_fast8_t gl_int_fast8_t
+# define uint_fast8_t gl_uint_fast8_t
+# define int_fast16_t gl_int_fast16_t
+# define uint_fast16_t gl_uint_fast16_t
+# define int_fast32_t gl_int_fast32_t
+# define uint_fast32_t gl_uint_fast32_t
+# ifdef GL_INT64_T
+#  define int_fast64_t int64_t
+# endif
+# ifdef GL_UINT64_T
+#  define uint_fast64_t uint64_t
+# endif
 
 /* 7.18.1.4. Integer types capable of holding object pointers */
 
-#undef intptr_t
-#undef uintptr_t
+/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
+   definitions of intptr_t and uintptr_t (which use int and unsigned)
+   to avoid clashes with declarations of system functions like sbrk.  */
+# ifndef _INTPTR_T_DECLARED
+# undef intptr_t
+# undef uintptr_t
 typedef long int gl_intptr_t;
 typedef unsigned long int gl_uintptr_t;
-#define intptr_t gl_intptr_t
-#define uintptr_t gl_uintptr_t
+# define intptr_t gl_intptr_t
+# define uintptr_t gl_uintptr_t
+# endif
 
 /* 7.18.1.5. Greatest-width integer types */
 
@@ -304,33 +306,33 @@ typedef unsigned long int gl_uintptr_t;
    similarly for UINTMAX_MAX and uintmax_t.  This avoids problems with
    assuming one type where another is used by the system.  */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_C
-# undef intmax_t
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# ifndef INTMAX_MAX
+#  undef INTMAX_C
+#  undef intmax_t
+#  if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
 typedef long long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
-# elif defined GL_INT64_T
-#  define intmax_t int64_t
-# else
+#   define intmax_t gl_intmax_t
+#  elif defined GL_INT64_T
+#   define intmax_t int64_t
+#  else
 typedef long int gl_intmax_t;
-#  define intmax_t gl_intmax_t
+#   define intmax_t gl_intmax_t
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# undef UINTMAX_C
-# undef uintmax_t
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# ifndef UINTMAX_MAX
+#  undef UINTMAX_C
+#  undef uintmax_t
+#  if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
 typedef unsigned long long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
-# elif defined GL_UINT64_T
-#  define uintmax_t uint64_t
-# else
+#   define uintmax_t gl_uintmax_t
+#  elif defined GL_UINT64_T
+#   define uintmax_t uint64_t
+#  else
 typedef unsigned long int gl_uintmax_t;
-#  define uintmax_t gl_uintmax_t
+#   define uintmax_t gl_uintmax_t
+#  endif
 # endif
-#endif
 
 /* Verify that intmax_t and uintmax_t have the same size.  Too much code
    breaks if this is not the case.  If this check fails, the reason is likely
@@ -338,8 +340,8 @@ typedef unsigned long int gl_uintmax_t;
 typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
                                 ? 1 : -1];
 
-#define GNULIB_defined_stdint_types 1
-#endif /* !GNULIB_defined_stdint_types */
+# define GNULIB_defined_stdint_types 1
+# endif /* !GNULIB_defined_stdint_types */
 
 /* 7.18.2. Limits of specified-width integer types */
 
@@ -348,37 +350,37 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits.  */
 
-#undef INT8_MIN
-#undef INT8_MAX
-#undef UINT8_MAX
-#define INT8_MIN  (~ INT8_MAX)
-#define INT8_MAX  127
-#define UINT8_MAX  255
-
-#undef INT16_MIN
-#undef INT16_MAX
-#undef UINT16_MAX
-#define INT16_MIN  (~ INT16_MAX)
-#define INT16_MAX  32767
-#define UINT16_MAX  65535
-
-#undef INT32_MIN
-#undef INT32_MAX
-#undef UINT32_MAX
-#define INT32_MIN  (~ INT32_MAX)
-#define INT32_MAX  2147483647
-#define UINT32_MAX  4294967295U
-
-#if defined GL_INT64_T && ! defined INT64_MAX
+# undef INT8_MIN
+# undef INT8_MAX
+# undef UINT8_MAX
+# define INT8_MIN  (~ INT8_MAX)
+# define INT8_MAX  127
+# define UINT8_MAX  255
+
+# undef INT16_MIN
+# undef INT16_MAX
+# undef UINT16_MAX
+# define INT16_MIN  (~ INT16_MAX)
+# define INT16_MAX  32767
+# define UINT16_MAX  65535
+
+# undef INT32_MIN
+# undef INT32_MAX
+# undef UINT32_MAX
+# define INT32_MIN  (~ INT32_MAX)
+# define INT32_MAX  2147483647
+# define UINT32_MAX  4294967295U
+
+# if defined GL_INT64_T && ! defined INT64_MAX
 /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
    evaluates the latter incorrectly in preprocessor expressions.  */
-# define INT64_MIN  (- INTMAX_C (1) << 63)
-# define INT64_MAX  INTMAX_C (9223372036854775807)
-#endif
+#  define INT64_MIN  (- INTMAX_C (1) << 63)
+#  define INT64_MAX  INTMAX_C (9223372036854775807)
+# endif
 
-#if defined GL_UINT64_T && ! defined UINT64_MAX
-# define UINT64_MAX  UINTMAX_C (18446744073709551615)
-#endif
+# if defined GL_UINT64_T && ! defined UINT64_MAX
+#  define UINT64_MAX  UINTMAX_C (18446744073709551615)
+# endif
 
 /* 7.18.2.2. Limits of minimum-width integer types */
 
@@ -386,38 +388,38 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
    are the same as the corresponding N_t types.  */
 
-#undef INT_LEAST8_MIN
-#undef INT_LEAST8_MAX
-#undef UINT_LEAST8_MAX
-#define INT_LEAST8_MIN  INT8_MIN
-#define INT_LEAST8_MAX  INT8_MAX
-#define UINT_LEAST8_MAX  UINT8_MAX
-
-#undef INT_LEAST16_MIN
-#undef INT_LEAST16_MAX
-#undef UINT_LEAST16_MAX
-#define INT_LEAST16_MIN  INT16_MIN
-#define INT_LEAST16_MAX  INT16_MAX
-#define UINT_LEAST16_MAX  UINT16_MAX
-
-#undef INT_LEAST32_MIN
-#undef INT_LEAST32_MAX
-#undef UINT_LEAST32_MAX
-#define INT_LEAST32_MIN  INT32_MIN
-#define INT_LEAST32_MAX  INT32_MAX
-#define UINT_LEAST32_MAX  UINT32_MAX
-
-#undef INT_LEAST64_MIN
-#undef INT_LEAST64_MAX
-#ifdef GL_INT64_T
-# define INT_LEAST64_MIN  INT64_MIN
-# define INT_LEAST64_MAX  INT64_MAX
-#endif
+# undef INT_LEAST8_MIN
+# undef INT_LEAST8_MAX
+# undef UINT_LEAST8_MAX
+# define INT_LEAST8_MIN  INT8_MIN
+# define INT_LEAST8_MAX  INT8_MAX
+# define UINT_LEAST8_MAX  UINT8_MAX
+
+# undef INT_LEAST16_MIN
+# undef INT_LEAST16_MAX
+# undef UINT_LEAST16_MAX
+# define INT_LEAST16_MIN  INT16_MIN
+# define INT_LEAST16_MAX  INT16_MAX
+# define UINT_LEAST16_MAX  UINT16_MAX
+
+# undef INT_LEAST32_MIN
+# undef INT_LEAST32_MAX
+# undef UINT_LEAST32_MAX
+# define INT_LEAST32_MIN  INT32_MIN
+# define INT_LEAST32_MAX  INT32_MAX
+# define UINT_LEAST32_MAX  UINT32_MAX
+
+# undef INT_LEAST64_MIN
+# undef INT_LEAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_LEAST64_MIN  INT64_MIN
+#  define INT_LEAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_LEAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_LEAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_LEAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_LEAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.3. Limits of fastest minimum-width integer types */
 
@@ -425,117 +427,117 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
    are taken from the same list of types.  */
 
-#undef INT_FAST8_MIN
-#undef INT_FAST8_MAX
-#undef UINT_FAST8_MAX
-#define INT_FAST8_MIN  SCHAR_MIN
-#define INT_FAST8_MAX  SCHAR_MAX
-#define UINT_FAST8_MAX  UCHAR_MAX
-
-#undef INT_FAST16_MIN
-#undef INT_FAST16_MAX
-#undef UINT_FAST16_MAX
-#define INT_FAST16_MIN  INT_FAST32_MIN
-#define INT_FAST16_MAX  INT_FAST32_MAX
-#define UINT_FAST16_MAX  UINT_FAST32_MAX
-
-#undef INT_FAST32_MIN
-#undef INT_FAST32_MAX
-#undef UINT_FAST32_MAX
-#ifdef __sun
-# define INT_FAST32_MIN  INT_MIN
-# define INT_FAST32_MAX  INT_MAX
-# define UINT_FAST32_MAX  UINT_MAX
-#else
-# define INT_FAST32_MIN  LONG_MIN
-# define INT_FAST32_MAX  LONG_MAX
-# define UINT_FAST32_MAX  ULONG_MAX
-#endif
+# undef INT_FAST8_MIN
+# undef INT_FAST8_MAX
+# undef UINT_FAST8_MAX
+# define INT_FAST8_MIN  SCHAR_MIN
+# define INT_FAST8_MAX  SCHAR_MAX
+# define UINT_FAST8_MAX  UCHAR_MAX
+
+# undef INT_FAST16_MIN
+# undef INT_FAST16_MAX
+# undef UINT_FAST16_MAX
+# define INT_FAST16_MIN  INT_FAST32_MIN
+# define INT_FAST16_MAX  INT_FAST32_MAX
+# define UINT_FAST16_MAX  UINT_FAST32_MAX
+
+# undef INT_FAST32_MIN
+# undef INT_FAST32_MAX
+# undef UINT_FAST32_MAX
+# ifdef __sun
+#  define INT_FAST32_MIN  INT_MIN
+#  define INT_FAST32_MAX  INT_MAX
+#  define UINT_FAST32_MAX  UINT_MAX
+# else
+#  define INT_FAST32_MIN  LONG_MIN
+#  define INT_FAST32_MAX  LONG_MAX
+#  define UINT_FAST32_MAX  ULONG_MAX
+# endif
 
-#undef INT_FAST64_MIN
-#undef INT_FAST64_MAX
-#ifdef GL_INT64_T
-# define INT_FAST64_MIN  INT64_MIN
-# define INT_FAST64_MAX  INT64_MAX
-#endif
+# undef INT_FAST64_MIN
+# undef INT_FAST64_MAX
+# ifdef GL_INT64_T
+#  define INT_FAST64_MIN  INT64_MIN
+#  define INT_FAST64_MAX  INT64_MAX
+# endif
 
-#undef UINT_FAST64_MAX
-#ifdef GL_UINT64_T
-# define UINT_FAST64_MAX  UINT64_MAX
-#endif
+# undef UINT_FAST64_MAX
+# ifdef GL_UINT64_T
+#  define UINT_FAST64_MAX  UINT64_MAX
+# endif
 
 /* 7.18.2.4. Limits of integer types capable of holding object pointers */
 
-#undef INTPTR_MIN
-#undef INTPTR_MAX
-#undef UINTPTR_MAX
-#define INTPTR_MIN  LONG_MIN
-#define INTPTR_MAX  LONG_MAX
-#define UINTPTR_MAX  ULONG_MAX
+# undef INTPTR_MIN
+# undef INTPTR_MAX
+# undef UINTPTR_MAX
+# define INTPTR_MIN  LONG_MIN
+# define INTPTR_MAX  LONG_MAX
+# define UINTPTR_MAX  ULONG_MAX
 
 /* 7.18.2.5. Limits of greatest-width integer types */
 
-#ifndef INTMAX_MAX
-# undef INTMAX_MIN
-# ifdef INT64_MAX
-#  define INTMAX_MIN  INT64_MIN
-#  define INTMAX_MAX  INT64_MAX
-# else
-#  define INTMAX_MIN  INT32_MIN
-#  define INTMAX_MAX  INT32_MAX
+# ifndef INTMAX_MAX
+#  undef INTMAX_MIN
+#  ifdef INT64_MAX
+#   define INTMAX_MIN  INT64_MIN
+#   define INTMAX_MAX  INT64_MAX
+#  else
+#   define INTMAX_MIN  INT32_MIN
+#   define INTMAX_MAX  INT32_MAX
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_MAX
-# ifdef UINT64_MAX
-#  define UINTMAX_MAX  UINT64_MAX
-# else
-#  define UINTMAX_MAX  UINT32_MAX
+# ifndef UINTMAX_MAX
+#  ifdef UINT64_MAX
+#   define UINTMAX_MAX  UINT64_MAX
+#  else
+#   define UINTMAX_MAX  UINT32_MAX
+#  endif
 # endif
-#endif
 
 /* 7.18.3. Limits of other integer types */
 
 /* ptrdiff_t limits */
-#undef PTRDIFF_MIN
-#undef PTRDIFF_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 64, 0l)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+# undef PTRDIFF_MIN
+# undef PTRDIFF_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define PTRDIFF_MIN  _STDINT_MIN (1, 64, 0l)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 64, 0l)
+#  else
+#   define PTRDIFF_MIN  _STDINT_MIN (1, 32, 0)
+#   define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
+#  endif
 # else
-#  define PTRDIFF_MIN  _STDINT_MIN (1, 32, 0)
-#  define PTRDIFF_MAX  _STDINT_MAX (1, 32, 0)
-# endif
-#else
-# define PTRDIFF_MIN  \
+#  define PTRDIFF_MIN  \
     _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-# define PTRDIFF_MAX  \
+#  define PTRDIFF_MAX  \
     _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
-#endif
+# endif
 
 /* sig_atomic_t limits */
-#undef SIG_ATOMIC_MIN
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MIN  \
+# undef SIG_ATOMIC_MIN
+# undef SIG_ATOMIC_MAX
+# define SIG_ATOMIC_MIN  \
    _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
                 0@SIG_ATOMIC_T_SUFFIX@)
-#define SIG_ATOMIC_MAX  \
+# define SIG_ATOMIC_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
                 0@SIG_ATOMIC_T_SUFFIX@)
 
 
 /* size_t limit */
-#undef SIZE_MAX
-#if @APPLE_UNIVERSAL_BUILD@
-# ifdef _LP64
-#  define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+# undef SIZE_MAX
+# if @APPLE_UNIVERSAL_BUILD@
+#  ifdef _LP64
+#   define SIZE_MAX  _STDINT_MAX (0, 64, 0ul)
+#  else
+#   define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  endif
 # else
-#  define SIZE_MAX  _STDINT_MAX (0, 32, 0ul)
+#  define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
 # endif
-#else
-# define SIZE_MAX  _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
-#endif
 
 /* wchar_t limits */
 /* Get WCHAR_MIN, WCHAR_MAX.
@@ -543,29 +545,29 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
    sequence of nested includes
    <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
    <stdint.h> and assumes its types are already defined.  */
-#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
   /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
      included before <wchar.h>.  */
-# include <stddef.h>
-# include <stdio.h>
-# include <time.h>
-# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-# include <wchar.h>
-# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
-#endif
-#undef WCHAR_MIN
-#undef WCHAR_MAX
-#define WCHAR_MIN  \
+#  include <stddef.h>
+#  include <stdio.h>
+#  include <time.h>
+#  define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+#  include <wchar.h>
+#  undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+# endif
+# undef WCHAR_MIN
+# undef WCHAR_MAX
+# define WCHAR_MIN  \
    _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
-#define WCHAR_MAX  \
+# define WCHAR_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
 
 /* wint_t limits */
-#undef WINT_MIN
-#undef WINT_MAX
-#define WINT_MIN  \
+# undef WINT_MIN
+# undef WINT_MAX
+# define WINT_MIN  \
    _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
-#define WINT_MAX  \
+# define WINT_MAX  \
    _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
 
 /* 7.18.4. Macros for integer constants */
@@ -576,59 +578,120 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
 /* Here we assume a standard architecture where the hardware integer
    types have 8, 16, 32, optionally 64 bits, and int is 32 bits.  */
 
-#undef INT8_C
-#undef UINT8_C
-#define INT8_C(x) x
-#define UINT8_C(x) x
-
-#undef INT16_C
-#undef UINT16_C
-#define INT16_C(x) x
-#define UINT16_C(x) x
-
-#undef INT32_C
-#undef UINT32_C
-#define INT32_C(x) x
-#define UINT32_C(x) x ## U
-
-#undef INT64_C
-#undef UINT64_C
-#if LONG_MAX >> 31 >> 31 == 1
-# define INT64_C(x) x##L
-#elif defined _MSC_VER
-# define INT64_C(x) x##i64
-#elif @HAVE_LONG_LONG_INT@
-# define INT64_C(x) x##LL
-#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# define UINT64_C(x) x##UL
-#elif defined _MSC_VER
-# define UINT64_C(x) x##ui64
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# define UINT64_C(x) x##ULL
-#endif
+# undef INT8_C
+# undef UINT8_C
+# define INT8_C(x) x
+# define UINT8_C(x) x
+
+# undef INT16_C
+# undef UINT16_C
+# define INT16_C(x) x
+# define UINT16_C(x) x
+
+# undef INT32_C
+# undef UINT32_C
+# define INT32_C(x) x
+# define UINT32_C(x) x ## U
+
+# undef INT64_C
+# undef UINT64_C
+# if LONG_MAX >> 31 >> 31 == 1
+#  define INT64_C(x) x##L
+# elif defined _MSC_VER
+#  define INT64_C(x) x##i64
+# elif @HAVE_LONG_LONG_INT@
+#  define INT64_C(x) x##LL
+# endif
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+#  define UINT64_C(x) x##UL
+# elif defined _MSC_VER
+#  define UINT64_C(x) x##ui64
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@
+#  define UINT64_C(x) x##ULL
+# endif
 
 /* 7.18.4.2. Macros for greatest-width integer constants */
 
-#ifndef INTMAX_C
-# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-#  define INTMAX_C(x)   x##LL
-# elif defined GL_INT64_T
-#  define INTMAX_C(x)   INT64_C(x)
-# else
-#  define INTMAX_C(x)   x##L
+# ifndef INTMAX_C
+#  if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+#   define INTMAX_C(x)   x##LL
+#  elif defined GL_INT64_T
+#   define INTMAX_C(x)   INT64_C(x)
+#  else
+#   define INTMAX_C(x)   x##L
+#  endif
 # endif
-#endif
 
-#ifndef UINTMAX_C
-# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-#  define UINTMAX_C(x)  x##ULL
-# elif defined GL_UINT64_T
-#  define UINTMAX_C(x)  UINT64_C(x)
-# else
-#  define UINTMAX_C(x)  x##UL
+# ifndef UINTMAX_C
+#  if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+#   define UINTMAX_C(x)  x##ULL
+#  elif defined GL_UINT64_T
+#   define UINTMAX_C(x)  UINT64_C(x)
+#  else
+#   define UINTMAX_C(x)  x##UL
+#  endif
 # endif
-#endif
+
+#endif /* !@HAVE_C99_STDINT_H@ */
+
+/* Macros specified by ISO/IEC TS 18661-1:2014.  */
+
+#if (!defined UINTMAX_WIDTH \
+     && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
+# ifdef INT8_MAX
+#  define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX)
+# endif
+# ifdef UINT8_MAX
+#  define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX)
+# endif
+# ifdef INT16_MAX
+#  define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX)
+# endif
+# ifdef UINT16_MAX
+#  define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX)
+# endif
+# ifdef INT32_MAX
+#  define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX)
+# endif
+# ifdef UINT32_MAX
+#  define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX)
+# endif
+# ifdef INT64_MAX
+#  define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX)
+# endif
+# ifdef UINT64_MAX
+#  define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX)
+# endif
+# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX)
+# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX)
+# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX)
+# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX)
+# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX)
+# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX)
+# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX)
+# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX)
+# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX)
+# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX)
+# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX)
+# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX)
+# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX)
+# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX)
+# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX)
+# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX)
+# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX)
+# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX)
+# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX)
+# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX)
+# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX)
+# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX)
+# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX)
+# ifdef WINT_MAX
+#  define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX)
+# endif
+# ifdef SIG_ATOMIC_MAX
+#  define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX)
+# endif
+#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
 
 #endif /* _@GUARD_PREFIX@_STDINT_H */
 #endif /* !(defined __ANDROID__ && ...) */
diff --git a/gdb/gnulib/import/stdio.in.h b/gdb/gnulib/import/stdio.in.h
index ec43874..9b31365 100644
--- a/gdb/gnulib/import/stdio.in.h
+++ b/gdb/gnulib/import/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/stdlib.in.h b/gdb/gnulib/import/stdlib.in.h
index 428a119..70dc88d 100644
--- a/gdb/gnulib/import/stdlib.in.h
+++ b/gdb/gnulib/import/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/str-two-way.h b/gdb/gnulib/import/str-two-way.h
index 6e10c8e..0fe3161 100644
--- a/gdb/gnulib/import/str-two-way.h
+++ b/gdb/gnulib/import/str-two-way.h
@@ -1,5 +1,5 @@
 /* Byte-wise substring search, using the Two-Way algorithm.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Eric Blake <ebb9@byu.net>, 2008.
 
diff --git a/gdb/gnulib/import/strchrnul.c b/gdb/gnulib/import/strchrnul.c
index 1000e83..1482a77 100644
--- a/gdb/gnulib/import/strchrnul.c
+++ b/gdb/gnulib/import/strchrnul.c
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2003, 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/streq.h b/gdb/gnulib/import/streq.h
index 6107fc6..234f075 100644
--- a/gdb/gnulib/import/streq.h
+++ b/gdb/gnulib/import/streq.h
@@ -1,5 +1,5 @@
 /* Optimized string comparison.
-   Copyright (C) 2001-2002, 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/gdb/gnulib/import/string.in.h b/gdb/gnulib/import/string.in.h
index 2abd6bc..b3213c4 100644
--- a/gdb/gnulib/import/string.in.h
+++ b/gdb/gnulib/import/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -416,15 +416,15 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
 #   undef strndup
 #   define strndup rpl_strndup
 #  endif
-_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
+_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n)
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
 # else
 #  if ! @HAVE_DECL_STRNDUP@
-_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
+_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n)
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
 # endif
 _GL_CXXALIASWARN (strndup);
 #elif defined GNULIB_POSIXCHECK
@@ -444,17 +444,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - "
 #   undef strnlen
 #   define strnlen rpl_strnlen
 #  endif
-_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen));
 # else
 #  if ! @HAVE_DECL_STRNLEN@
-_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)
                                    _GL_ATTRIBUTE_PURE
                                    _GL_ARG_NONNULL ((1)));
 #  endif
-_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen));
 # endif
 _GL_CXXALIASWARN (strnlen);
 #elif defined GNULIB_POSIXCHECK
diff --git a/gdb/gnulib/import/stripslash.c b/gdb/gnulib/import/stripslash.c
index 12359cf..0453e36 100644
--- a/gdb/gnulib/import/stripslash.c
+++ b/gdb/gnulib/import/stripslash.c
@@ -1,6 +1,6 @@
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2015 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2016 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gdb/gnulib/import/strnlen1.c b/gdb/gnulib/import/strnlen1.c
index 48272a8..f5e0ffc 100644
--- a/gdb/gnulib/import/strnlen1.c
+++ b/gdb/gnulib/import/strnlen1.c
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/strnlen1.h b/gdb/gnulib/import/strnlen1.h
index 794e436..d3cd7c1 100644
--- a/gdb/gnulib/import/strnlen1.h
+++ b/gdb/gnulib/import/strnlen1.h
@@ -1,5 +1,5 @@
 /* Find the length of STRING + 1, but scan at most MAXLEN bytes.
-   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/strstr.c b/gdb/gnulib/import/strstr.c
index fbc11a2..60cd3e3 100644
--- a/gdb/gnulib/import/strstr.c
+++ b/gdb/gnulib/import/strstr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2015 Free Software
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2016 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gdb/gnulib/import/strtok_r.c b/gdb/gnulib/import/strtok_r.c
index 183aebc..3531634 100644
--- a/gdb/gnulib/import/strtok_r.c
+++ b/gdb/gnulib/import/strtok_r.c
@@ -1,5 +1,5 @@
 /* Reentrant string tokenizer.  Generic version.
-   Copyright (C) 1991, 1996-1999, 2001, 2004, 2007, 2009-2015 Free Software
+   Copyright (C) 1991, 1996-1999, 2001, 2004, 2007, 2009-2016 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gdb/gnulib/import/sys_stat.in.h b/gdb/gnulib/import/sys_stat.in.h
index 9f5e853..72d9537 100644
--- a/gdb/gnulib/import/sys_stat.in.h
+++ b/gdb/gnulib/import/sys_stat.in.h
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h
index c556c5d..1623a1d 100644
--- a/gdb/gnulib/import/sys_time.in.h
+++ b/gdb/gnulib/import/sys_time.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/sys_types.in.h b/gdb/gnulib/import/sys_types.in.h
index 814bc17..8ab0545 100644
--- a/gdb/gnulib/import/sys_types.in.h
+++ b/gdb/gnulib/import/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/time.in.h b/gdb/gnulib/import/time.in.h
index a90552c..865c114 100644
--- a/gdb/gnulib/import/time.in.h
+++ b/gdb/gnulib/import/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/unistd.c b/gdb/gnulib/import/unistd.c
index 6c6a8e2..72bad1c 100644
--- a/gdb/gnulib/import/unistd.c
+++ b/gdb/gnulib/import/unistd.c
@@ -1,3 +1,4 @@
 #include <config.h>
 #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
 #include "unistd.h"
+typedef int dummy;
diff --git a/gdb/gnulib/import/unistd.in.h b/gdb/gnulib/import/unistd.in.h
index 958fea2..c3af07a 100644
--- a/gdb/gnulib/import/unistd.in.h
+++ b/gdb/gnulib/import/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/gnulib/import/verify.h b/gdb/gnulib/import/verify.h
index 60eba49..5c8381d 100644
--- a/gdb/gnulib/import/verify.h
+++ b/gdb/gnulib/import/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -263,7 +263,7 @@ template <int w>
 # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
 #elif 1200 <= _MSC_VER
 # define assume(R) __assume (R)
-#elif (defined lint \
+#elif ((defined GCC_LINT || defined lint) \
        && (__has_builtin (__builtin_trap) \
            || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))))
   /* Doing it this way helps various packages when configured with
diff --git a/gdb/gnulib/import/wchar.in.h b/gdb/gnulib/import/wchar.in.h
index 684299f..75fb9f0 100644
--- a/gdb/gnulib/import/wchar.in.h
+++ b/gdb/gnulib/import/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,10 +31,11 @@
 @PRAGMA_COLUMNS@
 
 #if (((defined __need_mbstate_t || defined __need_wint_t)               \
-      && !defined __MINGW32__)                                          \
+      && !defined __MINGW32__ && !defined __KLIBC__)                    \
      || (defined __hpux                                                 \
          && ((defined _INTTYPES_INCLUDED && !defined strtoimax)         \
              || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))               \
+     || (defined __MINGW32__ && defined __STRING_H_SOURCED__)           \
      || defined _GL_ALREADY_INCLUDING_WCHAR_H)
 /* Special invocation convention:
    - Inside glibc and uClibc header files, but not MinGW.
@@ -44,6 +45,8 @@
      and once directly.  In both situations 'wint_t' is not yet defined,
      therefore we cannot provide the function overrides; instead include only
      the system's <wchar.h>.
+   - With MinGW 3.22, when <string.h> includes <wchar.h>, only some part of
+     <wchar.h> is actually processed, and that doesn't include 'mbstate_t'.
    - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
      the latter includes <wchar.h>.  But here, we have no way to detect whether
      <wctype.h> is completely included or is still being included.  */
@@ -445,6 +448,11 @@ _GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
 #  if !@HAVE_DECL_WCWIDTH@
 /* wcwidth exists but is not declared.  */
 _GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
+#  elif defined __KLIBC__
+/* On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
+   static inline function.  The implementation of wcwidth in wcwidth.c
+   causes a "conflicting types" error. */
+#   undef wcwidth
 #  endif
 _GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
 # endif
diff --git a/gdb/gnulib/import/wctype.in.h b/gdb/gnulib/import/wctype.in.h
index 9050b7e..37b3d8eb 100644
--- a/gdb/gnulib/import/wctype.in.h
+++ b/gdb/gnulib/import/wctype.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -25,13 +25,25 @@
  * wctrans_t, and wctype_t are not yet implemented.
  */
 
-#ifndef _@GUARD_PREFIX@_WCTYPE_H
-
 #if __GNUC__ >= 3
 @PRAGMA_SYSTEM_HEADER@
 #endif
 @PRAGMA_COLUMNS@
 
+#if (defined __MINGW32__ && defined __CTYPE_H_SOURCED__)
+
+/* Special invocation convention:
+   - With MinGW 3.22, when <ctype.h> includes <wctype.h>, only some part of
+     <wctype.h> is being processed, which doesn't include the idempotency
+     guard.   */
+
+#@INCLUDE_NEXT@ @NEXT_WCTYPE_H@
+
+#else
+/* Normal invocation convention.  */
+
+#ifndef _@GUARD_PREFIX@_WCTYPE_H
+
 #if @HAVE_WINT_T@
 /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
    Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
@@ -512,3 +524,4 @@ _GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
 #endif /* _@GUARD_PREFIX@_WCTYPE_H */
+#endif
diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
index b92f284..82eb52a 100755
--- a/gdb/gnulib/update-gnulib.sh
+++ b/gdb/gnulib/update-gnulib.sh
@@ -39,6 +39,7 @@ IMPORTED_GNULIB_MODULES="\
     frexpl \
     inttypes \
     lstat \
+    limits-h \
     memchr \
     memmem \
     pathmax \
@@ -57,7 +58,7 @@ IMPORTED_GNULIB_MODULES="\
 "
 
 # The gnulib commit ID to use for the update.
-GNULIB_COMMIT_SHA1="1029a8112290f6eee9d7878a391c49db42c999bd"
+GNULIB_COMMIT_SHA1="2692e23a48e21f6daa029e8af9f1a143b7532f47"
 
 # The expected version number for the various auto tools we will
 # use after the import.
-- 
2.5.5

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

end of thread, other threads:[~2018-09-04 17:58 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-28 19:59 [PATCH] Update gnulib to current upstream master Sergio Durigan Junior
2018-08-29 16:19 ` Tom Tromey
2018-08-29 16:29   ` Sergio Durigan Junior
2018-08-29 19:06 ` Pedro Alves
2018-08-29 19:34   ` Sergio Durigan Junior
2018-08-31 13:04     ` Pedro Alves
2018-08-30  0:04   ` Tom Tromey
2018-08-30  3:01     ` Sergio Durigan Junior
2018-08-30 15:57   ` [PATCH] Update gnulib/Makefile.in:aclocal_m4_deps Sergio Durigan Junior
2018-08-30 17:05     ` Simon Marchi
2018-08-30 20:00       ` Sergio Durigan Junior
2018-08-31  7:59         ` Joel Brobecker
2018-08-31 16:02           ` Sergio Durigan Junior
2018-08-31 11:21         ` Pedro Alves
2018-08-31 16:03           ` Sergio Durigan Junior
2018-09-02 21:21           ` [PATCH] Automatically update "aclocal_m4_deps" when updating gnulib Sergio Durigan Junior
2018-09-03 11:15             ` Pedro Alves
2018-09-03 21:18               ` Sergio Durigan Junior
2018-09-04 11:10                 ` Pedro Alves
2018-09-04 17:58                   ` Sergio Durigan Junior
  -- strict thread matches above, loose matches on Subject: below --
2016-10-12 15:17 [PATCH] Update gnulib to current upstream master Pedro Alves
2016-10-12 16:09 ` Yao Qi
2016-10-12 16:12   ` Pedro Alves
2016-10-12 16:23     ` Pedro Alves
2016-10-12 16:56       ` Eli Zaretskii
2016-10-12 17:10         ` Pedro Alves
2016-10-12 17:31           ` Eli Zaretskii
2016-10-12 16:30     ` Yao Qi

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