You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
From 9eb111a7f7b897ba4ae19a68708e010a5c384260 Mon Sep 17 00:00:00 2001 |
|
From: Peter Jones <pjones@redhat.com> |
|
Date: Fri, 19 Jun 2015 16:53:36 -0400 |
|
Subject: [PATCH 3/7] Build with -fshort-wchar so toggle passwords work right. |
|
|
|
This source tree uses: |
|
|
|
typedef wchar_t efi_char16_t; |
|
|
|
to define UEFI's UCS-2 character type. On many platforms, wchar_t is |
|
32-bits by default. As a result, efichar_from_char winds up writing |
|
4-byte characters instead of 2-byte characters. In the case where we |
|
hash the password in mokutil, this works fine, because the same datatype |
|
is used, and the values are the same. But for our feature toggles, |
|
where we store the raw data and shim is interpretting the character |
|
array, every other character winds up being L'\0', and verification |
|
fails. |
|
|
|
So always build with -fshort-wchar to ensure we get 2-byte character |
|
storage. |
|
|
|
Signed-off-by: Peter Jones <pjones@redhat.com> |
|
--- |
|
configure.ac | 2 +- |
|
1 file changed, 1 insertion(+), 1 deletion(-) |
|
|
|
diff --git a/configure.ac b/configure.ac |
|
index fe28fb9..69d412a 100644 |
|
--- a/configure.ac |
|
+++ b/configure.ac |
|
@@ -37,7 +37,7 @@ else |
|
default_strict=no |
|
fi |
|
|
|
-WARNINGFLAGS_C="$WARNINGFLAGS_C -std=gnu11" |
|
+WARNINGFLAGS_C="$WARNINGFLAGS_C -std=gnu11 -fshort-wchar" |
|
|
|
AC_ARG_ENABLE(strict, AS_HELP_STRING([--enable-strict],[Enable strict compilation options]), enable_strict=$enableval, |
|
enable_strict=$default_strict) |
|
-- |
|
2.7.4 |
|
|
|
|