1. Correct GRUB build with GCC >= 15 due to new GNULIB compile
warning detected by GCC.

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)). Reference this GCC discussion
for more details:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178

Tested that the compile now succeeds using current mainline development
GCC, build still works with GCC 12.2.0, and build still works with CLANG
14.0.6.

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

2. Correct GRUB build with CLANG due to a regression in grub-protect.c

util/grub-protect: Correct uninit 'err' Variable

In function protect_tpm2_export_tpm2key, the 'err' variable
is uninitialized in the normal (error free) path, so ensure this 
defaults to GRUB_ERR_NONE.

This causes the GRUB build to fail with clang (observed with
clang-14).

Fixes:  5934bf51c (util/grub-protect: Support NV index mode)

Andrew Hamilton (2):
  gnulib: Add patch to allow GRUB w/GCC-15 compile
  util/grub-protect: Correct uninit 'err' Variable

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

-- 
2.39.5


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

Reply via email to