[meta-networking,1/2] opensaf: Fix build with gcc 12

Message ID 20220413053455.1460109-1-raj.khem@gmail.com
State New
Headers show
Series [meta-networking,1/2] opensaf: Fix build with gcc 12 | expand

Commit Message

Khem Raj April 13, 2022, 5:34 a.m. UTC
Use configure logic to disable certain warnings if compiler supports
them

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-include-missing-array-header.patch   | 32 +++++++++++++++++++
 ...-configure-Disable-selected-warnings.patch | 32 +++++++++++++++++++
 .../opensaf/opensaf_5.22.01.bb                |  6 ++--
 3 files changed, 68 insertions(+), 2 deletions(-)
 create mode 100644 meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch
 create mode 100644 meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch

Patch

diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch
new file mode 100644
index 0000000000..e735d432a7
--- /dev/null
+++ b/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch
@@ -0,0 +1,32 @@ 
+From 6168d43ddd353b92ad8bcd5c49dc68f18caa8a00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 17:07:49 -0700
+Subject: [PATCH 1/2] include missing <array> header
+
+Fixes
+src/osaf/consensus/key_value.cc:25:30: error: aggregate 'std::array<char, 128> buffer' has incomplete type and cannot be defined
+   25 |   std::array<char, buf_size> buffer;
+      |                              ^~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/osaf/consensus/key_value.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/osaf/consensus/key_value.cc b/src/osaf/consensus/key_value.cc
+index 692dd3f..6e16cbf 100644
+--- a/src/osaf/consensus/key_value.cc
++++ b/src/osaf/consensus/key_value.cc
+@@ -18,7 +18,7 @@
+ #include "base/getenv.h"
+ #include "base/logtrace.h"
+ #include "osaf/consensus/consensus.h"
+-
++#include <array>
+ int KeyValue::Execute(const std::string& command, std::string& output) {
+   TRACE_ENTER();
+   constexpr size_t buf_size = 128;
+-- 
+2.35.1
+
diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch
new file mode 100644
index 0000000000..8bb659743d
--- /dev/null
+++ b/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch
@@ -0,0 +1,32 @@ 
+From fe654d5340d18f04e4689ba19f843554909a0c00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 17:16:37 -0700
+Subject: [PATCH 2/2] configure: Disable selected warnings
+
+These warnings are emitted when compiling with gcc 11 and gcc 12
+Do not treat them as errors
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c28d2d9..2846175 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -601,7 +601,9 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
+ fi
+ AC_SUBST(OSAF_HARDEN_FLAGS)
+ 
+-AX_CHECK_COMPILE_FLAG([-Werror=format-overflow],[NOWARNINGS=-Wno-error=format-overflow])
++AX_CHECK_COMPILE_FLAG([-Werror=format-overflow],[NOWARNINGS='-Wno-error=format-overflow'])
++AX_CHECK_COMPILE_FLAG([-Wuse-after-free],[NOWARNINGS+=' -Wno-error=use-after-free'])
++AX_CHECK_COMPILE_FLAG([-Wstringop-truncation],[NOWARNINGS+=' -Wno-error=stringop-truncation'])
+ AC_SUBST(NOWARNINGS)
+ #############################################
+ # List the output Makefiles
+-- 
+2.35.1
+
diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
index 8ce324d306..930755d624 100644
--- a/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
+++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
@@ -28,6 +28,8 @@  SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
            file://0001-immom_python-convert-to-python3.patch \
            file://0001-Fix-build-with-fno-common.patch \
            file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \
+           file://0001-include-missing-array-header.patch \
+           file://0002-configure-Disable-selected-warnings.patch \
            "
 SRC_URI[sha256sum] = "f008d53c83087ce2014c6089bc4ef08e14c1b4091298b943f4ceade1aa6bf61e"
 
@@ -48,8 +50,8 @@  PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi"
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
 
-CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation"
-CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation="
+CPPFLAGS += "-Wno-error"
+CXXFLAGS += "-Wno-error"
 LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
 
 do_install:append() {