diff mbox

Xen: don't warn about 2-byte wchar_t in efi

Message ID 1462970928-532144-1-git-send-email-arnd@arndb.de (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann May 11, 2016, 12:47 p.m. UTC
The XEN UEFI code has become available on the ARM architecture
recently, but now causes a link-time warning:

ld: warning: drivers/xen/efi.o uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail

This seems harmless, because the efi code only uses 2-byte
characters when interacting with EFI, so we don't pass on those
strings to elsewhere in the system, and we just need to
silence the warning.

It is not clear to me whether we actually need to build the file
with the -fshort-wchar flag, but if we do, then we should also
pass --no-wchar-size-warning to the linker, to avoid the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 37060935dc04 ("ARM64: XEN: Add a function to initialize Xen specific UEFI runtime services")
---
 drivers/xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Stefano Stabellini May 16, 2016, 11:08 a.m. UTC | #1
On Wed, 11 May 2016, Arnd Bergmann wrote:
> The XEN UEFI code has become available on the ARM architecture
> recently, but now causes a link-time warning:
> 
> ld: warning: drivers/xen/efi.o uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
> 
> This seems harmless, because the efi code only uses 2-byte
> characters when interacting with EFI, so we don't pass on those
> strings to elsewhere in the system, and we just need to
> silence the warning.
> 
> It is not clear to me whether we actually need to build the file
> with the -fshort-wchar flag, but if we do, then we should also
> pass --no-wchar-size-warning to the linker, to avoid the warning.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 37060935dc04 ("ARM64: XEN: Add a function to initialize Xen specific UEFI runtime services")

Given that drivers/xen/efi.c doesn't actually use any wchar_t, it is not
clear to me whether we need to pass -fshort-wchar either. However this
patch is correct any, so I committed it to xentip.


>  drivers/xen/Makefile | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
> index 415f2869054b..8feab810aed9 100644
> --- a/drivers/xen/Makefile
> +++ b/drivers/xen/Makefile
> @@ -8,6 +8,7 @@ nostackp := $(call cc-option, -fno-stack-protector)
>  CFLAGS_features.o			:= $(nostackp)
>  
>  CFLAGS_efi.o				+= -fshort-wchar
> +LDFLAGS					+= $(call ld-option, --no-wchar-size-warning)
>  
>  dom0-$(CONFIG_ARM64) += arm-device.o
>  dom0-$(CONFIG_PCI) += pci.o
> -- 
> 2.7.0
>
Arnd Bergmann May 18, 2016, 10:08 a.m. UTC | #2
On Monday 16 May 2016 12:08:17 Stefano Stabellini wrote:
> On Wed, 11 May 2016, Arnd Bergmann wrote:
> > The XEN UEFI code has become available on the ARM architecture
> > recently, but now causes a link-time warning:
> > 
> > ld: warning: drivers/xen/efi.o uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
> > 
> > This seems harmless, because the efi code only uses 2-byte
> > characters when interacting with EFI, so we don't pass on those
> > strings to elsewhere in the system, and we just need to
> > silence the warning.
> > 
> > It is not clear to me whether we actually need to build the file
> > with the -fshort-wchar flag, but if we do, then we should also
> > pass --no-wchar-size-warning to the linker, to avoid the warning.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Fixes: 37060935dc04 ("ARM64: XEN: Add a function to initialize Xen specific UEFI runtime services")
> 
> Given that drivers/xen/efi.c doesn't actually use any wchar_t, it is not
> clear to me whether we need to pass -fshort-wchar either. However this
> patch is correct any, so I committed it to xentip.

Right, I was wondering about that too, but it has been this way since the
code was first merged, so I couldn't figure out if removing the flag
had any side-effects.

	Arnd
diff mbox

Patch

diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile
index 415f2869054b..8feab810aed9 100644
--- a/drivers/xen/Makefile
+++ b/drivers/xen/Makefile
@@ -8,6 +8,7 @@  nostackp := $(call cc-option, -fno-stack-protector)
 CFLAGS_features.o			:= $(nostackp)
 
 CFLAGS_efi.o				+= -fshort-wchar
+LDFLAGS					+= $(call ld-option, --no-wchar-size-warning)
 
 dom0-$(CONFIG_ARM64) += arm-device.o
 dom0-$(CONFIG_PCI) += pci.o