DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 01/10] mk: adjust gcc flags for new gcc 7 warnings
Date: Fri, 5 May 2017 10:42:13 +0100	[thread overview]
Message-ID: <20170505094213.GA42716@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <20170504093808.12ea9c07@xeon-e3>

On Thu, May 04, 2017 at 09:38:08AM -0700, Stephen Hemminger wrote:
> On Thu,  4 May 2017 16:38:13 +0100
> Bruce Richardson <bruce.richardson@intel.com> wrote:
> 
> > There are two new warnings in GCC 7 that cause problems in the DPDK
> > compile.
> > 
> > 1. GCC now warns if you have a switch fall-through without a suitable
> > comment indicating that it was intentional. The compiler supports a number
> > of levels of warning which are triggered depending on the type of message
> > used, with level 3 being the default. To accept a wider range of possible
> > fall-through messages, we adjust this down to level 2.
> > 
> > 2. GCC also warns about an snprintf where there may be truncation and the
> > return value is not checked. Given that we often use snprintf in DPDK in
> > place of strncpy, and in many cases where truncation is not a problem, we
> > can just disable this particular warning.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  mk/toolchain/gcc/rte.vars.mk | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
> > index 5caa600..3834e00 100644
> > --- a/mk/toolchain/gcc/rte.vars.mk
> > +++ b/mk/toolchain/gcc/rte.vars.mk
> > @@ -99,5 +99,12 @@ ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
> >  WERROR_FLAGS += -Wno-uninitialized
> >  endif
> >  
> > +ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
> > +# Tell GCC only to error for switch fallthroughs without a suitable comment
> > +WERROR_FLAGS += -Wimplicit-fallthrough=2
> > +# Ignore errors for snprintf truncation
> > +WERROR_FLAGS += -Wno-format-truncation
> > +endif
> > +
> >  export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
> >  export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
> 
> Please fix the code not neuter  warnings

As much as is possible I agree. However, for these two warnings:

1. the implicit fallthrough warning is not disabled, it's just adjusted
to allow a wider range of comments for fall-through to be accepted. The
rest of the set implements fixes for a number of these warnings in the
code.

2. for the format truncation warning, ideally, yes we should fix the
code, except that I don't believe this is feasible in the short term,
and I also don't believe it is desirable. We extensively use snprintf
because it has sane/safe truncation, and in many cases we don't care if
it is being truncated. Therefore disabling the warning seems the best
approach to me. Furthermore, if we want 17.05 to compile with GCC 7,
this is the best option within that timeframe.

Regards,
/Bruce

  reply	other threads:[~2017-05-05  9:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-04 15:38 [dpdk-dev] [PATCH 00/10] Enable DPDK core build with gcc 7 Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 01/10] mk: adjust gcc flags for new gcc 7 warnings Bruce Richardson
2017-05-04 16:38   ` Stephen Hemminger
2017-05-05  9:42     ` Bruce Richardson [this message]
2017-05-05 10:02       ` Thomas Monjalon
2017-05-05 10:20         ` Bruce Richardson
2017-05-05 12:18         ` Van Haaren, Harry
2017-05-04 15:38 ` [dpdk-dev] [PATCH 02/10] drivers/net: disable new gcc 7 warnings for base code Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 03/10] net/bnx2x: fix warnings about switch fall-through Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 04/10] net/ixgbe: fix gcc 7 warning for switch fallthrough Bruce Richardson
2017-05-05  0:46   ` Lu, Wenzhuo
2017-05-04 15:38 ` [dpdk-dev] [PATCH 05/10] net/vmxnet3: fix compile error with gcc 7 Bruce Richardson
2017-05-04 16:39   ` Stephen Hemminger
2017-05-04 15:38 ` [dpdk-dev] [PATCH 06/10] lib: fix gcc 7 warnings for switch fall-through Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 07/10] net: fix missing break inside conditional compile block Bruce Richardson
2017-05-05  9:28   ` Singh, Jasvinder
2017-05-04 15:38 ` [dpdk-dev] [PATCH 08/10] app/testpmd: document explicit switch fall-through Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 09/10] test/test: fix missing break in switch Bruce Richardson
2017-05-04 15:38 ` [dpdk-dev] [PATCH 10/10] test/test: fix gcc 7 compiler error Bruce Richardson
2017-05-05 16:38 ` [dpdk-dev] [PATCH 00/10] Enable DPDK core build with gcc 7 Thomas Monjalon

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=20170505094213.GA42716@bricha3-MOBL3.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    /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).