From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Date: Wed, 9 Aug 2017 19:14:31 -0400 Subject: [U-Boot] [PATCH 1/5] Kconfig: add option to build with -fshort-wchar In-Reply-To: <20170809231441.22691-1-robdclark@gmail.com> References: <20170809231441.22691-1-robdclark@gmail.com> Message-ID: <20170809231441.22691-2-robdclark@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de UEFI expects strings to be UTF-16. So add an option so that when EFI_LOADER is enabled, we can use the expected unicode string size. Signed-off-by: Rob Clark --- Kconfig | 8 ++++++++ Makefile | 4 ++++ lib/efi_loader/Kconfig | 1 + 3 files changed, 13 insertions(+) diff --git a/Kconfig b/Kconfig index c1451bceda..7319f1fa94 100644 --- a/Kconfig +++ b/Kconfig @@ -53,6 +53,14 @@ config CC_OPTIMIZE_FOR_SIZE This option is enabled by default for U-Boot. +config CC_SHORT_WCHAR + bool "Use 16b wchar" + default n + help + Enabling this option will pass "-fshort-wchar" to gcc, for + 16bit unicode strings. This is used by EFI_LOADER, as the + UEFI spec defines strings to be UTF-16. + config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA diff --git a/Makefile b/Makefile index 50a002e72f..91b11f5a7b 100644 --- a/Makefile +++ b/Makefile @@ -590,6 +590,10 @@ else KBUILD_CFLAGS += -O2 endif +ifdef CONFIG_CC_SHORT_WCHAR +KBUILD_CFLAGS += -fshort-wchar +endif + KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector) KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks) diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig index d2b6327119..e28ef51ad4 100644 --- a/lib/efi_loader/Kconfig +++ b/lib/efi_loader/Kconfig @@ -1,6 +1,7 @@ config EFI_LOADER bool "Support running EFI Applications in U-Boot" depends on (ARM || X86) && OF_LIBFDT + select CC_SHORT_WCHAR default y help Select this option if you want to run EFI applications (like grub2) -- 2.13.0