From 7fade9243aeeef32a972bec3aa263ab7201a7681 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Thu, 14 Oct 2021 16:44:08 +0800 Subject: pktgen-dpdk: upgrade to 21.05.0 Signed-off-by: Ting Liu --- .../files/fix-gcc11-mismatched-dealloc-error.patch | 72 ++++++++++++++++++++++ .../pktgen-dpdk/pktgen-dpdk_19.12.0.bb | 33 ---------- .../pktgen-dpdk/pktgen-dpdk_21.05.0.bb | 37 +++++++++++ 3 files changed, 109 insertions(+), 33 deletions(-) create mode 100644 recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch delete mode 100644 recipes-extended/pktgen-dpdk/pktgen-dpdk_19.12.0.bb create mode 100644 recipes-extended/pktgen-dpdk/pktgen-dpdk_21.05.0.bb (limited to 'recipes-extended/pktgen-dpdk') 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..a2befbd6 --- /dev/null +++ b/recipes-extended/pktgen-dpdk/files/fix-gcc11-mismatched-dealloc-error.patch @@ -0,0 +1,72 @@ +From 530fbb2e2deb6b9214466933df221910c2c50b7c Mon Sep 17 00:00:00 2001 +From: Ting Liu +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 + +Signed-off-by: Ting Liu +--- + 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 6a039129..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)" -- cgit v1.2.3-54-g00ecf