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

Rob Clark robdclark at gmail.com
Wed Sep 6 18:14:21 UTC 2017


On Wed, Sep 6, 2017 at 12:45 PM, Tom Rini <trini at konsulko.com> wrote:
> 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!
>

Oh, I guess I should resend that.  Probably c11 should be a different
patch (although I am in favour of switching)..

When does the merge window open for 2017.11?  It would be good to land
this and the fs/fat patches early so we could start merging the pile
of efi_loader patches that depend on these.

BR,
-R


More information about the U-Boot mailing list