[U-Boot] [PATCH 0/5] vsprintf and short-wchar for EFI_LOADER

Heinrich Schuchardt xypron.debian at gmx.de
Wed Sep 6 15:31:52 UTC 2017


On 08/10/2017 01:14 AM, Rob Clark wrote:
> As requested, I've split this out of the larger EFI_LOADER patchset.
> 
> This adds two things that the later EFI_LOADER patchset depends on:
> 
> 1) UUID/GUID support
> 2) %ls UTF string support, in particular UTF-16.  In the UEFI API,
>    all strings are UTF-16
> 
> I had started converting this over to using c11 + u"string" literals,
> instead of using -fshort-wchar + L"string" literals and %ls, but I
> ran into two problems:
> 
> 1) we lose out on the printf (and friends) va_arg type checking if we
>    roll our own custom printf fmt modifier for UTF-16 strings
> 2) and worse than that, we have to disable -Wformat warnings
> 
> So given that we have a significant downside for not just using
> -fshort-wchar, and I don't think any really strong argument against,
> I am back to thinking that we should just go with -fshort-wchar.
> 
> The current patchset has a Kconfig option to opt-in to -fshort-wchar,
> which EFI_LOADER selects.  If the consensus is to enable -fshort-wchar
> for everything, I'll drop the kconfig part and make it unconditional.
> 
> The current version of this patchset and efi-loader patchset are at
> 
>   https://github.com/robclark/u-boot.git  vsprintf
> 
> and
> 
>   https://github.com/robclark/u-boot.git enough-uefi-for-shim-2
> 
> I'll resend the enought-uefi-for-shim-2 patchset after I have a
> chance to figure out fs-test.sh and add tests for fs_readdir().
> 
> Rob Clark (5):
>   Kconfig: add option to build with -fshort-wchar
>   lib: add some utf16 handling helpers
>   vsprintf.c: add UTF-16 string (%ls) support
>   vsprintf.c: add GUID printing
>   examples: add fallback memcpy
> 
>  Kconfig                      |  8 +++++
>  Makefile                     |  4 +++
>  examples/api/Makefile        |  2 ++
>  examples/api/glue.c          | 12 +++++++
>  include/charset.h            | 55 ++++++++++++++++++++++++++++++
>  include/config_fallbacks.h   |  1 +
>  lib/Makefile                 |  1 +
>  lib/charset.c                | 81 ++++++++++++++++++++++++++++++++++++++++++++
>  lib/efi_loader/Kconfig       |  1 +
>  lib/efi_loader/efi_console.c | 17 ++--------
>  lib/vsprintf.c               | 77 ++++++++++++++++++++++++++++++++++++++---
>  11 files changed, 241 insertions(+), 18 deletions(-)
>  create mode 100644 include/charset.h
>  create mode 100644 lib/charset.c
> 

Hello Tom,

what is happening with this patch series?

[U-Boot,5/5] examples: add fallback memcpy
https://patchwork.ozlabs.org/patch/800030/
[U-Boot,4/5] vsprintf.c: add GUID printing
https://patchwork.ozlabs.org/patch/800029/
[U-Boot,3/5] vsprintf.c: add UTF-16 string (%ls) support
https://patchwork.ozlabs.org/patch/800027/
[U-Boot,2/5] lib: add some utf16 handling helpers
https://patchwork.ozlabs.org/patch/800028/
[U-Boot,1/5] Kconfig: add option to build with -fshort-wchar
https://patchwork.ozlabs.org/patch/800026/

Was it too late for 2017.09 and will be merged with 2017.11?

Best regards

Heinrich


More information about the U-Boot mailing list