gdb: Workaround stringop-overread warning in debuginfod-support.c on powerpc64
authorMark Wielaard <mark@klomp.org>
Wed, 11 May 2022 22:46:37 +0000 (00:46 +0200)
committerMark Wielaard <mark@klomp.org>
Thu, 12 May 2022 10:39:12 +0000 (12:39 +0200)
Just like on s390x with g++ 11.2.1, ppc64le with g++ 11.3.1 produces a
spurious warning for stringop-overread in debuginfod_is_enabled
for url_view. Also suppress it on powerpc64.

 gdb/ChangeLog:

    * debuginfod-support.c (debuginfod_is_enabled): Use
      DIAGNOSTIC_IGNORE_STRINGOP_OVERREAD on powerpc64.

gdb/debuginfod-support.c

index f2a31ea1952e51b16a18da1056aff74d24c0da02..6dc08fc29b6ae00f5a8c64a1512ab9d43ed5f906 100644 (file)
@@ -193,15 +193,15 @@ debuginfod_is_enabled ()
          if (off == gdb::string_view::npos)
            break;
          url_view = url_view.substr (off);
-#if defined (__s390x__)
-         /* g++ 11.2.1 on s390x seems convinced url_view might be of
-            SIZE_MAX length.  And so complains because the length of
-            an array can only be PTRDIFF_MAX.  */
+#if defined (__s390x__) || defined (__powerpc64__)
+         /* g++ 11.2.1 on s390x and g++ 11.3.1 on ppc64le seem convinced
+            url_view might be of SIZE_MAX length.  And so complains
+            because the length of an array can only be PTRDIFF_MAX.  */
          DIAGNOSTIC_PUSH
          DIAGNOSTIC_IGNORE_STRINGOP_OVERREAD
 #endif
          off = url_view.find_first_of (' ');
-#if defined (__s390x__)
+#if defined (__s390x__) || defined (__powerpc64__)
          DIAGNOSTIC_POP
 #endif
          gdb_printf