buildtools: allow pedantic empty pmdinfo
Checks
Commit Message
If a driver has no info generated by pmdinfogen,
and if this driver is compiled as pedantic,
then an failure would occur:
drivers/rte_common_mlx5.pmd.c:1: error:
ISO C forbids an empty translation unit [-Werror=pedantic]
Such error is triggered with the new mlx5 common directory.
In order to allow an "empty driver info" compiled in pedantic mode,
the script generating .pmd.c file is modified to add a static string
unconditionnaly.
The minimal generated code is:
static __attribute__((unused)) const char *generator =
"/path/to/dpdk/buildtools/gen-pmdinfo-cfile.sh";
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
buildtools/gen-pmdinfo-cfile.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Wed, Feb 05, 2020 at 06:07:23PM +0100, Thomas Monjalon wrote:
> If a driver has no info generated by pmdinfogen,
> and if this driver is compiled as pedantic,
> then an failure would occur:
> drivers/rte_common_mlx5.pmd.c:1: error:
> ISO C forbids an empty translation unit [-Werror=pedantic]
> Such error is triggered with the new mlx5 common directory.
>
> In order to allow an "empty driver info" compiled in pedantic mode,
> the script generating .pmd.c file is modified to add a static string
> unconditionnaly.
> The minimal generated code is:
> static __attribute__((unused)) const char *generator =
> "/path/to/dpdk/buildtools/gen-pmdinfo-cfile.sh";
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
LGTM
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
05/02/2020 18:14, Bruce Richardson:
> On Wed, Feb 05, 2020 at 06:07:23PM +0100, Thomas Monjalon wrote:
> > If a driver has no info generated by pmdinfogen,
> > and if this driver is compiled as pedantic,
> > then an failure would occur:
> > drivers/rte_common_mlx5.pmd.c:1: error:
> > ISO C forbids an empty translation unit [-Werror=pedantic]
> > Such error is triggered with the new mlx5 common directory.
> >
> > In order to allow an "empty driver info" compiled in pedantic mode,
> > the script generating .pmd.c file is modified to add a static string
> > unconditionnaly.
> > The minimal generated code is:
> > static __attribute__((unused)) const char *generator =
> > "/path/to/dpdk/buildtools/gen-pmdinfo-cfile.sh";
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
> LGTM
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks, it will allow pulling next-net
without breaking debug compilation for the new ABI tooling.
@@ -6,7 +6,8 @@ arfile=$1
output=$2
pmdinfogen=$3
-echo > $output
+# The generated file must not be empty if compiled in pedantic mode
+echo 'static __attribute__((unused)) const char *generator = "'$0'";' > $output
for ofile in `ar t $arfile` ; do
ar p $arfile $ofile | $pmdinfogen - - >> $output 2> /dev/null
done