From 974fedf70ae759ced4ed8918ea8a9147329efff8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 14 Aug 2017 22:27:05 -0700 Subject: efilinux: Fix build warnings Additional warnings found with clang Signed-off-by: Khem Raj Signed-off-by: Saul Wold --- ...-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 (limited to 'common') 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 00000000..afb99514 --- /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 +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 +--- +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 00000000..127c187a --- /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 +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 +--- +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 2f6e79d0..04422ddc 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" -- cgit v1.2.3-54-g00ecf