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

2017-08-09 Thread Rob Clark
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

-- 
2.13.0

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-09-06 Thread Heinrich Schuchardt
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
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-09-06 Thread Tom Rini
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


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-09-06 Thread Rob Clark
On Wed, Sep 6, 2017 at 12:45 PM, Tom Rini  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
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-09-06 Thread Tom Rini
On Wed, Sep 06, 2017 at 02:14:21PM -0400, Rob Clark wrote:
> On Wed, Sep 6, 2017 at 12:45 PM, Tom Rini  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.

v2017.09 will be released on the 11th, if things are going well,
sometime more morning than not, eastern time.  Then I'll start grabbing
stuff and testing.  If you would like to suggest orders of things to
pull in, pointers to bundles in patchwork would be great.  Otherwise
I'll be assembling them myself as always.  Thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot