* [dpdk-dev] [PATCH] devtools: test different build types
@ 2021-04-12 21:53 Thomas Monjalon
2021-05-21 15:03 ` David Marchand
` (4 more replies)
0 siblings, 5 replies; 44+ messages in thread
From: Thomas Monjalon @ 2021-04-12 21:53 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand
All builds were of type debugoptimized.
It is kept only for builds having an ABI check.
Others will have the default build type (release),
except if specified differently as in the x86 generic build
which will be a test of the non-optimized debug build type.
Some static builds will test the minsize build type.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
devtools/test-meson-builds.sh | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index daf817ac3e..37f258bd48 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -92,13 +92,16 @@ load_env () # <target compiler>
command -v $targetcc >/dev/null 2>&1 || return 1
}
-config () # <dir> <builddir> <meson options>
+config () # <dir> <builddir> <ABI check> <meson options>
{
dir=$1
shift
builddir=$1
shift
+ abicheck=$1
+ shift
if [ -f "$builddir/build.ninja" ] ; then
+ [ $abicheck = ABI ] || return 0
# for existing environments, switch to debugoptimized if unset
# so that ABI checks can run
if ! $MESON configure $builddir |
@@ -114,7 +117,9 @@ config () # <dir> <builddir> <meson options>
else
options="$options -Dexamples=l3fwd" # save disk space
fi
- options="$options --buildtype=debugoptimized"
+ if [ $abicheck = ABI ] ; then
+ options="$options --buildtype=debugoptimized"
+ fi
for option in $DPDK_MESON_OPTIONS ; do
options="$options -D$option"
done
@@ -165,7 +170,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
cross=
fi
load_env $targetcc || return 0
- config $srcdir $builds_dir/$targetdir $cross --werror $*
+ config $srcdir $builds_dir/$targetdir $abicheck $cross --werror $*
compile $builds_dir/$targetdir
if [ -n "$DPDK_ABI_REF_VERSION" -a "$abicheck" = ABI ] ; then
abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
@@ -179,7 +184,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
fi
rm -rf $abirefdir/build
- config $abirefdir/src $abirefdir/build $cross \
+ config $abirefdir/src $abirefdir/build $abicheck $cross \
-Dexamples= $*
compile $abirefdir/build
install_target $abirefdir/build $abirefdir/$targetdir
@@ -213,9 +218,10 @@ for c in gcc clang ; do
abicheck=ABI
else
abicheck=skipABI # save time and disk space
+ buildtype='--buildtype=minsize'
fi
export CC="$CCACHE $c"
- build build-$c-$s $c $abicheck --default-library=$s
+ build build-$c-$s $c $abicheck $buildtype --default-library=$s
unset CC
done
done
@@ -227,7 +233,7 @@ generic_machine='nehalem'
if ! check_cc_flags "-march=$generic_machine" ; then
generic_machine='corei7'
fi
-build build-x86-generic cc skipABI -Dcheck_includes=true \
+build build-x86-generic cc skipABI --buildtype=debug -Dcheck_includes=true \
-Dlibdir=lib -Dmachine=$generic_machine $use_shared
# 32-bit with default compiler
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH] devtools: test different build types
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
@ 2021-05-21 15:03 ` David Marchand
2021-07-23 20:26 ` Andrew Rybchenko
2021-08-02 22:45 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
` (3 subsequent siblings)
4 siblings, 1 reply; 44+ messages in thread
From: David Marchand @ 2021-05-21 15:03 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Bruce Richardson
On Mon, Apr 12, 2021 at 11:54 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> @@ -213,9 +218,10 @@ for c in gcc clang ; do
> abicheck=ABI
init of buildtype var is missing here.
Rest lgtm.
> else
> abicheck=skipABI # save time and disk space
> + buildtype='--buildtype=minsize'
> fi
> export CC="$CCACHE $c"
> - build build-$c-$s $c $abicheck --default-library=$s
> + build build-$c-$s $c $abicheck $buildtype --default-library=$s
> unset CC
> done
> done
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH] devtools: test different build types
2021-05-21 15:03 ` David Marchand
@ 2021-07-23 20:26 ` Andrew Rybchenko
0 siblings, 0 replies; 44+ messages in thread
From: Andrew Rybchenko @ 2021-07-23 20:26 UTC (permalink / raw)
To: David Marchand, Thomas Monjalon; +Cc: dev, Bruce Richardson
On 5/21/21 6:03 PM, David Marchand wrote:
> On Mon, Apr 12, 2021 at 11:54 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>> @@ -213,9 +218,10 @@ for c in gcc clang ; do
>> abicheck=ABI
>
> init of buildtype var is missing here.
+1
> Rest lgtm.
>
>> else
>> abicheck=skipABI # save time and disk space
>> + buildtype='--buildtype=minsize'
>> fi
>> export CC="$CCACHE $c"
>> - build build-$c-$s $c $abicheck --default-library=$s
>> + build build-$c-$s $c $abicheck $buildtype --default-library=$s
>> unset CC
>> done
>> done
>
>
with review notes applied:
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
^ permalink raw reply [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v2] devtools: test different build types
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
2021-05-21 15:03 ` David Marchand
@ 2021-08-02 22:45 ` Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
` (2 subsequent siblings)
4 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-02 22:45 UTC (permalink / raw)
To: dev; +Cc: Andrew Rybchenko, Bruce Richardson
All builds were of type debugoptimized.
It is kept only for builds having an ABI check.
Others will have the default build type (release),
except if specified differently as in the x86 generic build
which will be a test of the non-optimized debug build type.
Some static builds will test the minsize build type.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
v2: fix init of var buildtype
---
devtools/test-meson-builds.sh | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9ec8e2bc7e..7bd305a669 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -92,13 +92,16 @@ load_env () # <target compiler>
command -v $targetcc >/dev/null 2>&1 || return 1
}
-config () # <dir> <builddir> <meson options>
+config () # <dir> <builddir> <ABI check> <meson options>
{
dir=$1
shift
builddir=$1
shift
+ abicheck=$1
+ shift
if [ -f "$builddir/build.ninja" ] ; then
+ [ $abicheck = ABI ] || return 0
# for existing environments, switch to debugoptimized if unset
# so that ABI checks can run
if ! $MESON configure $builddir |
@@ -114,7 +117,9 @@ config () # <dir> <builddir> <meson options>
else
options="$options -Dexamples=l3fwd" # save disk space
fi
- options="$options --buildtype=debugoptimized"
+ if [ $abicheck = ABI ] ; then
+ options="$options --buildtype=debugoptimized"
+ fi
for option in $DPDK_MESON_OPTIONS ; do
options="$options -D$option"
done
@@ -165,7 +170,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
cross=
fi
load_env $targetcc || return 0
- config $srcdir $builds_dir/$targetdir $cross --werror $*
+ config $srcdir $builds_dir/$targetdir $abicheck $cross --werror $*
compile $builds_dir/$targetdir
if [ -n "$DPDK_ABI_REF_VERSION" -a "$abicheck" = ABI ] ; then
abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
@@ -179,7 +184,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
fi
rm -rf $abirefdir/build
- config $abirefdir/src $abirefdir/build $cross \
+ config $abirefdir/src $abirefdir/build $abicheck $cross \
-Dexamples= $*
compile $abirefdir/build
install_target $abirefdir/build $abirefdir/$targetdir
@@ -211,11 +216,13 @@ for c in gcc clang ; do
for s in static shared ; do
if [ $s = shared ] ; then
abicheck=ABI
+ buildtype=
else
abicheck=skipABI # save time and disk space
+ buildtype='--buildtype=minsize'
fi
export CC="$CCACHE $c"
- build build-$c-$s $c $abicheck --default-library=$s
+ build build-$c-$s $c $abicheck $buildtype --default-library=$s
unset CC
done
done
@@ -227,7 +234,7 @@ generic_isa='nehalem'
if ! check_cc_flags "-march=$generic_isa" ; then
generic_isa='corei7'
fi
-build build-x86-generic cc skipABI -Dcheck_includes=true \
+build build-x86-generic cc skipABI --buildtype=debug -Dcheck_includes=true \
-Dlibdir=lib -Dcpu_instruction_set=$generic_isa $use_shared
# 32-bit with default compiler
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 0/5] more build tests
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
2021-05-21 15:03 ` David Marchand
2021-08-02 22:45 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build Thomas Monjalon
` (6 more replies)
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
4 siblings, 7 replies; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand
While testing more build types, some errors occur.
v3: fix minsize build with GCC
v2: fix init of var buildtype
Thomas Monjalon (5):
net/qede: fix minsize build
regex/mlx5: fix minsize build
vdpa/mlx5: fix minsize build
test/crypto: fix minsize build
devtools: test different build types
app/test/test_cryptodev_blockcipher.c | 2 +-
devtools/test-meson-builds.sh | 19 +++++++++++++------
drivers/net/qede/qede_rxtx.c | 3 ++-
drivers/regex/mlx5/mlx5_regex_fastpath.c | 3 ++-
drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 4 ++--
5 files changed, 20 insertions(+), 11 deletions(-)
--
2.31.1
^ permalink raw reply [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2021-08-09 5:15 ` [dpdk-dev] [EXT] " Devendra Singh Rawat
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 2/5] regex/mlx5: " Thomas Monjalon
` (5 subsequent siblings)
6 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand, Rasesh Mody,
Devendra Singh Rawat
Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:
In function ‘__internal_ram_wr_relaxed’,
inlined from ‘internal_ram_wr’ at ecore_int_api.h:166:2,
inlined from ‘qede_update_rx_prod.constprop’ at qede_rxtx.c:736:2:
drivers/net/qede/base/bcm_osal.h:136:9: error:
‘rx_prods’ is used uninitialized [-Werror=uninitialized]
| rte_write32_relaxed((_val), (_reg_addr))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ecore_int_api.h:151:17: note: in expansion of macro ‘DIRECT_REG_WR_RELAXED’
| DIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM *)addr)[i],
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/qede/qede_rxtx.c: In function ‘qede_update_rx_prod.constprop’:
drivers/net/qede/qede_rxtx.c:724:33: note: ‘rx_prods’ declared here
| struct eth_rx_prod_data rx_prods = { 0 };
| ^~~~~~~~
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/qede/qede_rxtx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 298f4e3e42..35cde561ba 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -721,9 +721,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev,
{
uint16_t bd_prod = ecore_chain_get_prod_idx(&rxq->rx_bd_ring);
uint16_t cqe_prod = ecore_chain_get_prod_idx(&rxq->rx_comp_ring);
- struct eth_rx_prod_data rx_prods = { 0 };
+ struct eth_rx_prod_data rx_prods;
/* Update producers */
+ memset(&rx_prods, 0, sizeof(rx_prods));
rx_prods.bd_prod = rte_cpu_to_le_16(bd_prod);
rx_prods.cqe_prod = rte_cpu_to_le_16(cqe_prod);
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 2/5] regex/mlx5: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: " Thomas Monjalon
` (4 subsequent siblings)
6 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand, Ori Kam
Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:
drivers/regex/mlx5/mlx5_regex_fastpath.c:398:17: error:
‘len’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
| complete_umr_wqe(qp, sq, &qp->jobs[mkey_job_id], sq->pi,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| klm_num, len);
| ~~~~~~~~~~~~~
drivers/regex/mlx5/mlx5_regex_fastpath.c:315:31: note: ‘len’ was declared here
| uint32_t klm_num = 0, len;
| ^~~
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/regex/mlx5/mlx5_regex_fastpath.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/regex/mlx5/mlx5_regex_fastpath.c b/drivers/regex/mlx5/mlx5_regex_fastpath.c
index 786718af53..c79445ce7d 100644
--- a/drivers/regex/mlx5/mlx5_regex_fastpath.c
+++ b/drivers/regex/mlx5/mlx5_regex_fastpath.c
@@ -312,7 +312,8 @@ prep_regex_umr_wqe_set(struct mlx5_regex_priv *priv, struct mlx5_regex_qp *qp,
struct mlx5_regex_job *job = NULL;
size_t sqid = sq->sqn, mkey_job_id = 0;
size_t left_ops = nb_ops;
- uint32_t klm_num = 0, len;
+ uint32_t klm_num = 0;
+ uint32_t len = 0;
struct mlx5_klm *mkey_klm = NULL;
struct mlx5_klm klm;
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 2/5] regex/mlx5: " Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2021-08-09 6:43 ` Matan Azrad
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 4/5] test/crypto: " Thomas Monjalon
` (3 subsequent siblings)
6 siblings, 2 replies; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand, Matan Azrad,
Viacheslav Ovsiienko
Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:
drivers/vdpa/mlx5/mlx5_vdpa_mem.c: In function ‘mlx5_vdpa_mem_register’:
drivers/vdpa/mlx5/mlx5_vdpa_mem.c:183:24: error:
initialization of ‘uint64_t’ {aka ‘long unsigned int’} from ‘void *’
makes integer from pointer without a cast [-Werror=int-conversion]
| uint64_t gcd = NULL;
| ^~~~
drivers/vdpa/mlx5/mlx5_vdpa_mem.c:244:75: error:
‘mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
| klm_size = mode == MLX5_MKC_ACCESS_MODE_KLM ?
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| KLM_SIZE_MAX_ALIGN(empty_region_sz) : gcd;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
index a13bde5a0b..59ce4e891c 100644
--- a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
+++ b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
@@ -177,10 +177,10 @@ mlx5_vdpa_mem_register(struct mlx5_vdpa_priv *priv)
struct mlx5_devx_mkey_attr mkey_attr;
struct mlx5_vdpa_query_mr *entry = NULL;
struct rte_vhost_mem_region *reg = NULL;
- uint8_t mode;
+ uint8_t mode = 0;
uint32_t entries_num = 0;
uint32_t i;
- uint64_t gcd;
+ uint64_t gcd = 0;
uint64_t klm_size;
uint64_t mem_size;
uint64_t k;
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 4/5] test/crypto: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
` (2 preceding siblings ...)
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: " Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 5/5] devtools: test different build types Thomas Monjalon
` (2 subsequent siblings)
6 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand, Akhil Goyal, Declan Doherty
Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:
app/test/test_cryptodev_blockcipher.c:1133:45: error:
‘blk_tcs’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
| const struct blockcipher_test_case *blk_tcs;
| ^~~~~~~
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
app/test/test_cryptodev_blockcipher.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c
index 53fd4718af..0d5082887e 100644
--- a/app/test/test_cryptodev_blockcipher.c
+++ b/app/test/test_cryptodev_blockcipher.c
@@ -1184,7 +1184,7 @@ build_blockcipher_test_suite(enum blockcipher_test_type test_type)
ts_setup = authonly_setup;
break;
default:
- break;
+ return NULL;
}
ts = calloc(1, sizeof(struct unit_test_suite) +
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [dpdk-dev] [PATCH v3 5/5] devtools: test different build types
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
` (3 preceding siblings ...)
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 4/5] test/crypto: " Thomas Monjalon
@ 2021-08-08 12:51 ` Thomas Monjalon
2024-08-15 16:26 ` Stephen Hemminger
2021-09-15 20:27 ` [dpdk-dev] [PATCH v3 0/5] more build tests Ferruh Yigit
2021-09-16 7:05 ` David Marchand
6 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2021-08-08 12:51 UTC (permalink / raw)
To: dev; +Cc: bruce.richardson, david.marchand, Andrew Rybchenko
All builds were of type debugoptimized.
It is kept only for builds having an ABI check.
Others will have the default build type (release),
except if specified differently as in the x86 generic build
which will be a test of the non-optimized debug build type.
Some static builds will test the minsize build type.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
This patch cannot be merged now because it makes clang 11.1.0 crashing.
---
devtools/test-meson-builds.sh | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9ec8e2bc7e..7bd305a669 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -92,13 +92,16 @@ load_env () # <target compiler>
command -v $targetcc >/dev/null 2>&1 || return 1
}
-config () # <dir> <builddir> <meson options>
+config () # <dir> <builddir> <ABI check> <meson options>
{
dir=$1
shift
builddir=$1
shift
+ abicheck=$1
+ shift
if [ -f "$builddir/build.ninja" ] ; then
+ [ $abicheck = ABI ] || return 0
# for existing environments, switch to debugoptimized if unset
# so that ABI checks can run
if ! $MESON configure $builddir |
@@ -114,7 +117,9 @@ config () # <dir> <builddir> <meson options>
else
options="$options -Dexamples=l3fwd" # save disk space
fi
- options="$options --buildtype=debugoptimized"
+ if [ $abicheck = ABI ] ; then
+ options="$options --buildtype=debugoptimized"
+ fi
for option in $DPDK_MESON_OPTIONS ; do
options="$options -D$option"
done
@@ -165,7 +170,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
cross=
fi
load_env $targetcc || return 0
- config $srcdir $builds_dir/$targetdir $cross --werror $*
+ config $srcdir $builds_dir/$targetdir $abicheck $cross --werror $*
compile $builds_dir/$targetdir
if [ -n "$DPDK_ABI_REF_VERSION" -a "$abicheck" = ABI ] ; then
abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
@@ -179,7 +184,7 @@ build () # <directory> <target cc | cross file> <ABI check> [meson options]
fi
rm -rf $abirefdir/build
- config $abirefdir/src $abirefdir/build $cross \
+ config $abirefdir/src $abirefdir/build $abicheck $cross \
-Dexamples= $*
compile $abirefdir/build
install_target $abirefdir/build $abirefdir/$targetdir
@@ -211,11 +216,13 @@ for c in gcc clang ; do
for s in static shared ; do
if [ $s = shared ] ; then
abicheck=ABI
+ buildtype=
else
abicheck=skipABI # save time and disk space
+ buildtype='--buildtype=minsize'
fi
export CC="$CCACHE $c"
- build build-$c-$s $c $abicheck --default-library=$s
+ build build-$c-$s $c $abicheck $buildtype --default-library=$s
unset CC
done
done
@@ -227,7 +234,7 @@ generic_isa='nehalem'
if ! check_cc_flags "-march=$generic_isa" ; then
generic_isa='corei7'
fi
-build build-x86-generic cc skipABI -Dcheck_includes=true \
+build build-x86-generic cc skipABI --buildtype=debug -Dcheck_includes=true \
-Dlibdir=lib -Dcpu_instruction_set=$generic_isa $use_shared
# 32-bit with default compiler
--
2.31.1
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [EXT] [PATCH v3 1/5] net/qede: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build Thomas Monjalon
@ 2021-08-09 5:15 ` Devendra Singh Rawat
2021-08-09 7:11 ` Rasesh Mody
2021-09-15 15:16 ` David Marchand
0 siblings, 2 replies; 44+ messages in thread
From: Devendra Singh Rawat @ 2021-08-09 5:15 UTC (permalink / raw)
To: Thomas Monjalon, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com,
Rasesh Mody
-----Original Message-----
From: Thomas Monjalon <thomas@monjalon.net>
Sent: Sunday, August 8, 2021 6:22 PM
To: dev@dpdk.org
Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Rasesh Mody <rmody@marvell.com>; Devendra Singh Rawat <dsinghrawat@marvell.com>
Subject: [EXT] [PATCH v3 1/5] net/qede: fix minsize build
External Email
----------------------------------------------------------------------
Error occurs when configuring meson with --buildtype=minsize with GCC 11.1.0:
In function ‘__internal_ram_wr_relaxed’,
inlined from ‘internal_ram_wr’ at ecore_int_api.h:166:2,
inlined from ‘qede_update_rx_prod.constprop’ at qede_rxtx.c:736:2:
drivers/net/qede/base/bcm_osal.h:136:9: error:
‘rx_prods’ is used uninitialized [-Werror=uninitialized]
| rte_write32_relaxed((_val), (_reg_addr))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ecore_int_api.h:151:17: note: in expansion of macro ‘DIRECT_REG_WR_RELAXED’
| DIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM *)addr)[i],
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/qede/qede_rxtx.c: In function ‘qede_update_rx_prod.constprop’:
drivers/net/qede/qede_rxtx.c:724:33: note: ‘rx_prods’ declared here
| struct eth_rx_prod_data rx_prods = { 0 };
| ^~~~~~~~
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/qede/qede_rxtx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c index 298f4e3e42..35cde561ba 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -721,9 +721,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev, {
uint16_t bd_prod = ecore_chain_get_prod_idx(&rxq->rx_bd_ring);
uint16_t cqe_prod = ecore_chain_get_prod_idx(&rxq->rx_comp_ring);
- struct eth_rx_prod_data rx_prods = { 0 };
+ struct eth_rx_prod_data rx_prods;
/* Update producers */
+ memset(&rx_prods, 0, sizeof(rx_prods));
rx_prods.bd_prod = rte_cpu_to_le_16(bd_prod);
rx_prods.cqe_prod = rte_cpu_to_le_16(cqe_prod);
--
2.31.1
ACKed.
Thanks,
Devendra
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: " Thomas Monjalon
@ 2021-08-09 6:43 ` Matan Azrad
2021-08-11 8:48 ` Ruifeng Wang
1 sibling, 0 replies; 44+ messages in thread
From: Matan Azrad @ 2021-08-09 6:43 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com,
Slava Ovsiienko
From: Thomas Monjalon
> Error occurs when configuring meson with --buildtype=minsize with GCC
> 11.1.0:
>
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c: In function
> ‘mlx5_vdpa_mem_register’:
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c:183:24: error:
> initialization of ‘uint64_t’ {aka ‘long unsigned int’} from ‘void *’
> makes integer from pointer without a cast [-Werror=int-conversion]
> | uint64_t gcd = NULL;
> | ^~~~
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c:244:75: error:
> ‘mode’ may be used uninitialized in this function [-Werror=maybe-
> uninitialized]
> | klm_size = mode == MLX5_MKC_ACCESS_MODE_KLM ?
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | KLM_SIZE_MAX_ALIGN(empty_region_sz) : gcd;
> |
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
Thanks
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [EXT] [PATCH v3 1/5] net/qede: fix minsize build
2021-08-09 5:15 ` [dpdk-dev] [EXT] " Devendra Singh Rawat
@ 2021-08-09 7:11 ` Rasesh Mody
2021-09-15 15:16 ` David Marchand
1 sibling, 0 replies; 44+ messages in thread
From: Rasesh Mody @ 2021-08-09 7:11 UTC (permalink / raw)
To: Devendra Singh Rawat, Thomas Monjalon, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com
> From: Devendra Singh Rawat <dsinghrawat@marvell.com>
> Sent: Monday, August 9, 2021 10:46 AM
>
>
>
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Sunday, August 8, 2021 6:22 PM
> To: dev@dpdk.org
> Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Rasesh
> Mody <rmody@marvell.com>; Devendra Singh Rawat
> <dsinghrawat@marvell.com>
> Subject: [EXT] [PATCH v3 1/5] net/qede: fix minsize build
>
> External Email
>
> ----------------------------------------------------------------------
> Error occurs when configuring meson with --buildtype=minsize with GCC
> 11.1.0:
>
> In function ‘__internal_ram_wr_relaxed’,
> inlined from ‘internal_ram_wr’ at ecore_int_api.h:166:2,
> inlined from ‘qede_update_rx_prod.constprop’ at qede_rxtx.c:736:2:
> drivers/net/qede/base/bcm_osal.h:136:9: error:
> ‘rx_prods’ is used uninitialized [-Werror=uninitialized]
> | rte_write32_relaxed((_val), (_reg_addr))
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ecore_int_api.h:151:17: note: in expansion of macro
> ‘DIRECT_REG_WR_RELAXED’
> | DIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM
> *)addr)[i],
> | ^~~~~~~~~~~~~~~~~~~~~
> drivers/net/qede/qede_rxtx.c: In function
> ‘qede_update_rx_prod.constprop’:
> drivers/net/qede/qede_rxtx.c:724:33: note: ‘rx_prods’ declared here
> | struct eth_rx_prod_data rx_prods = { 0 };
> | ^~~~~~~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Rasesh Mody <rmody@marvell.com>
> ---
> drivers/net/qede/qede_rxtx.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
> index 298f4e3e42..35cde561ba 100644
> --- a/drivers/net/qede/qede_rxtx.c
> +++ b/drivers/net/qede/qede_rxtx.c
> @@ -721,9 +721,10 @@ qede_update_rx_prod(__rte_unused struct
> qede_dev *edev, {
> uint16_t bd_prod = ecore_chain_get_prod_idx(&rxq->rx_bd_ring);
> uint16_t cqe_prod = ecore_chain_get_prod_idx(&rxq-
> >rx_comp_ring);
> - struct eth_rx_prod_data rx_prods = { 0 };
> + struct eth_rx_prod_data rx_prods;
>
> /* Update producers */
> + memset(&rx_prods, 0, sizeof(rx_prods));
> rx_prods.bd_prod = rte_cpu_to_le_16(bd_prod);
> rx_prods.cqe_prod = rte_cpu_to_le_16(cqe_prod);
>
> --
> 2.31.1
>
> ACKed.
>
> Thanks,
> Devendra
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: " Thomas Monjalon
2021-08-09 6:43 ` Matan Azrad
@ 2021-08-11 8:48 ` Ruifeng Wang
1 sibling, 0 replies; 44+ messages in thread
From: Ruifeng Wang @ 2021-08-11 8:48 UTC (permalink / raw)
To: thomas@monjalon.net, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com,
Matan Azrad, Viacheslav Ovsiienko, nd
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> Sent: Sunday, August 8, 2021 8:52 PM
> To: dev@dpdk.org
> Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Matan Azrad
> <matan@nvidia.com>; Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> Subject: [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: fix minsize build
>
> Error occurs when configuring meson with --buildtype=minsize with GCC
> 11.1.0:
>
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c: In function
> ‘mlx5_vdpa_mem_register’:
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c:183:24: error:
> initialization of ‘uint64_t’ {aka ‘long unsigned int’} from ‘void *’
> makes integer from pointer without a cast [-Werror=int-conversion]
> | uint64_t gcd = NULL;
> | ^~~~
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c:244:75: error:
> ‘mode’ may be used uninitialized in this function [-Werror=maybe-
> uninitialized]
> | klm_size = mode == MLX5_MKC_ACCESS_MODE_KLM ?
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | KLM_SIZE_MAX_ALIGN(empty_region_sz) : gcd;
> |
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
> b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
> index a13bde5a0b..59ce4e891c 100644
> --- a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
> +++ b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c
> @@ -177,10 +177,10 @@ mlx5_vdpa_mem_register(struct mlx5_vdpa_priv
> *priv)
> struct mlx5_devx_mkey_attr mkey_attr;
> struct mlx5_vdpa_query_mr *entry = NULL;
> struct rte_vhost_mem_region *reg = NULL;
> - uint8_t mode;
> + uint8_t mode = 0;
> uint32_t entries_num = 0;
> uint32_t i;
> - uint64_t gcd;
> + uint64_t gcd = 0;
> uint64_t klm_size;
> uint64_t mem_size;
> uint64_t k;
> --
> 2.31.1
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/5] regex/mlx5: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 2/5] regex/mlx5: " Thomas Monjalon
@ 2021-08-11 8:48 ` Ruifeng Wang
0 siblings, 0 replies; 44+ messages in thread
From: Ruifeng Wang @ 2021-08-11 8:48 UTC (permalink / raw)
To: thomas@monjalon.net, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com, Ori Kam,
nd
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> Sent: Sunday, August 8, 2021 8:52 PM
> To: dev@dpdk.org
> Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Ori Kam
> <orika@nvidia.com>
> Subject: [dpdk-dev] [PATCH v3 2/5] regex/mlx5: fix minsize build
>
> Error occurs when configuring meson with --buildtype=minsize with GCC
> 11.1.0:
>
> drivers/regex/mlx5/mlx5_regex_fastpath.c:398:17: error:
> ‘len’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> | complete_umr_wqe(qp, sq, &qp->jobs[mkey_job_id], sq->pi,
> |
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | klm_num, len);
> | ~~~~~~~~~~~~~
> drivers/regex/mlx5/mlx5_regex_fastpath.c:315:31: note: ‘len’ was declared
> here
> | uint32_t klm_num = 0, len;
> | ^~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> drivers/regex/mlx5/mlx5_regex_fastpath.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/regex/mlx5/mlx5_regex_fastpath.c
> b/drivers/regex/mlx5/mlx5_regex_fastpath.c
> index 786718af53..c79445ce7d 100644
> --- a/drivers/regex/mlx5/mlx5_regex_fastpath.c
> +++ b/drivers/regex/mlx5/mlx5_regex_fastpath.c
> @@ -312,7 +312,8 @@ prep_regex_umr_wqe_set(struct mlx5_regex_priv
> *priv, struct mlx5_regex_qp *qp,
> struct mlx5_regex_job *job = NULL;
> size_t sqid = sq->sqn, mkey_job_id = 0;
> size_t left_ops = nb_ops;
> - uint32_t klm_num = 0, len;
> + uint32_t klm_num = 0;
> + uint32_t len = 0;
> struct mlx5_klm *mkey_klm = NULL;
> struct mlx5_klm klm;
>
> --
> 2.31.1
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 4/5] test/crypto: fix minsize build
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 4/5] test/crypto: " Thomas Monjalon
@ 2021-08-11 8:48 ` Ruifeng Wang
0 siblings, 0 replies; 44+ messages in thread
From: Ruifeng Wang @ 2021-08-11 8:48 UTC (permalink / raw)
To: thomas@monjalon.net, dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com,
Akhil Goyal, Declan Doherty, nd
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> Sent: Sunday, August 8, 2021 8:52 PM
> To: dev@dpdk.org
> Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Akhil Goyal
> <gakhil@marvell.com>; Declan Doherty <declan.doherty@intel.com>
> Subject: [dpdk-dev] [PATCH v3 4/5] test/crypto: fix minsize build
>
> Error occurs when configuring meson with --buildtype=minsize with GCC
> 11.1.0:
>
> app/test/test_cryptodev_blockcipher.c:1133:45: error:
> ‘blk_tcs’ may be used uninitialized in this function [-Werror=maybe-
> uninitialized]
> | const struct blockcipher_test_case *blk_tcs;
> | ^~~~~~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> app/test/test_cryptodev_blockcipher.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/app/test/test_cryptodev_blockcipher.c
> b/app/test/test_cryptodev_blockcipher.c
> index 53fd4718af..0d5082887e 100644
> --- a/app/test/test_cryptodev_blockcipher.c
> +++ b/app/test/test_cryptodev_blockcipher.c
> @@ -1184,7 +1184,7 @@ build_blockcipher_test_suite(enum
> blockcipher_test_type test_type)
> ts_setup = authonly_setup;
> break;
> default:
> - break;
> + return NULL;
> }
>
> ts = calloc(1, sizeof(struct unit_test_suite) +
> --
> 2.31.1
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [EXT] [PATCH v3 1/5] net/qede: fix minsize build
2021-08-09 5:15 ` [dpdk-dev] [EXT] " Devendra Singh Rawat
2021-08-09 7:11 ` Rasesh Mody
@ 2021-09-15 15:16 ` David Marchand
1 sibling, 0 replies; 44+ messages in thread
From: David Marchand @ 2021-09-15 15:16 UTC (permalink / raw)
To: Devendra Singh Rawat
Cc: Thomas Monjalon, dev@dpdk.org, bruce.richardson@intel.com,
Rasesh Mody
On Mon, Aug 9, 2021 at 7:15 AM Devendra Singh Rawat
<dsinghrawat@marvell.com> wrote:
>
>
>
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Sunday, August 8, 2021 6:22 PM
> To: dev@dpdk.org
> Cc: bruce.richardson@intel.com; david.marchand@redhat.com; Rasesh Mody <rmody@marvell.com>; Devendra Singh Rawat <dsinghrawat@marvell.com>
> Subject: [EXT] [PATCH v3 1/5] net/qede: fix minsize build
>
> External Email
>
> ----------------------------------------------------------------------
> Error occurs when configuring meson with --buildtype=minsize with GCC 11.1.0:
>
> In function ‘__internal_ram_wr_relaxed’,
> inlined from ‘internal_ram_wr’ at ecore_int_api.h:166:2,
> inlined from ‘qede_update_rx_prod.constprop’ at qede_rxtx.c:736:2:
> drivers/net/qede/base/bcm_osal.h:136:9: error:
> ‘rx_prods’ is used uninitialized [-Werror=uninitialized]
> | rte_write32_relaxed((_val), (_reg_addr))
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ecore_int_api.h:151:17: note: in expansion of macro ‘DIRECT_REG_WR_RELAXED’
> | DIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM *)addr)[i],
> | ^~~~~~~~~~~~~~~~~~~~~
> drivers/net/qede/qede_rxtx.c: In function ‘qede_update_rx_prod.constprop’:
> drivers/net/qede/qede_rxtx.c:724:33: note: ‘rx_prods’ declared here
> | struct eth_rx_prod_data rx_prods = { 0 };
> | ^~~~~~~~
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Can you configure your mail client so that it quotes the original mail
with some '> ' prefix?
Your reply confused patchwork which added back a SoB from Thomas.
> ---
> drivers/net/qede/qede_rxtx.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c index 298f4e3e42..35cde561ba 100644
> --- a/drivers/net/qede/qede_rxtx.c
> +++ b/drivers/net/qede/qede_rxtx.c
> @@ -721,9 +721,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev, {
> uint16_t bd_prod = ecore_chain_get_prod_idx(&rxq->rx_bd_ring);
> uint16_t cqe_prod = ecore_chain_get_prod_idx(&rxq->rx_comp_ring);
> - struct eth_rx_prod_data rx_prods = { 0 };
> + struct eth_rx_prod_data rx_prods;
>
> /* Update producers */
> + memset(&rx_prods, 0, sizeof(rx_prods));
> rx_prods.bd_prod = rte_cpu_to_le_16(bd_prod);
> rx_prods.cqe_prod = rte_cpu_to_le_16(cqe_prod);
>
> --
> 2.31.1
>
> ACKed.
Please reply with a full tag so that patchwork catches it.
It saves me some time/brain cycles when applying patches.
Thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/5] more build tests
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
` (4 preceding siblings ...)
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 5/5] devtools: test different build types Thomas Monjalon
@ 2021-09-15 20:27 ` Ferruh Yigit
2021-09-16 7:05 ` David Marchand
6 siblings, 0 replies; 44+ messages in thread
From: Ferruh Yigit @ 2021-09-15 20:27 UTC (permalink / raw)
To: Thomas Monjalon, dev; +Cc: bruce.richardson, david.marchand
On 8/8/2021 1:51 PM, Thomas Monjalon wrote:
> While testing more build types, some errors occur.
>
> v3: fix minsize build with GCC
> v2: fix init of var buildtype
>
> Thomas Monjalon (5):
> net/qede: fix minsize build
> regex/mlx5: fix minsize build
> vdpa/mlx5: fix minsize build
> test/crypto: fix minsize build
> devtools: test different build types
>
> app/test/test_cryptodev_blockcipher.c | 2 +-
> devtools/test-meson-builds.sh | 19 +++++++++++++------
> drivers/net/qede/qede_rxtx.c | 3 ++-
> drivers/regex/mlx5/mlx5_regex_fastpath.c | 3 ++-
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 4 ++--
> 5 files changed, 20 insertions(+), 11 deletions(-)
>
With the 'test-meson-builds.sh' update (patch 5/5) clang crashes for me [1], it
can be related to my environment but I can reproduce the issue 100%.
When the patch 5/5 is dropped, I confirm it builds fine with
'--buildtype=minsize' meson option.
So _only for first four patches_:
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
[1]
FAILED: drivers/libtmp_rte_crypto_ccp.a.p/crypto_ccp_ccp_dev.c.o
clang-12: error: clang frontend command failed with exit code 70 (use -v to see
invocation)
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/5] more build tests
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
` (5 preceding siblings ...)
2021-09-15 20:27 ` [dpdk-dev] [PATCH v3 0/5] more build tests Ferruh Yigit
@ 2021-09-16 7:05 ` David Marchand
6 siblings, 0 replies; 44+ messages in thread
From: David Marchand @ 2021-09-16 7:05 UTC (permalink / raw)
To: Thomas Monjalon, Yigit, Ferruh; +Cc: dev, Bruce Richardson
On Sun, Aug 8, 2021 at 2:51 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> While testing more build types, some errors occur.
>
> v3: fix minsize build with GCC
> v2: fix init of var buildtype
>
> Thomas Monjalon (5):
> net/qede: fix minsize build
> regex/mlx5: fix minsize build
> vdpa/mlx5: fix minsize build
> test/crypto: fix minsize build
> devtools: test different build types
>
> app/test/test_cryptodev_blockcipher.c | 2 +-
> devtools/test-meson-builds.sh | 19 +++++++++++++------
> drivers/net/qede/qede_rxtx.c | 3 ++-
> drivers/regex/mlx5/mlx5_regex_fastpath.c | 3 ++-
> drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 4 ++--
> 5 files changed, 20 insertions(+), 11 deletions(-)
>
Applied first 4 patches.
Thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [dpdk-dev] [PATCH v3 5/5] devtools: test different build types
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 5/5] devtools: test different build types Thomas Monjalon
@ 2024-08-15 16:26 ` Stephen Hemminger
0 siblings, 0 replies; 44+ messages in thread
From: Stephen Hemminger @ 2024-08-15 16:26 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, bruce.richardson, david.marchand, Andrew Rybchenko
On Sun, 8 Aug 2021 14:51:38 +0200
Thomas Monjalon <thomas@monjalon.net> wrote:
> All builds were of type debugoptimized.
> It is kept only for builds having an ABI check.
> Others will have the default build type (release),
> except if specified differently as in the x86 generic build
> which will be a test of the non-optimized debug build type.
> Some static builds will test the minsize build type.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>
> ---
>
> This patch cannot be merged now because it makes clang 11.1.0 crashing.
> ---
Dropping this patch from patchwork because of the clang crash.
^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 0/4] more build tests
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
` (2 preceding siblings ...)
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
@ 2026-01-28 11:58 ` Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process Thomas Monjalon
` (3 more replies)
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
4 siblings, 4 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 11:58 UTC (permalink / raw)
To: dev; +Cc: david.marchand
While testing more build types, some errors occur.
v4: fix new warnings with minsize
v3: fix minsize build with GCC
v2: fix init of var buildtype
Thomas Monjalon (4):
bus/pci: fix unmap on failure in multi-process
argparse: fix minsize build
mldev: fix minsize build
devtools: test different build types
devtools/test-meson-builds.sh | 6 ++++--
drivers/bus/pci/linux/pci_vfio.c | 3 ++-
lib/argparse/rte_argparse.c | 2 +-
lib/mldev/rte_mldev.c | 2 +-
4 files changed, 8 insertions(+), 5 deletions(-)
--
2.52.0
^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
@ 2026-01-28 11:58 ` Thomas Monjalon
2026-01-28 14:11 ` Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 2/4] argparse: fix minsize build Thomas Monjalon
` (2 subsequent siblings)
3 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 11:58 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov, Chenbo Xia, Nipun Gupta
This error is seen in build of type "minsize":
In function 'pci_vfio_map_resource_secondary':
drivers/bus/pci/linux/pci_vfio.c:1005:28: error:
'maps' may be used uninitialized [-Werror=maybe-uninitialized]
1005 | if (maps[j].addr)
On failure before assigning maps, it was trying to unmap.
The fix is changing the goto destination after unmapping.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/bus/pci/linux/pci_vfio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 242f567ed7..bc5c5c2499 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -968,7 +968,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
ret = pci_vfio_fill_regions(dev, vfio_dev_fd, &device_info);
if (ret)
- goto err_vfio_dev_fd;
+ goto err_vfio_dev;
/* map BARs */
maps = vfio_res->maps;
@@ -1005,6 +1005,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
if (maps[j].addr)
pci_unmap_resource(maps[j].addr, maps[j].size);
}
+err_vfio_dev:
rte_vfio_release_device(rte_pci_get_sysfs_path(),
pci_addr, vfio_dev_fd);
return -1;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 2/4] argparse: fix minsize build
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process Thomas Monjalon
@ 2026-01-28 11:58 ` Thomas Monjalon
2026-01-29 1:35 ` fengchengwen
2026-01-28 11:58 ` [PATCH v4 3/4] mldev: " Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 4/4] devtools: test different build types Thomas Monjalon
3 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 11:58 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Chengwen Feng
This error is seen in build of type "minsize":
In function 'parse_args', lib/argparse/rte_argparse.c:764:31: error:
'arg_idx' may be used uninitialized [-Werror=maybe-uninitialized]
764 | if (arg_parsed[arg_idx] && !arg_attr_flag_multi(arg)) {
| ^
It looks to be a compiler issue because we are not supposed
to reach this point in case of find_option_arg() failure.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/argparse/rte_argparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/argparse/rte_argparse.c b/lib/argparse/rte_argparse.c
index 9c3c5e7ae3..88c3e7740c 100644
--- a/lib/argparse/rte_argparse.c
+++ b/lib/argparse/rte_argparse.c
@@ -702,7 +702,7 @@ parse_args(const struct rte_argparse *obj, bool *arg_parsed,
const char *arg_name;
size_t n_args_to_move;
char **args_to_move;
- uint32_t arg_idx;
+ uint32_t arg_idx = 0;
char *curr_argv;
char *value;
int ret;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 3/4] mldev: fix minsize build
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 2/4] argparse: fix minsize build Thomas Monjalon
@ 2026-01-28 11:58 ` Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 4/4] devtools: test different build types Thomas Monjalon
3 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 11:58 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Srikanth Yalavarthi
This error is seen in build of type "minsize":
In function 'rte_ml_dev_pmd_allocate':
lib/mldev/rte_mldev.c:84:16: error:
'dev' may be used uninitialized [-Werror=maybe-uninitialized]
84 | if (dev->data == NULL) {
| ~~~^~~~~~
It looks to be a compiler issue because we are not supposed
to reach this point without finding a device to assign.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/mldev/rte_mldev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/mldev/rte_mldev.c b/lib/mldev/rte_mldev.c
index f5061f015c..7fae867882 100644
--- a/lib/mldev/rte_mldev.c
+++ b/lib/mldev/rte_mldev.c
@@ -55,7 +55,7 @@ rte_ml_dev_pmd_allocate(const char *name, uint8_t socket_id)
{
char mz_name[RTE_MEMZONE_NAMESIZE];
const struct rte_memzone *mz;
- struct rte_ml_dev *dev;
+ struct rte_ml_dev *dev = NULL;
int16_t dev_id;
/* implicit initialization of library before adding first device */
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 4/4] devtools: test different build types
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
` (2 preceding siblings ...)
2026-01-28 11:58 ` [PATCH v4 3/4] mldev: " Thomas Monjalon
@ 2026-01-28 11:58 ` Thomas Monjalon
3 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 11:58 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Andrew Rybchenko, Bruce Richardson
All builds were of type debugoptimized.
It is kept only for builds having an ABI check.
Others will have the default build type (release),
except if specified differently as in the x86 generic build
which will be a test of the non-optimized debug build type.
Some static builds will test the minsize build type.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
devtools/test-meson-builds.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 867a0a9c0c..11e4be3f88 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -233,13 +233,15 @@ for c in gcc clang ; do
for s in static shared ; do
if [ $s = shared ] ; then
abicheck=ABI
+ buildtype=
stdatomic=-Denable_stdatomic=true
else
abicheck=skipABI # save time and disk space
+ buildtype='--buildtype=minsize'
stdatomic=-Denable_stdatomic=false
fi
export CC="$CCACHE $c"
- build build-$c-$s $c $abicheck $stdatomic --default-library=$s
+ build build-$c-$s $c $abicheck $buildtype $stdatomic --default-library=$s
unset CC
done
done
@@ -254,7 +256,7 @@ generic_isa='nehalem'
if ! check_cc_flags "-march=$generic_isa" ; then
generic_isa='corei7'
fi
-build build-x86-generic cc skipABI -Dcheck_includes=true \
+build build-x86-generic cc skipABI --buildtype=debug -Dcheck_includes=true \
-Dlibdir=lib -Dcpu_instruction_set=$generic_isa $use_shared
# 32-bit with default compiler
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process
2026-01-28 11:58 ` [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process Thomas Monjalon
@ 2026-01-28 14:11 ` Thomas Monjalon
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-01-28 14:11 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov, Chenbo Xia, Nipun Gupta
28/01/2026 12:58, Thomas Monjalon:
> This error is seen in build of type "minsize":
>
> In function 'pci_vfio_map_resource_secondary':
> drivers/bus/pci/linux/pci_vfio.c:1005:28: error:
> 'maps' may be used uninitialized [-Werror=maybe-uninitialized]
> 1005 | if (maps[j].addr)
>
> On failure before assigning maps, it was trying to unmap.
> The fix is changing the goto destination after unmapping.
After David had a look, he told me unmap would never happen
because the loop range is empty.
So we should change this description with this:
"
On failure before assigning maps, it was trying to unmap.
The compiler should have detected that the unmap loop is a nop.
The fix is changing the goto destination after unmapping
to allow compiling with "minsize" option.
"
Because it is not fixing anything but minsize build,
the title should be "bus/pci: fix minsize build"
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 2/4] argparse: fix minsize build
2026-01-28 11:58 ` [PATCH v4 2/4] argparse: fix minsize build Thomas Monjalon
@ 2026-01-29 1:35 ` fengchengwen
0 siblings, 0 replies; 44+ messages in thread
From: fengchengwen @ 2026-01-29 1:35 UTC (permalink / raw)
To: Thomas Monjalon, dev; +Cc: david.marchand
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
On 1/28/2026 7:58 PM, Thomas Monjalon wrote:
> This error is seen in build of type "minsize":
>
> In function 'parse_args', lib/argparse/rte_argparse.c:764:31: error:
> 'arg_idx' may be used uninitialized [-Werror=maybe-uninitialized]
> 764 | if (arg_parsed[arg_idx] && !arg_attr_flag_multi(arg)) {
> | ^
>
> It looks to be a compiler issue because we are not supposed
> to reach this point in case of find_option_arg() failure.
>
> The variable is initialized to allow compiling with "minsize" option.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 00/11] more build tests
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
` (3 preceding siblings ...)
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 01/11] mem: check fbarray name truncation in secondary process Thomas Monjalon
` (11 more replies)
4 siblings, 12 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand
While testing more build types, some errors occur.
v5: add minsize and fix debug build types in GHA
fix new warnings with minsize and debug builds
v4: fix new warnings with minsize
v3: fix minsize build with GCC
v2: fix init of var buildtype
Thomas Monjalon (11):
mem: check fbarray name truncation in secondary process
mem: avoid hugepage path overflow
argparse: fix minsize build
mldev: fix minsize build
bus/pci: fix minsize build
power/intel_pstate: fix minsize build
net/bnxt/tf_ulp: fix minsize build
net/iavf: fix minsize build
ci: fix debug build type
devtools: test different build types
ci: check minsize build type in GHA
.ci/linux-build.sh | 3 ++-
.github/workflows/build.yml | 2 ++
devtools/test-meson-builds.sh | 6 ++++--
drivers/bus/pci/linux/pci_vfio.c | 3 ++-
drivers/net/bnxt/tf_ulp/ulp_utils.h | 2 ++
drivers/net/intel/iavf/iavf_ipsec_crypto.c | 2 +-
.../power/intel_pstate/intel_pstate_cpufreq.c | 2 +-
lib/argparse/rte_argparse.c | 2 +-
lib/eal/linux/eal_memalloc.c | 7 ++++++-
lib/eal/linux/eal_memory.c | 20 ++++++++++++-------
lib/mldev/rte_mldev.c | 2 +-
11 files changed, 35 insertions(+), 16 deletions(-)
--
2.52.0
^ permalink raw reply [flat|nested] 44+ messages in thread
* [PATCH v4 01/11] mem: check fbarray name truncation in secondary process
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 02/11] mem: avoid hugepage path overflow Thomas Monjalon
` (10 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov
When compiling in debug mode, the format-truncation check
raises a warning:
In function 'secondary_msl_create_walk':
lib/eal/linux/eal_memalloc.c:1401:50:
error: '%i' directive output may be truncated writing
between 1 and 11 bytes into a region of size between 0 and 63
[-Werror=format-truncation=]
note: 'snprintf' output between 3 and 76 bytes
into a destination of size 64
1401 | snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i",
1402 | primary_msl->memseg_arr.name, getpid());
This is a new warning enabled in DPDK 26.03.
It is solved by checking the return of snprintf.
Bugzilla ID: 1878
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/eal/linux/eal_memalloc.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/eal/linux/eal_memalloc.c b/lib/eal/linux/eal_memalloc.c
index d9e8ea76b9..4dee224ac5 100644
--- a/lib/eal/linux/eal_memalloc.c
+++ b/lib/eal/linux/eal_memalloc.c
@@ -1398,8 +1398,13 @@ secondary_msl_create_walk(const struct rte_memseg_list *msl,
local_msl = &local_memsegs[msl_idx];
/* create distinct fbarrays for each secondary */
- snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i",
+ ret = snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i",
primary_msl->memseg_arr.name, getpid());
+ if (ret >= RTE_FBARRAY_NAME_LEN) {
+ EAL_LOG(ERR, "fbarray name %s_%i is too long",
+ primary_msl->memseg_arr.name, getpid());
+ return -1;
+ }
ret = rte_fbarray_init(&local_msl->memseg_arr, name,
primary_msl->memseg_arr.len,
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 02/11] mem: avoid hugepage path overflow
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 01/11] mem: check fbarray name truncation in secondary process Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-06 8:12 ` David Marchand
2026-02-05 21:27 ` [PATCH v4 03/11] argparse: fix minsize build Thomas Monjalon
` (9 subsequent siblings)
11 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov
When constructing hugepage path, allocate the variable
to avoid a possible overflow which was detected in debug build:
In function 'find_numasocket':
lib/eal/linux/eal_memory.c:450:31:
error: 'snprintf' output may be truncated
before the last format character [-Werror=format-truncation=]
lib/eal/linux/eal_memory.c:449:9:
note: 'snprintf' output 2 or more bytes (assuming 4097)
into a destination of size 4096
449 | snprintf(hugedir_str, sizeof(hugedir_str),
450 | "%s/%s", hpi->hugedir, eal_get_hugefile_prefix());
This is a new warning (format-truncation) enabled in DPDK 26.03.
Bugzilla ID: 1878
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/eal/linux/eal_memory.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index 7c4197a5b8..ceda9c3246 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -436,8 +436,9 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
unsigned i, hp_count = 0;
uint64_t virt_addr;
char buf[BUFSIZ];
- char hugedir_str[PATH_MAX];
+ char *hugedir_str;
FILE *f;
+ int ret;
f = fopen("/proc/self/numa_maps", "r");
if (f == NULL) {
@@ -446,8 +447,14 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
return 0;
}
- snprintf(hugedir_str, sizeof(hugedir_str),
- "%s/%s", hpi->hugedir, eal_get_hugefile_prefix());
+ ret = asprintf(&hugedir_str, "%s/%s",
+ hpi->hugedir, eal_get_hugefile_prefix());
+ if (ret < 0) {
+ EAL_LOG(ERR, "%s(): failed to store hugepage path", __func__);
+ goto error;
+ }
+
+ ret = -1;
/* parse numa map */
while (fgets(buf, sizeof(buf), f) != NULL) {
@@ -503,12 +510,11 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
if (hp_count < hpi->num_pages[0])
goto error;
- fclose(f);
- return 0;
-
+ ret = 0;
error:
+ free(hugedir_str);
fclose(f);
- return -1;
+ return ret;
}
static int
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 03/11] argparse: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 01/11] mem: check fbarray name truncation in secondary process Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 02/11] mem: avoid hugepage path overflow Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 04/11] mldev: " Thomas Monjalon
` (8 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Chengwen Feng
This error is seen in build of type "minsize":
In function 'parse_args', lib/argparse/rte_argparse.c:764:31: error:
'arg_idx' may be used uninitialized [-Werror=maybe-uninitialized]
764 | if (arg_parsed[arg_idx] && !arg_attr_flag_multi(arg)) {
| ^
It looks to be a compiler issue because we are not supposed
to reach this point in case of find_option_arg() failure.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
lib/argparse/rte_argparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/argparse/rte_argparse.c b/lib/argparse/rte_argparse.c
index 9c3c5e7ae3..88c3e7740c 100644
--- a/lib/argparse/rte_argparse.c
+++ b/lib/argparse/rte_argparse.c
@@ -702,7 +702,7 @@ parse_args(const struct rte_argparse *obj, bool *arg_parsed,
const char *arg_name;
size_t n_args_to_move;
char **args_to_move;
- uint32_t arg_idx;
+ uint32_t arg_idx = 0;
char *curr_argv;
char *value;
int ret;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 04/11] mldev: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (2 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 03/11] argparse: fix minsize build Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 05/11] bus/pci: " Thomas Monjalon
` (7 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Srikanth Yalavarthi
This error is seen in build of type "minsize":
In function 'rte_ml_dev_pmd_allocate':
lib/mldev/rte_mldev.c:84:16: error:
'dev' may be used uninitialized [-Werror=maybe-uninitialized]
84 | if (dev->data == NULL) {
| ~~~^~~~~~
It looks to be a compiler issue because we are not supposed
to reach this point without finding a device to assign.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
lib/mldev/rte_mldev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/mldev/rte_mldev.c b/lib/mldev/rte_mldev.c
index f5061f015c..7fae867882 100644
--- a/lib/mldev/rte_mldev.c
+++ b/lib/mldev/rte_mldev.c
@@ -55,7 +55,7 @@ rte_ml_dev_pmd_allocate(const char *name, uint8_t socket_id)
{
char mz_name[RTE_MEMZONE_NAMESIZE];
const struct rte_memzone *mz;
- struct rte_ml_dev *dev;
+ struct rte_ml_dev *dev = NULL;
int16_t dev_id;
/* implicit initialization of library before adding first device */
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 05/11] bus/pci: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (3 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 04/11] mldev: " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 06/11] power/intel_pstate: " Thomas Monjalon
` (6 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov, Chenbo Xia, Nipun Gupta
This error is seen in build of type "minsize":
In function 'pci_vfio_map_resource_secondary':
drivers/bus/pci/linux/pci_vfio.c:1005:28: error:
'maps' may be used uninitialized [-Werror=maybe-uninitialized]
1005 | if (maps[j].addr)
On failure before assigning maps, it was trying to unmap.
The compiler should have detected that the unmap loop is a nop.
The fix is changing the goto destination after unmapping
to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/bus/pci/linux/pci_vfio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 242f567ed7..bc5c5c2499 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -968,7 +968,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
ret = pci_vfio_fill_regions(dev, vfio_dev_fd, &device_info);
if (ret)
- goto err_vfio_dev_fd;
+ goto err_vfio_dev;
/* map BARs */
maps = vfio_res->maps;
@@ -1005,6 +1005,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
if (maps[j].addr)
pci_unmap_resource(maps[j].addr, maps[j].size);
}
+err_vfio_dev:
rte_vfio_release_device(rte_pci_get_sysfs_path(),
pci_addr, vfio_dev_fd);
return -1;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 06/11] power/intel_pstate: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (4 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 05/11] bus/pci: " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 07/11] net/bnxt/tf_ulp: " Thomas Monjalon
` (5 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Anatoly Burakov, David Hunt, Sivaprasad Tummala
This error is seen in build of type "minsize":
In function 'power_init_for_setting_freq',
drivers/power/intel_pstate/intel_pstate_cpufreq.c:205:30:
error: 'max_non_turbo' may be used uninitialized
[-Werror=maybe-uninitialized]
drivers/power/intel_pstate/intel_pstate_cpufreq.c:122:18:
note: 'max_non_turbo' was declared here
122 | uint64_t max_non_turbo;
It looks to be a compiler issue because we are not supposed
to reach this point in case of power_read_turbo_pct() failure.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/power/intel_pstate/intel_pstate_cpufreq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/power/intel_pstate/intel_pstate_cpufreq.c b/drivers/power/intel_pstate/intel_pstate_cpufreq.c
index eba50b2874..8e27570e3c 100644
--- a/drivers/power/intel_pstate/intel_pstate_cpufreq.c
+++ b/drivers/power/intel_pstate/intel_pstate_cpufreq.c
@@ -119,7 +119,7 @@ power_init_for_setting_freq(struct pstate_power_info *pi)
FILE *f_base = NULL, *f_base_min = NULL, *f_base_max = NULL,
*f_min = NULL, *f_max = NULL;
uint32_t base_ratio, base_min_ratio, base_max_ratio;
- uint64_t max_non_turbo;
+ uint64_t max_non_turbo = 0;
int ret;
/* open all files we expect to have open */
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 07/11] net/bnxt/tf_ulp: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (5 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 06/11] power/intel_pstate: " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 08/11] net/iavf: " Thomas Monjalon
` (4 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev
Cc: david.marchand, stable, Kishore Padmanabha, Ajit Khaparde,
Sriharsha Basavapatna, Peter Spreadborough
This error is seen in build of type "minsize":
In function 'ulp_blob_append':
error: 'num' may be used uninitialized [-Werror=maybe-uninitialized]
drivers/net/bnxt/tf_ulp/ulp_utils.h:1109:13:
note: in expansion of macro 'unlikely'
1109 | if (unlikely((src_offset + src_len) > num))
| ^~~~~~~~
drivers/net/bnxt/tf_ulp/ulp_utils.h:1105:18: note: 'num' was declared here
1105 | uint16_t num;
Indeed num may be not initialized if ulp_blob_data_get() fails.
It is fixed by checking the return value src_buf.
Fixes: 0c036a1485b9 ("net/bnxt/tf_ulp: optimize with inline and prediction")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/bnxt/tf_ulp/ulp_utils.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.h b/drivers/net/bnxt/tf_ulp/ulp_utils.h
index 7a8145b5df..ce20f1916f 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_utils.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_utils.h
@@ -1106,6 +1106,8 @@ ulp_blob_append(struct ulp_blob *dst, struct ulp_blob *src,
uint8_t bluff;
uint8_t *src_buf = ulp_blob_data_get(src, &num);
+ if (unlikely(src_buf == NULL))
+ return -EINVAL;
if (unlikely((src_offset + src_len) > num))
return -EINVAL;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 08/11] net/iavf: fix minsize build
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (6 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 07/11] net/bnxt/tf_ulp: " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 09/11] ci: fix debug build type Thomas Monjalon
` (3 subsequent siblings)
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Vladimir Medvedkin
This error is seen in build of type "minsize":
In function 'iavf_ipsec_crypto_supported':
drivers/net/intel/iavf/iavf_ipsec_crypto.c:1649:29:
error: status may be used uninitialized
[-Werror=maybe-uninitialized]
1649 | if (rc == 0 && status.status == INLINE_IPSEC_STATUS_AVAILABLE)
drivers/net/intel/iavf/iavf_ipsec_crypto.c:1647:46:
note: status was declared here
1647 | struct virtchnl_ipsec_status status;
It looks to be a compiler issue because we are not supposed
to reach this point in case of iavf_ipsec_crypto_status_get() failure.
The variable is initialized to allow compiling with "minsize" option.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/intel/iavf/iavf_ipsec_crypto.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/intel/iavf/iavf_ipsec_crypto.c b/drivers/net/intel/iavf/iavf_ipsec_crypto.c
index d5bfbecf08..6d41b1744e 100644
--- a/drivers/net/intel/iavf/iavf_ipsec_crypto.c
+++ b/drivers/net/intel/iavf/iavf_ipsec_crypto.c
@@ -1644,7 +1644,7 @@ iavf_ipsec_crypto_supported(struct iavf_adapter *adapter)
/** Capability check for IPsec Crypto */
if (resources && (resources->vf_cap_flags &
VIRTCHNL_VF_OFFLOAD_INLINE_IPSEC_CRYPTO)) {
- struct virtchnl_ipsec_status status;
+ struct virtchnl_ipsec_status status = {0};
int rc = iavf_ipsec_crypto_status_get(adapter, &status);
if (rc == 0 && status.status == INLINE_IPSEC_STATUS_AVAILABLE)
crypto_supported = true;
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 09/11] ci: fix debug build type
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (7 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 08/11] net/iavf: " Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-06 8:23 ` David Marchand
2026-02-05 21:27 ` [PATCH v4 10/11] devtools: test different build types Thomas Monjalon
` (2 subsequent siblings)
11 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, stable, Aaron Conole
The debug build type was overridden by defining it to
debugoptimized after debug was chosen based on an environment variable.
Fixes: 918b6674b841 ("build: support Undefined Behavior Sanitizer")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
.ci/linux-build.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 084d9642fc..aac0bd3dc5 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -128,7 +128,6 @@ else
fi
OPTS="$OPTS -Dlibdir=lib"
-buildtype=debugoptimized
sanitizer=
if [ "$ASAN" = "true" ]; then
sanitizer=${sanitizer:+$sanitizer,}address
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 10/11] devtools: test different build types
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (8 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 09/11] ci: fix debug build type Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 11/11] ci: check minsize build type in GHA Thomas Monjalon
2026-02-06 9:57 ` [PATCH v4 00/11] more build tests Thomas Monjalon
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Andrew Rybchenko, Bruce Richardson
All builds were of type debugoptimized.
It is kept only for builds having an ABI check.
Others will have the default build type (release),
except if specified differently as in the x86 generic build
which will be a test of the non-optimized debug build type.
Some static builds will test the minsize build type.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
devtools/test-meson-builds.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 867a0a9c0c..11e4be3f88 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -233,13 +233,15 @@ for c in gcc clang ; do
for s in static shared ; do
if [ $s = shared ] ; then
abicheck=ABI
+ buildtype=
stdatomic=-Denable_stdatomic=true
else
abicheck=skipABI # save time and disk space
+ buildtype='--buildtype=minsize'
stdatomic=-Denable_stdatomic=false
fi
export CC="$CCACHE $c"
- build build-$c-$s $c $abicheck $stdatomic --default-library=$s
+ build build-$c-$s $c $abicheck $buildtype $stdatomic --default-library=$s
unset CC
done
done
@@ -254,7 +256,7 @@ generic_isa='nehalem'
if ! check_cc_flags "-march=$generic_isa" ; then
generic_isa='corei7'
fi
-build build-x86-generic cc skipABI -Dcheck_includes=true \
+build build-x86-generic cc skipABI --buildtype=debug -Dcheck_includes=true \
-Dlibdir=lib -Dcpu_instruction_set=$generic_isa $use_shared
# 32-bit with default compiler
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH v4 11/11] ci: check minsize build type in GHA
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (9 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 10/11] devtools: test different build types Thomas Monjalon
@ 2026-02-05 21:27 ` Thomas Monjalon
2026-02-06 8:29 ` David Marchand
2026-02-06 9:57 ` [PATCH v4 00/11] more build tests Thomas Monjalon
11 siblings, 1 reply; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-05 21:27 UTC (permalink / raw)
To: dev; +Cc: david.marchand, Aaron Conole
In GitHub Actions, the build for Fedora with GCC is updated
to use the Meson build type "minsize".
This type may have some different requirements (or bugs),
so it is better for its maintenance to test it regularly in the CI.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
.ci/linux-build.sh | 2 ++
.github/workflows/build.yml | 2 ++
2 files changed, 4 insertions(+)
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index aac0bd3dc5..e0b914a142 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -85,6 +85,8 @@ buildtype=debugoptimized
if [ "$BUILD_DEBUG" = "true" ]; then
buildtype=debug
+elif [ "$BUILD_MINSIZE" = "true" ]; then
+ buildtype=minsize
fi
if [ "$BUILD_DOCS" = "true" ]; then
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ab140f885e..f0142efd3b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -325,6 +325,7 @@ jobs:
config:
- image: fedora:43
compiler: gcc
+ checks: minsize
- image: fedora:43
compiler: clang
@@ -362,6 +363,7 @@ jobs:
echo CCACHE_DIR=/root/.ccache >> ~/env
echo DEF_LIB=${{ matrix.config.library }} >> ~/env
echo STDATOMIC=false >> ~/env
+ echo BUILD_MINSIZE=${{ contains(matrix.config.checks, 'minsize') }} >> ~/env
- name: Load the cached image
run: |
docker load -i ~/.image/${{ matrix.config.image }}.tar
--
2.52.0
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [PATCH v4 02/11] mem: avoid hugepage path overflow
2026-02-05 21:27 ` [PATCH v4 02/11] mem: avoid hugepage path overflow Thomas Monjalon
@ 2026-02-06 8:12 ` David Marchand
2026-02-06 9:59 ` Thomas Monjalon
0 siblings, 1 reply; 44+ messages in thread
From: David Marchand @ 2026-02-06 8:12 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Anatoly Burakov
On Thu, 5 Feb 2026 at 22:30, Thomas Monjalon <thomas@monjalon.net> wrote:
> @@ -446,8 +447,14 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
> return 0;
> }
>
> - snprintf(hugedir_str, sizeof(hugedir_str),
> - "%s/%s", hpi->hugedir, eal_get_hugefile_prefix());
> + ret = asprintf(&hugedir_str, "%s/%s",
> + hpi->hugedir, eal_get_hugefile_prefix());
> + if (ret < 0) {
> + EAL_LOG(ERR, "%s(): failed to store hugepage path", __func__);
> + goto error;
On asprintf failure, hugedir_str content is undefined.
It is safer to reset hugedir_str to NULL before jumping to the error
label where free() is called.
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 09/11] ci: fix debug build type
2026-02-05 21:27 ` [PATCH v4 09/11] ci: fix debug build type Thomas Monjalon
@ 2026-02-06 8:23 ` David Marchand
0 siblings, 0 replies; 44+ messages in thread
From: David Marchand @ 2026-02-06 8:23 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, stable, Aaron Conole
On Thu, 5 Feb 2026 at 22:31, Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The debug build type was overridden by defining it to
> debugoptimized after debug was chosen based on an environment variable.
>
> Fixes: 918b6674b841 ("build: support Undefined Behavior Sanitizer")
> Cc: stable@dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Ugh.. probably a rebase issue on my side, I kept rebasing the ubsan
branch again and again...
Reviewed-by: David Marchand <david.marchand@redhat.com>
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 11/11] ci: check minsize build type in GHA
2026-02-05 21:27 ` [PATCH v4 11/11] ci: check minsize build type in GHA Thomas Monjalon
@ 2026-02-06 8:29 ` David Marchand
0 siblings, 0 replies; 44+ messages in thread
From: David Marchand @ 2026-02-06 8:29 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, Aaron Conole
On Thu, 5 Feb 2026 at 22:31, Thomas Monjalon <thomas@monjalon.net> wrote:
>
> In GitHub Actions, the build for Fedora with GCC is updated
> to use the Meson build type "minsize".
> This type may have some different requirements (or bugs),
> so it is better for its maintenance to test it regularly in the CI.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> .ci/linux-build.sh | 2 ++
> .github/workflows/build.yml | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index aac0bd3dc5..e0b914a142 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -85,6 +85,8 @@ buildtype=debugoptimized
>
> if [ "$BUILD_DEBUG" = "true" ]; then
> buildtype=debug
> +elif [ "$BUILD_MINSIZE" = "true" ]; then
> + buildtype=minsize
> fi
>
> if [ "$BUILD_DOCS" = "true" ]; then
> diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
> index ab140f885e..f0142efd3b 100644
> --- a/.github/workflows/build.yml
> +++ b/.github/workflows/build.yml
> @@ -325,6 +325,7 @@ jobs:
> config:
> - image: fedora:43
> compiler: gcc
> + checks: minsize
> - image: fedora:43
> compiler: clang
>
> @@ -362,6 +363,7 @@ jobs:
> echo CCACHE_DIR=/root/.ccache >> ~/env
> echo DEF_LIB=${{ matrix.config.library }} >> ~/env
> echo STDATOMIC=false >> ~/env
> + echo BUILD_MINSIZE=${{ contains(matrix.config.checks, 'minsize') }} >> ~/env
> - name: Load the cached image
> run: |
> docker load -i ~/.image/${{ matrix.config.image }}.tar
LGTM.
Note: the reason for this (ugly) manual filling of env is that we do
not use GHA support of containers.
At the time I added fedora containers, I had multiple occasions when
pulling the images resulted in failures (getting throttled).
Maybe things got better since then... I see OVS does use GHA support.
Any volunteer to reevaluate this?
--
David Marchand
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 00/11] more build tests
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
` (10 preceding siblings ...)
2026-02-05 21:27 ` [PATCH v4 11/11] ci: check minsize build type in GHA Thomas Monjalon
@ 2026-02-06 9:57 ` Thomas Monjalon
11 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-06 9:57 UTC (permalink / raw)
To: dev; +Cc: david.marchand
05/02/2026 22:27, Thomas Monjalon:
> While testing more build types, some errors occur.
>
> v5: add minsize and fix debug build types in GHA
> fix new warnings with minsize and debug builds
> v4: fix new warnings with minsize
> v3: fix minsize build with GCC
> v2: fix init of var buildtype
>
> Thomas Monjalon (11):
> mem: check fbarray name truncation in secondary process
> mem: avoid hugepage path overflow
> argparse: fix minsize build
> mldev: fix minsize build
> bus/pci: fix minsize build
> power/intel_pstate: fix minsize build
> net/bnxt/tf_ulp: fix minsize build
> net/iavf: fix minsize build
> ci: fix debug build type
> devtools: test different build types
> ci: check minsize build type in GHA
Applied with the fix for the undefined behaviour of asprintf.
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH v4 02/11] mem: avoid hugepage path overflow
2026-02-06 8:12 ` David Marchand
@ 2026-02-06 9:59 ` Thomas Monjalon
0 siblings, 0 replies; 44+ messages in thread
From: Thomas Monjalon @ 2026-02-06 9:59 UTC (permalink / raw)
To: David Marchand; +Cc: dev, Anatoly Burakov
06/02/2026 09:12, David Marchand:
> On Thu, 5 Feb 2026 at 22:30, Thomas Monjalon <thomas@monjalon.net> wrote:
> > @@ -446,8 +447,14 @@ find_numasocket(struct hugepage_file *hugepg_tbl, struct hugepage_info *hpi)
> > return 0;
> > }
> >
> > - snprintf(hugedir_str, sizeof(hugedir_str),
> > - "%s/%s", hpi->hugedir, eal_get_hugefile_prefix());
> > + ret = asprintf(&hugedir_str, "%s/%s",
> > + hpi->hugedir, eal_get_hugefile_prefix());
> > + if (ret < 0) {
> > + EAL_LOG(ERR, "%s(): failed to store hugepage path", __func__);
> > + goto error;
>
> On asprintf failure, hugedir_str content is undefined.
> It is safer to reset hugedir_str to NULL before jumping to the error
> label where free() is called.
You're right, I do this small change:
if (ret < 0) {
EAL_LOG(ERR, "%s(): failed to store hugepage path", __func__);
+ hugedir_str = NULL;
goto error;
}
^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2026-02-06 10:00 UTC | newest]
Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-12 21:53 [dpdk-dev] [PATCH] devtools: test different build types Thomas Monjalon
2021-05-21 15:03 ` David Marchand
2021-07-23 20:26 ` Andrew Rybchenko
2021-08-02 22:45 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 0/5] more build tests Thomas Monjalon
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 1/5] net/qede: fix minsize build Thomas Monjalon
2021-08-09 5:15 ` [dpdk-dev] [EXT] " Devendra Singh Rawat
2021-08-09 7:11 ` Rasesh Mody
2021-09-15 15:16 ` David Marchand
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 2/5] regex/mlx5: " Thomas Monjalon
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 3/5] vdpa/mlx5: " Thomas Monjalon
2021-08-09 6:43 ` Matan Azrad
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 4/5] test/crypto: " Thomas Monjalon
2021-08-11 8:48 ` Ruifeng Wang
2021-08-08 12:51 ` [dpdk-dev] [PATCH v3 5/5] devtools: test different build types Thomas Monjalon
2024-08-15 16:26 ` Stephen Hemminger
2021-09-15 20:27 ` [dpdk-dev] [PATCH v3 0/5] more build tests Ferruh Yigit
2021-09-16 7:05 ` David Marchand
2026-01-28 11:58 ` [PATCH v4 0/4] " Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 1/4] bus/pci: fix unmap on failure in multi-process Thomas Monjalon
2026-01-28 14:11 ` Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 2/4] argparse: fix minsize build Thomas Monjalon
2026-01-29 1:35 ` fengchengwen
2026-01-28 11:58 ` [PATCH v4 3/4] mldev: " Thomas Monjalon
2026-01-28 11:58 ` [PATCH v4 4/4] devtools: test different build types Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 00/11] more build tests Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 01/11] mem: check fbarray name truncation in secondary process Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 02/11] mem: avoid hugepage path overflow Thomas Monjalon
2026-02-06 8:12 ` David Marchand
2026-02-06 9:59 ` Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 03/11] argparse: fix minsize build Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 04/11] mldev: " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 05/11] bus/pci: " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 06/11] power/intel_pstate: " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 07/11] net/bnxt/tf_ulp: " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 08/11] net/iavf: " Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 09/11] ci: fix debug build type Thomas Monjalon
2026-02-06 8:23 ` David Marchand
2026-02-05 21:27 ` [PATCH v4 10/11] devtools: test different build types Thomas Monjalon
2026-02-05 21:27 ` [PATCH v4 11/11] ci: check minsize build type in GHA Thomas Monjalon
2026-02-06 8:29 ` David Marchand
2026-02-06 9:57 ` [PATCH v4 00/11] more build tests Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox