diff options
-rw-r--r-- | meta/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch | 33 | ||||
-rw-r--r-- | meta/recipes-support/nss/nss/nss-fix-nsinstall-build.patch | 11 | ||||
-rw-r--r-- | meta/recipes-support/nss/nss_3.24.bb | 2 |
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 |