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

Tom Rini trini at konsulko.com
Wed Sep 6 16:45:41 UTC 2017


On Wed, Sep 06, 2017 at 05:31:52PM +0200, Heinrich Schuchardt wrote:
> 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?

I replied to the first patch saying that we should always -fshort-wchar
and enforce stdc-2011 as the default.  That would be good to open
2017.11 with as well.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170906/b7067d6b/attachment.sig>


More information about the U-Boot mailing list