aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/pktgen-dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/pktgen-dpdk')
-rw-r--r--recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch73
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb33
-rw-r--r--recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb37
3 files changed, 110 insertions, 33 deletions
diff --git a/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
new file mode 100644
index 00000000..e535487f
--- /dev/null
+++ b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch
@@ -0,0 +1,73 @@
+From 530fbb2e2deb6b9214466933df221910c2c50b7c Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Fri, 15 Oct 2021 08:01:15 +0530
+Subject: [PATCH] fix gcc11 mismatched-dealloc error
+
+Fix build error with gcc 11:
+| FAILED: lib/common/libcommon.a.p/lscpu.c.o
+| aarch64-poky-linux-gcc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time --sysroot=/opt/ci/yocto/honister/build-lx2162aqds/tmp/work/lx2162aqds-poky-linux/pktgen-dpdk/21.05.0-r0/recipe-sysroot -Ilib/common/libcommon.a.p -Ilib/common -I../git/lib/common -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -O3 -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wno-pedantic -Wno-format-truncation -DRTE_FORCE_INTRINSICS -fPIC -include rte_config.h -march=armv8-a+crc -moutline-atomics -MD -MQ lib/common/libcommon.a.p/lscpu.c.o -MF lib/common/libcommon.a.p/lscpu.c.o.d -o lib/common/libcommon.a.p/lscpu.c.o -c ../git/lib/common/lscpu.c
+| In function 'lscpu_info_get',
+| inlined from 'lscpu_info' at ../git/lib/common/lscpu.c:210:2:
+| ../git/lib/common/lscpu.c:167:9: error: 'fclose' called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc]
+| 167 | fclose(f);
+| | ^~~~~~~~~
+| ../git/lib/common/lscpu.c: In function 'lscpu_info':
+| ../git/lib/common/lscpu.c:146:22: note: returned from 'popen'
+| 146 | FILE *f = popen(lscpu_path, "r");
+| | ^~~~~~~~~~~~~~~~~~~~~~
+| In function 'cpu_proc_info',
+| inlined from 'lscpu_info' at ../git/lib/common/lscpu.c:211:2:
+| ../git/lib/common/lscpu.c:195:9: error: 'fclose' called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc]
+| 195 | fclose(f);
+| | ^~~~~~~~~
+| ../git/lib/common/lscpu.c: In function 'lscpu_info':
+| ../git/lib/common/lscpu.c:174:22: note: returned from 'popen'
+| 174 | FILE *f = popen(proc_path, "r");
+| | ^~~~~~~~~~~~~~~~~~~~~
+| cc1: all warnings being treated as errors
+
+Upstream-Status: Pending
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ app/pktgen.h | 2 +-
+ lib/common/lscpu.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/app/pktgen.h b/app/pktgen.h
+index 7c61fc8..2f24c65 100644
+--- a/app/pktgen.h
++++ b/app/pktgen.h
+@@ -531,7 +531,7 @@ do_command(const char *cmd, int (*display)(char *, int)) {
+ i = display(line, i);
+
+ if (f)
+- fclose(f);
++ pclose(f);
+ if (line)
+ free(line);
+
+diff --git a/lib/common/lscpu.c b/lib/common/lscpu.c
+index 8b56ccd..912c601 100644
+--- a/lib/common/lscpu.c
++++ b/lib/common/lscpu.c
+@@ -164,7 +164,7 @@ lscpu_info_get(const char *lscpu_path)
+ }
+ }
+
+- fclose(f);
++ pclose(f);
+ free(line);
+ }
+
+@@ -192,7 +192,7 @@ cpu_proc_info(const char *proc_path)
+ }
+ }
+
+- fclose(f);
++ pclose(f);
+ free(line);
+ }
+
+--
+2.25.1
+
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb
deleted file mode 100644
index f3a73c35..00000000
--- a/recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "PKTGEN DPDK"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=30ac8fa65a07ea7cc1c7ee84e1c80294"
-
-DEPENDS += "libpcap dpdk lua lua-native"
-
-SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
-"
-SRCREV = "7a61e4dfcdf037c31460b6c9bcb301797813036a"
-
-S = "${WORKDIR}/git"
-
-DPAA_VER ?= "dpaa"
-export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
-export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/"
-
-EXTRA_OEMAKE += 'CC="${CC}" LD="${LD}" RTE_SDK="${RECIPE_SYSROOT}/usr/share/" RTE_TARGET="arm64-${DPAA_VER}-linuxapp-gcc"'
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir}/
- cp -f ${S}/app/arm64-dpaa-linuxapp-gcc/pktgen ${D}${bindir}/
- cp -f ${S}/Pktgen.lua ${D}${bindir}/
-}
-
-INSANE_SKIP_${PN} = "ldflags"
-INHIBIT_PACKAGE_STRIP = "1"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-PARALLEL_MAKE = ""
-COMPATIBLE_MACHINE = "(qoriq-arm64)"
diff --git a/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
new file mode 100644
index 00000000..f04e1e9f
--- /dev/null
+++ b/recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "PKTGEN DPDK"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0245ceedaef59ae0129500b0ce1e8a45"
+
+DEPENDS += "libpcap dpdk lua lua-native"
+
+SRC_URI = "git://dpdk.org/git/apps/pktgen-dpdk;protocol=https;nobranch=1 \
+ file://fix-gcc11-mismatched-dealloc-error.patch \
+"
+SRCREV = "3a09aa916597fb9a97ee8eec50044cbdb9c4abde"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa"
+export RTE_TARGET = "arm64-${DPAA_VER}-linuxapp-gcc"
+export RTE_SDK = "${RECIPE_SYSROOT}/usr/share/dpdk"
+
+inherit meson pkgconfig
+
+MESON_BUILDTYPE = "release"
+EXTRA_OEMESON += '-Dc_args="-DRTE_FORCE_INTRINSICS"'
+
+do_configure:prepend() {
+ sed -i "/^add_project_arguments('-march=native'/s/^/#&/" ${S}/meson.build
+}
+
+do_install() {
+ install -d ${D}${bindir}/
+ install -m 0755 app/pktgen ${D}${bindir}/
+ install -m 0644 ${S}/Pktgen.lua ${D}${bindir}/
+}
+
+INSANE_SKIP:${PN} = "ldflags"
+INHIBIT_PACKAGE_STRIP = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+PARALLEL_MAKE = ""
+COMPATIBLE_MACHINE = "(qoriq-arm64)"