This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Update gnulib to current upstream master


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=49e4877c5487dc34edf414bb0f1125ce1b71e08b

commit 49e4877c5487dc34edf414bb0f1125ce1b71e08b
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 18 17:18:29 2016 +0100

    Update gnulib to current upstream master
    
    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-18  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.
    	* gnulib/import/m4/hard-locale.m4: New file.
    	* gnulib/import/m4/limits-h.m4: New file.

Diff:
---
 gdb/ChangeLog                                 | 182 +++++++
 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 +-
 174 files changed, 2178 insertions(+), 766 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2ebad59..7dd1b32 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,187 @@
 2016-10-18  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.
+	* gnulib/import/m4/hard-locale.m4: New file.
+	* gnulib/import/m4/limits-h.m4: New file.
+
+2016-10-18  Pedro Alves  <palves@redhat.com>
+
 	* common/common-defs.h: Include "gdb_unique_ptr.h".
 	* common/gdb_unique_ptr.h: New.
 
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[...]

[diff truncated at 100000 bytes]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]