[meta-intel] [PATCH V2 4/4] efilinux: Fix build warnings

Khem Raj raj.khem at gmail.com
Mon Aug 14 22:27:05 PDT 2017


Additional warnings found with clang

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...-Disable-address-of-packed-member-warning.patch | 33 ++++++++++++++++++++++
 .../efilinux/0002-initialize-char-pointers.patch   | 33 ++++++++++++++++++++++
 common/recipes-bsp/efilinux/efilinux_1.1.bb        |  5 +++-
 3 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch
 create mode 100644 common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch

diff --git a/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch b/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch
new file mode 100644
index 0000000..afb9951
--- /dev/null
+++ b/common/recipes-bsp/efilinux/efilinux/0001-Disable-address-of-packed-member-warning.patch
@@ -0,0 +1,33 @@
+From 7c171c1813651a3a02ad2cda361b42ebc7ce324d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Sat, 12 Aug 2017 10:34:19 -0700
+Subject: [PATCH 1/2] Disable address-of-packed-member warning
+
+Clang complains so make it happy
+
+loaders/bzimage/bzimage.c:346:55: error: taking address of packed member 'base' of class or structure 'dt_addr_t' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
+        err = emalloc(gdt.limit, 8, (EFI_PHYSICAL_ADDRESS *)&gdt.base);
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a955e34..ff1b79b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,7 +61,7 @@ ifeq ($(ARCH),ia32)
+ 	endif
+ endif
+ ifeq ($(ARCH),x86_64)
+-	CFLAGS += -mno-red-zone
++	CFLAGS += -mno-red-zone -Wno-address-of-packed-member
+ endif
+ 
+ LDFLAGS=-T $(LDSCRIPT) -Bsymbolic -shared -nostdlib -znocombreloc \
+-- 
+2.14.1
+
diff --git a/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch b/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch
new file mode 100644
index 0000000..127c187
--- /dev/null
+++ b/common/recipes-bsp/efilinux/efilinux/0002-initialize-char-pointers.patch
@@ -0,0 +1,33 @@
+From 49053e4ff0f3550d019cdad8a93677c18fc69791 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Sat, 12 Aug 2017 10:35:09 -0700
+Subject: [PATCH 2/2] initialize char pointers
+
+Clang complains about using them without initializing
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+Upstream-Status: Pending
+
+ entry.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/entry.c b/entry.c
+index 0aa6cdd..23ba51e 100644
+--- a/entry.c
++++ b/entry.c
+@@ -402,9 +402,9 @@ efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *_table)
+ 	WCHAR *error_buf;
+ 	EFI_STATUS err;
+ 	EFI_LOADED_IMAGE *info;
+-	CHAR16 *name, *options;
++	CHAR16 *name = NULL, *options;
+ 	UINT32 options_size;
+-	char *cmdline;
++	char *cmdline = NULL;
+ 
+ 	InitializeLib(image, _table);
+ 	sys_table = _table;
+-- 
+2.14.1
+
diff --git a/common/recipes-bsp/efilinux/efilinux_1.1.bb b/common/recipes-bsp/efilinux/efilinux_1.1.bb
index 2f6e79d..04422dd 100644
--- a/common/recipes-bsp/efilinux/efilinux_1.1.bb
+++ b/common/recipes-bsp/efilinux/efilinux_1.1.bb
@@ -9,7 +9,10 @@ inherit deploy
 SRCREV = "a995826f9e43f1134baea61610eafd8c173bb776"
 PV = "1.1+git${SRCPV}"
 
-SRC_URI = "git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git"
+SRC_URI = "git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git \
+           file://0001-Disable-address-of-packed-member-warning.patch \
+           file://0002-initialize-char-pointers.patch \
+           "
 
 S = "${WORKDIR}/git"
 
-- 
2.14.1



More information about the meta-intel mailing list