On 2025-06-18 07:28, Andrew Hamilton wrote:
Pull in gnulib fix to allow base64.c to compile using GCC 15 or newer.

Pulled from: GNULIB commit 25df6dc4253480a343dde3376ce6fd99c316a532

GCC 15 adds a new compiler warning "-Wunterminated-string-initialization" that will trigger what is considered a false-positive in base64.c as this
array is not treated as a string but an array of characters so the lack
of NULL string terminator is expected.

GCC team has added ability to flag such instances of arrays that the
compiler may think are strings as "nonstring" arrays to avoid this
warning: _attribute_((nonstring)).

Fixes: https://savannah.gnu.org/bugs/?66470

Signed-off-by: Andrew Hamilton <adham...@gmail.com>

Reviewed-by: Sudhakar Kuppusamy <sudha...@linux.ibm.com>

---
 bootstrap.conf                                        |  3 ++-
 grub-core/lib/gnulib-patches/gcc-15-compile-fix.patch | 11 +++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 grub-core/lib/gnulib-patches/gcc-15-compile-fix.patch

diff --git a/bootstrap.conf b/bootstrap.conf
index 7cd375ba9..4655c2128 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -86,7 +86,8 @@ bootstrap_post_import_hook () {
   # add new patches here.
   for patchname in fix-width \
       fix-regcomp-resource-leak \
-      fix-regexec-resource-leak; do
+      fix-regexec-resource-leak \
+      gcc-15-compile-fix; do
     patch -d grub-core/lib/gnulib -p2 \
        < "grub-core/lib/gnulib-patches/$patchname.patch"
   done
diff --git a/grub-core/lib/gnulib-patches/gcc-15-compile-fix.patch
b/grub-core/lib/gnulib-patches/gcc-15-compile-fix.patch
new file mode 100644
index 000000000..287332ea0
--- /dev/null
+++ b/grub-core/lib/gnulib-patches/gcc-15-compile-fix.patch
@@ -0,0 +1,11 @@
+--- a/lib/base64.c
++++ b/lib/base64.c
+@@ -61,7 +61,7 @@
+   return ch;
+ }
+
+-static const char b64c[64] =
++static const char b64c[64] _GL_ATTRIBUTE_NONSTRING =
+   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+ /* Base64 encode IN array of size INLEN into OUT array. OUT needs

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to