aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-08-24 20:56:28 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2017-08-31 10:18:32 +0200
commit6f6f0b6284b3aea1e0b2f7c8b115ed0378192596 (patch)
treef6a1e4413b4d74a94adf9edf1d945d424ae33962
parent91df32a7901c64164fb70bf4f070579f75c71397 (diff)
downloadmeta-openembedded-contrib-6f6f0b6284b3aea1e0b2f7c8b115ed0378192596.tar.gz
efivar: Fix build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch32
-rw-r--r--meta-oe/recipes-extended/efivar/efivar_0.31.bb1
2 files changed, 33 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
new file mode 100644
index 0000000000..1b8815e9df
--- /dev/null
+++ b/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
@@ -0,0 +1,32 @@
+From 3d43c5efdb632da5d7387dcadce4e87b83929c64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 15:54:47 -0700
+Subject: [PATCH] efivar-dp.h: Add -Wunknown-attributes when using clang
+
+change !dp check to a comparision against NULL to silent clang warning
+nonnull parameter 'dp' will evaluate to 'true' on first encounter
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/include/efivar/efivar-dp.h | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+Index: git/src/include/efivar/efivar-dp.h
+===================================================================
+--- git.orig/src/include/efivar/efivar-dp.h
++++ git/src/include/efivar/efivar-dp.h
+@@ -783,9 +783,14 @@ extern int efidp_append_instance(const_e
+ * though older or other compilers might just ignore that attribute if they
+ * don't support it. Ugh.
+ */
++#pragma GCC diagnostic push
+ #if defined(__GNUC__) && __GNUC__ >= 6
+ #pragma GCC diagnostic ignored "-Wnonnull-compare"
+ #endif
++#if defined(__clang__)
++#pragma GCC diagnostic ignored "-Wunknown-attributes"
++#pragma GCC diagnostic ignored "-Wpointer-bool-conversion"
++#endif
+
+ static inline int16_t
+ __attribute__((__artificial__))
diff --git a/meta-oe/recipes-extended/efivar/efivar_0.31.bb b/meta-oe/recipes-extended/efivar/efivar_0.31.bb
index 10dde896ee..6ad3b361dc 100644
--- a/meta-oe/recipes-extended/efivar/efivar_0.31.bb
+++ b/meta-oe/recipes-extended/efivar/efivar_0.31.bb
@@ -17,6 +17,7 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git \
file://allow-multi-definitions-for-native.patch \
file://0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch \
file://musl-strndupa.patch \
+ file://0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch \
"
SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
file://0003-efivar-fix-for-cross-compile.patch \