]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
efi: Compile kernel.img with -fshort-wchar on all EFI targets
authorChris Coulson <chris.coulson@canonical.com>
Tue, 11 Oct 2022 12:26:33 +0000 (13:26 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 27 Oct 2022 13:17:04 +0000 (15:17 +0200)
The stack check logs a console message on failure, and the EFI API expects
a NULL terminated UCS-2 string. In order to define a UCS-2 string literal,
kernel.img on amd64 and i386 EFI targets is built with -fshort-wchar.

Also compile kernel.img on other EFI targets with -fshort-wchar.

Fixes: 37ddd94 (kern/efi/init: Log a console error during a stack check failure)
Reported-by: Glenn Washburn <development@efficientek.com>
Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/Makefile.core.def

index 5212dfab136989449bfefac41954024efa1d7828..98714c68d39fdfba75d735a182cc0f889693ed26 100644 (file)
@@ -61,15 +61,19 @@ kernel = {
   ia64_efi_ldflags = '-Wl,-r';
   ia64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
 
+  arm_efi_cflags           = '-fshort-wchar';
   arm_efi_ldflags          = '-Wl,-r';
   arm_efi_stripflags       = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
 
+  arm64_efi_cflags           = '-fshort-wchar';
   arm64_efi_ldflags          = '-Wl,-r';
   arm64_efi_stripflags       = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
 
+  riscv32_efi_cflags       = '-fshort-wchar';
   riscv32_efi_ldflags      = '-Wl,-r';
   riscv32_efi_stripflags   = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
 
+  riscv64_efi_cflags       = '-fshort-wchar';
   riscv64_efi_ldflags      = '-Wl,-r';
   riscv64_efi_stripflags   = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';