diff mbox series

[meta-networking,kirkstone] tcprelay: fix a minor cross compilation do_configure issue

Message ID 20250813064200.657215-1-guocai.he.cn@windriver.com
State New
Headers show
Series [meta-networking,kirkstone] tcprelay: fix a minor cross compilation do_configure issue | expand

Commit Message

He, Guocai (CN) Aug. 13, 2025, 6:42 a.m. UTC
From: Chen Qi <Qi.Chen@windriver.com>

We're seeing errors like below in log.do_configure:

  ./conftest: cannot execute binary file: Exec format error

The tcprelay's configure have two places to execute ./conftest.
And the result happens to be correct even with the error above.

Instead of leaving the errors as they are, we explicitly skip
running ./conftest in case of cross compiling. The build will
continue to succeed and result will remain the same.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>

(master rev: 8cf55e279fd08f71f281fc8e5f2dabd638d3fa79)

Signed-off-by: Guocai He <guocai.he.cn@windriver.com>
---
 ...not-run-conftest-in-case-of-cross-co.patch | 50 +++++++++++++++++++
 .../tcpreplay/tcpreplay_4.4.4.bb              |  1 +
 2 files changed, 51 insertions(+)
 create mode 100644 meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch
diff mbox series

Patch

diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch
new file mode 100644
index 0000000000..d424d4fa35
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch
@@ -0,0 +1,50 @@ 
+From 42f7bbc1ce4913fe2c0bc76293c5445d31690f5d Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 7 Mar 2024 21:02:07 -0800
+Subject: [PATCH] configure.ac: do not run conftest in case of cross
+ compilation
+
+It'll give us nothing but error like below:
+
+  ./conftest: cannot execute binary file: Exec format error
+  ...
+  ./configure: line 23950: test: -eq: unary operator expected
+
+The version check only has effect on Apple systems. We'd better
+avoid error like above when cross compilation.
+
+Also, in case of cross compilation, instead of having the above
+Exec format error and resulting in unaligned_cv_fail to yes, set
+it directly to yes.
+
+Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/849]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 387219de..15201601 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -928,7 +928,7 @@ cat >conftest.c <<EOF
+ EOF
+ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LPCAPLIB \
+     conftest.c $LIBS >/dev/null 2>&1
+-if test -x conftest ; then
++if test -x conftest -a "$cross_compiling" != "yes"; then
+     full_libpcap_version=$(LD_LIBRARY_PATH="$LPCAP_LD_LIBRARY_PATH" ./conftest)
+     libpcap_version=$(echo "$full_libpcap_version" | ${CUT} -d' ' -f3)
+     pcap_version_ok=yes
+@@ -1709,7 +1709,7 @@ case "$host_os" in
+ EOF
+         ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
+             conftest.c $LIBS >/dev/null 2>&1
+-        if test ! -x conftest ; then
++        if test ! -x conftest -o "$cross_compiling" = "yes" ; then
+             dnl failed to compile for some reason
+             unaligned_cv_fail=yes
+         else
+--
+2.42.0
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
index 3ece4b78c6..09831d8c80 100644
--- a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
@@ -11,6 +11,7 @@  SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcprepl
            file://CVE-2023-4256.patch \
            file://CVE-2024-22654-0001.patch \
            file://CVE-2024-22654-0002.patch \
+           file://0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch \
 "
 
 SRC_URI[sha256sum] = "44f18fb6d3470ecaf77a51b901a119dae16da5be4d4140ffbb2785e37ad6d4bf"