* [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
* 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] [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] [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
* [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
* 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
* [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
* 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] [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
* [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
* 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
* [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] [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
* 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
* [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
* 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
* [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
* 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 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
* [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
* 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 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
* [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
* 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
* [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 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
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