summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch33
-rw-r--r--meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch11
-rw-r--r--meta/recipes-support/nss/nss_3.24.bb2
3 files changed, 41 insertions, 5 deletions
diff --git a/meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch b/meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
new file mode 100644
index 0000000000..86b1b60556
--- /dev/null
+++ b/meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
@@ -0,0 +1,33 @@
+clang 3.9 add this warning to rightly flag undefined
+behavior, we relegate this to be just a warning instead
+of error and keep the behavior as it was. Right fix would
+be to not pass enum to the function with variadic arguments
+as last named argument
+
+Fixes errors like
+ocsp.c:2220:22: error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs]
+ va_start(ap, responseType0);
+ ^
+ocsp.c:2200:43: note: parameter of type 'SECOidTag' is declared here
+ SECOidTag responseType0, ...)
+
+see
+https://www.securecoding.cert.org/confluence/display/cplusplus/EXP58-CPP.+Pass+an+object+of+the+correct+type+to+va_start
+for more details
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: nss-3.24/nss/coreconf/Werror.mk
+===================================================================
+--- nss-3.24.orig/nss/coreconf/Werror.mk
++++ nss-3.24/nss/coreconf/Werror.mk
+@@ -54,7 +54,7 @@ ifndef WARNING_CFLAGS
+ ifdef CC_IS_CLANG
+ # -Qunused-arguments : clang objects to arguments that it doesn't understand
+ # and fixing this would require rearchitecture
+- WARNING_CFLAGS += -Qunused-arguments
++ WARNING_CFLAGS += -Qunused-arguments -Wno-error=varargs
+ # -Wno-parentheses-equality : because clang warns about macro expansions
+ WARNING_CFLAGS += $(call disable_warning,parentheses-equality)
+ ifdef BUILD_OPT
diff --git a/meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch b/meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
index 866de07ea8..181c69adb0 100644
--- a/meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
+++ b/meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
@@ -16,11 +16,11 @@ Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
===================================================
-diff --git a/nss/coreconf/nsinstall/Makefile b/nss/coreconf/nsinstall/Makefile
-index 1850bcb..5aee84f 100644
---- a/nss/coreconf/nsinstall/Makefile
-+++ b/nss/coreconf/nsinstall/Makefile
-@@ -18,6 +18,12 @@ INTERNAL_TOOLS = 1
+Index: nss-3.24/nss/coreconf/nsinstall/Makefile
+===================================================================
+--- nss-3.24.orig/nss/coreconf/nsinstall/Makefile
++++ nss-3.24/nss/coreconf/nsinstall/Makefile
+@@ -18,6 +18,13 @@ INTERNAL_TOOLS = 1
include $(DEPTH)/coreconf/config.mk
@@ -29,6 +29,7 @@ index 1850bcb..5aee84f 100644
+# to clean the '-m64' from ARCHFLAG and LDFLAGS.
+ARCHFLAG =
+LDFLAGS =
++CFLAGS =
+
ifeq (,$(filter-out OS2 WIN%,$(OS_TARGET)))
PROGRAM =
diff --git a/meta/recipes-support/nss/nss_3.24.bb b/meta/recipes-support/nss/nss_3.24.bb
index 95a33f27d3..caed7fa894 100644
--- a/meta/recipes-support/nss/nss_3.24.bb
+++ b/meta/recipes-support/nss/nss_3.24.bb
@@ -20,6 +20,7 @@ SRC_URI = "\
file://nss-no-rpath-for-cross-compiling.patch \
file://nss-fix-incorrect-shebang-of-perl.patch \
file://nss-fix-nsinstall-build.patch \
+ file://disable-Wvarargs-with-clang.patch \
file://nss.pc.in \
file://signlibs.sh \
"
@@ -62,6 +63,7 @@ do_compile_prepend_class-native() {
do_compile() {
export CROSS_COMPILE=1
export NATIVE_CC="gcc"
+ export NATIVE_FLAGS="${HOST_CFLAGS}"
export BUILD_OPT=1
export FREEBL_NO_DEPEND=1