DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Cc: dev@dpdk.org, Alexey Marchuk <alexeymar@mellanox.com>
Subject: Re: [PATCH 1/2] meson/mlx5: Suppress -Wunused-value diagnostic
Date: Sun, 13 Oct 2024 14:16:11 -0700	[thread overview]
Message-ID: <20241013141611.0468b324@hermes.local> (raw)
In-Reply-To: <20240412111317.3530529-1-sebastian.brzezinka@intel.com>

On Fri, 12 Apr 2024 13:13:16 +0200
Sebastian Brzezinka <sebastian.brzezinka@intel.com> wrote:

> From: Alexey Marchuk <alexeymar@mellanox.com>
> 
> mlx5 common library checks if several symbols/definitions
> are presented in system header files. If some are not
> presented, they will be enabled by mlx5_glue library.
> The problem appears with clang and '-Werror' - code
> generated by meson is not compiled due to unused variable:
> 
> Code:
> 
>         #include <infiniband/mlx5dv.h>
>         int main(void) {
>             /* If it's not defined as a macro, try to use as a symbol */
>             #ifndef mlx5dv_create_flow_action_packet_reformat
>                 mlx5dv_create_flow_action_packet_reformat;
>             #endif
>             return 0;
>         }
> Compiler stdout:
> 
> Compiler stderr:
>  /hpc/local/work/alexeymar/repo/spdk/dpdk/build-tmp/meson-private/tmp5obnak86/testfile.c:6:17: error: expression result unused [-Werror,-Wunused-value]
>                 mlx5dv_create_flow_action_packet_reformat;
>                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> As result, almost all symbols are enabled in mlx5_glue while
> they exist is system headers. As result, we get multiple
> symbols redefenitions when we compile mlx5_common.
> As a solution for this problem we can suppress
> -Wunused-vaurable using pragma
> 
> DPDK 23.11 note:
> Starting with commit below, all cflags are passed to the has_header_symbol().
> (33d6694) build: use C11 standard
> To make sure that the symbol is properly detected, the pedantic flags needs to
> be removed.
> 
> Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
> Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
> ---
>  drivers/common/mlx5/linux/meson.build | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
> index cdee40c553..f3b8e5741b 100644
> --- a/drivers/common/mlx5/linux/meson.build
> +++ b/drivers/common/mlx5/linux/meson.build
> @@ -209,7 +209,11 @@ if  libmtcr_ul_found
>  endif
>  
>  foreach arg:has_sym_args
> -    mlx5_config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], dependencies: libs, args: cflags))
> +    file_prefix = '#pragma clang diagnostic ignored "-Wunused-value"'
> +    cflags += [
> +            '-Wno-pedantic',
> +    ]
> +    mlx5_config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], prefix : file_prefix, dependencies: libs, args: cflags))
>  endforeach
>  foreach arg:has_member_args
>      file_prefix = '#include <' + arg[1] + '>'


Sigh, never liked that mlx5 decided to use pedantic unlike other drivers.
And the build process for this driver has become more baroque and unique compared
to all the other drivers in DPDK. What value to the user is this complexity?

      parent reply	other threads:[~2024-10-13 21:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-12 11:13 Sebastian Brzezinka
2024-04-12 11:13 ` [PATCH 2/2] ARM64: Cross-Compilation Support Sebastian Brzezinka
2024-04-16  3:05   ` Jerin Jacob
2024-05-23 12:26     ` Sebastian Brzezinka
2024-05-23 12:34       ` Jerin Jacob
2024-10-13 21:16 ` Stephen Hemminger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241013141611.0468b324@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=alexeymar@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=sebastian.brzezinka@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).