gnulib: update to bd11400942d6
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 29 Apr 2022 12:39:24 +0000 (08:39 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 2 May 2022 14:54:19 +0000 (10:54 -0400)
Update the gnulib import to fixes these issues:

  - GDB build with clang + glibc < 2.33.

      https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d6a07b4dc21b3118727743142c678858df442853
      https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00072.html

    With glibc < 2.33, gnulib (since relatively recently) enables a
    replacement for free (see gnulib/import/m4/free.m4).  In that path,
    clang shows this error:

        make[2]: Entering directory '/home/smarchi/build/binutils-gdb-clang/gdbsupport'
          CXX      agent.o
        In file included from /home/smarchi/src/binutils-gdb/gdbsupport/agent.cc:20:
        In file included from /home/smarchi/src/binutils-gdb/gdbsupport/common-defs.h:95:
        ../gnulib/import/string.h:636:19: error: exception specification in declaration does not match previous declaration
        _GL_EXTERN_C void free (void *) throw ();
                          ^
        ../gnulib/import/stdlib.h:737:17: note: expanded from macro 'free'
        #   define free rpl_free
                        ^
        ../gnulib/import/stdlib.h:739:1: note: previous declaration is here
        _GL_FUNCDECL_RPL (free, void, (void *ptr));
        ^
        ../gnulib/import/sys/select.h:251:23: note: expanded from macro '_GL_FUNCDECL_RPL'
          _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
                              ^
        <scratch space>:139:1: note: expanded from here
        rpl_free
        ^

    The gnulib commit mentioned fixes the exception specification of `free`.

 - GDB build on RHEL 7:

      CC       libgnu_a-openat-proc.o
    In file included from /usr/include/string.h:633,
                     from ./string.h:41,
                     from ../../../binutils-gdb/gnulib/import/openat-proc.c:30:
    ./string.h:1105:1: error: expected identifier or '(' before '__extension__'
     1105 | _GL_FUNCDECL_SYS (strndup, char *,
          | ^~~~~~~~~~~~~~~~

     https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=84863a1c4dc8cca8fb0f6f670f67779cdd2d543b
     https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00075.html

Change-Id: Ibd51302feece6f385d0c53e0d08921b5d95e2776

gnulib/config.in
gnulib/configure
gnulib/import/glob.c
gnulib/import/m4/glob.m4
gnulib/import/m4/gnulib-common.m4
gnulib/import/stdlib.in.h
gnulib/import/string.in.h
gnulib/import/verify.h
gnulib/update-gnulib.sh

index f9cce7b6aa97e8d241486e4001911a04a5c89a62..07efd1334fafdc0051f726d2f9a8917dd9e417eb 100644 (file)
 #endif
 
 #ifdef __has_c_attribute
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
+      && _GL_GNUC_PREREQ (4, 6))
+#  pragma GCC diagnostic ignored "-Wpedantic"
+# endif
 # define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
 #else
 # define _GL_HAS_C_ATTRIBUTE(attr) 0
index 26f24670b0d7b8be29c727d1dbeb2aeb6ee380d2..cc7e8287d5a0a250e2b4f55c1c2fa270399793bd 100644 (file)
@@ -27062,7 +27062,7 @@ if ${gl_cv_glob_omit_nondir_symlinks+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test $cross_compiling != yes; then
-           if ln -s conf-file conf$$-globtest 2>/dev/null && touch conf-file
+           if ln -s conf$$-file conf$$-globtest 2>/dev/null && touch conf$$-file
            then
              gl_cv_glob_omit_nondir_symlinks=maybe
            else
@@ -27101,7 +27101,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 fi
 
            fi
-           rm -f conf$$-globtest
+           rm -f conf$$-file conf$$-globtest
          else
            gl_cv_glob_omit_nondir_symlinks="$gl_cross_guess_normal"
          fi
index f6993a3706468c79998e90353eef2392ba4bbbf9..57cb3bd1d1c862279f699ea2ed23e9d360315b0b 100644 (file)
@@ -1357,7 +1357,8 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
         }
       else
         {
-          int dfd = dirfd (stream);
+          DIR *dirp = stream;
+          int dfd = dirfd (dirp);
           int fnm_flags = ((!(flags & GLOB_PERIOD) ? FNM_PERIOD : 0)
                            | ((flags & GLOB_NOESCAPE) ? FNM_NOESCAPE : 0));
           flags |= GLOB_MAGCHAR;
index cf5f93930c1fb8b529561abab9a81ad49bf5240c..f59b84ff05764a9bce277e8d87eb1f5210450f4d 100644 (file)
@@ -1,4 +1,4 @@
-# glob.m4 serial 25
+# glob.m4 serial 26
 dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -70,7 +70,7 @@ char a[_GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 ? 1
       AC_CACHE_CHECK([whether glob NOTDIR*/ omits symlink to nondir],
                      [gl_cv_glob_omit_nondir_symlinks],
         [if test $cross_compiling != yes; then
-           if ln -s conf-file conf$$-globtest 2>/dev/null && touch conf-file
+           if ln -s conf$$-file conf$$-globtest 2>/dev/null && touch conf$$-file
            then
              gl_cv_glob_omit_nondir_symlinks=maybe
            else
@@ -94,7 +94,7 @@ char a[_GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 ? 1
                 :
                ])
            fi
-           rm -f conf$$-globtest
+           rm -f conf$$-file conf$$-globtest
          else
            gl_cv_glob_omit_nondir_symlinks="$gl_cross_guess_normal"
          fi
index c5ced04f181844195b6f0c37063618d9219f889e..30911d1581af8e537454e0a9bdb7027c7db008c1 100644 (file)
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 72
+# gnulib-common.m4 serial 73
 dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -106,6 +106,10 @@ AC_DEFUN([gl_COMMON_BODY], [
 #endif
 
 #ifdef __has_c_attribute
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
+      && _GL_GNUC_PREREQ (4, 6))
+#  pragma GCC diagnostic ignored "-Wpedantic"
+# endif
 # define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
 #else
 # define _GL_HAS_C_ATTRIBUTE(attr) 0
index d52c2f796382fdcc49962db6357471d7fc91fd0b..a86643c3ca35ab7bd98d463dc08bfedb1f0d9841 100644 (file)
@@ -184,7 +184,11 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
 #   undef free
 #   define free rpl_free
 #  endif
+#  if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2)
+_GL_FUNCDECL_RPL (free, void, (void *ptr) throw ());
+#  else
 _GL_FUNCDECL_RPL (free, void, (void *ptr));
+#  endif
 _GL_CXXALIAS_RPL (free, void, (void *ptr));
 # else
 _GL_CXXALIAS_SYS (free, void, (void *ptr));
index b6840fa9121a7c93110039e7f912cd681c953778..33160b25254ac8ef752167332fa5901eb0748aff 100644 (file)
@@ -583,7 +583,7 @@ _GL_FUNCDECL_RPL (strndup, char *,
                   _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
 _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
 # else
-#  if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11
+#  if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup)
 _GL_FUNCDECL_SYS (strndup, char *,
                   (char const *__s, size_t __n)
                   _GL_ARG_NONNULL ((1))
@@ -593,7 +593,7 @@ _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
 # endif
 _GL_CXXALIASWARN (strndup);
 #else
-# if __GNUC__ >= 11
+# if __GNUC__ >= 11 && !defined strndup
 /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free.  */
 _GL_FUNCDECL_SYS (strndup, char *,
                   (char const *__s, size_t __n)
index c2d2a5667065fbd961170e041aad7d5efbfb4167..c5c63ae97c6c8cae264a888c3b4c419cb01955d1 100644 (file)
@@ -215,6 +215,9 @@ template <int w>
 # define _GL_VERIFY(R, DIAGNOSTIC, ...)                                \
     extern int (*_GL_GENSYM (_gl_verify_function) (void))             \
       [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+# if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+#  pragma GCC diagnostic ignored "-Wnested-externs"
+# endif
 #endif
 
 /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h.  */
index 2666fe7dbf9c0dd4e1f211224ebda201094195f8..80aa3fafbf8926e0249f07e3fb22ec7acf4ad64d 100755 (executable)
@@ -84,7 +84,7 @@ IMPORTED_GNULIB_MODULES="\
 "
 
 # The gnulib commit ID to use for the update.
-GNULIB_COMMIT_SHA1="0cda5beb7962f6567f0c4e377df870fa05c6d681"
+GNULIB_COMMIT_SHA1="bd11400942d63de12371988dca8144925de9e2c3"
 
 # The expected version number for the various auto tools we will
 # use after the import.