All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
@ 2018-05-30  2:45 Gavin Hu
  2018-05-30  8:32 ` Thomas Monjalon
  0 siblings, 1 reply; 5+ messages in thread
From: Gavin Hu @ 2018-05-30  2:45 UTC (permalink / raw)
  To: Bruce Richardson, Thomas Monjalon; +Cc: dev



> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday, May 29, 2018 11:00 PM
> To: Thomas Monjalon <thomas@monjalon.net>
> Cc: Gavin Hu <Gavin.Hu@arm.com>; dev@dpdk.org
> Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v2 1/2] mk: fix cross build
> errors
>
> On Tue, May 29, 2018 at 04:45:55PM +0200, Thomas Monjalon wrote:
> > 28/05/2018 15:24, Bruce Richardson:
> > > Would a simpler solution for this not be to put "-Wno-implicit-
> fallthrough"
> > > for pmdinfogen? GCC will not give a warning for an unrecognised "-Wno"
> > > flag when compiling, unless there are other errors. This means we
> > > can just use the flag without bothering with version checks.
> >
> > No, it does not work.
> > I have this error with clang 5.0.1:
> >     error: unknown warning option '-Wno-format-truncation'
> >
> Yes, you still need to check for GCC to use the flag, just not for a specific
> version of GCC.
>
> /Bruce
[Gavin Hu] Hi Thomas, '-Wno-format-truncation' is applied to gcc only, not to clang.
Gcc, icc and clang have their own WERROR_FLAGS, they should not mix up with each other.

@Bruce,
Yes, in this sense, I am really concerned about to add -Wno-implicit-fallthrough option in the pmdinfogen Makefile, as it impacts not only gcc, but also clang and icc.
Maybe this not a best solution, as maybe it is not supported by all compilers. So should I fall back to the previous patch which check for the gcc version and apply the options for gcc only?

toolchain/clang/rte.vars.mk:38:WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
toolchain/clang/rte.vars.mk:39:WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
toolchain/clang/rte.vars.mk:40:WERROR_FLAGS += -Wnested-externs -Wcast-qual
toolchain/clang/rte.vars.mk:41:WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
toolchain/clang/rte.vars.mk:42:WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
toolchain/clang/rte.vars.mk:45:WERROR_FLAGS += -Werror
toolchain/clang/rte.vars.mk:52:WERROR_FLAGS += -Wno-missing-field-initializers
toolchain/clang/rte.vars.mk:56:WERROR_FLAGS += -Wno-address-of-packed-member
toolchain/gcc/rte.vars.mk:46:WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
toolchain/gcc/rte.vars.mk:47:WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
toolchain/gcc/rte.vars.mk:48:WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
toolchain/gcc/rte.vars.mk:49:WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
toolchain/gcc/rte.vars.mk:50:WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
toolchain/gcc/rte.vars.mk:53:WERROR_FLAGS += -Werror
toolchain/gcc/rte.vars.mk:59:WERROR_FLAGS += -Wno-error=cast-align
toolchain/gcc/rte.vars.mk:67:WERROR_FLAGS += -Wno-missing-field-initializers
toolchain/gcc/rte.vars.mk:71:WERROR_FLAGS += -Wno-uninitialized
toolchain/gcc/rte.vars.mk:76:WERROR_FLAGS += -Wimplicit-fallthrough=2
toolchain/gcc/rte.vars.mk:78:WERROR_FLAGS += -Wno-format-truncation

I tried at my side with clang-3.5 on X86 and clang-6.0 on ARM64. The buildings were successful. Unfortunately I did not have clang-5.0 machines.
clang -Wp,-MD,./.pmdinfogen.o.d.tmp  -Wno-implicit-fallthrough -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Werror -Wno-missing-field-initializers -g -I/home/gavin/community/dpdk/build/include    -o pmdinfogen.o -c /home/gavin/community/dpdk/buildtools/pmdinfogen/pmdinfogen.c

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
  2018-05-30  2:45 [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors Gavin Hu
@ 2018-05-30  8:32 ` Thomas Monjalon
  2018-05-30  9:41   ` Gavin Hu
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Monjalon @ 2018-05-30  8:32 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Bruce Richardson, dev

30/05/2018 04:45, Gavin Hu:
> From: Bruce Richardson <bruce.richardson@intel.com>
> > On Tue, May 29, 2018 at 04:45:55PM +0200, Thomas Monjalon wrote:
> > > 28/05/2018 15:24, Bruce Richardson:
> > > > Would a simpler solution for this not be to put "-Wno-implicit-
> > fallthrough"
> > > > for pmdinfogen? GCC will not give a warning for an unrecognised "-Wno"
> > > > flag when compiling, unless there are other errors. This means we
> > > > can just use the flag without bothering with version checks.
> > >
> > > No, it does not work.
> > > I have this error with clang 5.0.1:
> > >     error: unknown warning option '-Wno-format-truncation'
> > >
> > Yes, you still need to check for GCC to use the flag, just not for a specific
> > version of GCC.
> >
> > /Bruce
> [Gavin Hu] Hi Thomas, '-Wno-format-truncation' is applied to gcc only, not to clang.
> Gcc, icc and clang have their own WERROR_FLAGS, they should not mix up with each other.

Now I understand what we missed from the beginning: I am testing with meson.
This flag is added unconditionnaly in config/meson.build.

> @Bruce,
> Yes, in this sense, I am really concerned about to add -Wno-implicit-fallthrough option in the pmdinfogen Makefile, as it impacts not only gcc, but also clang and icc.
> Maybe this not a best solution, as maybe it is not supported by all compilers. So should I fall back to the previous patch which check for the gcc version and apply the options for gcc only?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
  2018-05-30  8:32 ` Thomas Monjalon
@ 2018-05-30  9:41   ` Gavin Hu
  2018-05-30 10:18     ` Thomas Monjalon
  0 siblings, 1 reply; 5+ messages in thread
From: Gavin Hu @ 2018-05-30  9:41 UTC (permalink / raw)
  To: Thomas Monjalon, Bruce Richardson; +Cc: dev



> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, May 30, 2018 4:32 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: Bruce Richardson <bruce.richardson@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v5 1/2] mk: fix cross build
> errors
>
> 30/05/2018 04:45, Gavin Hu:
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > > On Tue, May 29, 2018 at 04:45:55PM +0200, Thomas Monjalon wrote:
> > > > 28/05/2018 15:24, Bruce Richardson:
> > > > > Would a simpler solution for this not be to put "-Wno-implicit-
> > > fallthrough"
> > > > > for pmdinfogen? GCC will not give a warning for an unrecognised "-
> Wno"
> > > > > flag when compiling, unless there are other errors. This means
> > > > > we can just use the flag without bothering with version checks.
> > > >
> > > > No, it does not work.
> > > > I have this error with clang 5.0.1:
> > > >     error: unknown warning option '-Wno-format-truncation'
> > > >
> > > Yes, you still need to check for GCC to use the flag, just not for a
> > > specific version of GCC.
> > >
> > > /Bruce
> > [Gavin Hu] Hi Thomas, '-Wno-format-truncation' is applied to gcc only, not
> to clang.
> > Gcc, icc and clang have their own WERROR_FLAGS, they should not mix up
> with each other.
>
> Now I understand what we missed from the beginning: I am testing with
> meson.
> This flag is added unconditionnaly in config/meson.build.

[Gavin Hu] Hi Thomas and Bruce, then do you have more comments on the v5 patch?
Any comments are welcome, if no, can you act the patches for merging?

>
> > @Bruce,
> > Yes, in this sense, I am really concerned about to add -Wno-implicit-
> fallthrough option in the pmdinfogen Makefile, as it impacts not only gcc, but
> also clang and icc.
> > Maybe this not a best solution, as maybe it is not supported by all
> compilers. So should I fall back to the previous patch which check for the gcc
> version and apply the options for gcc only?
>
>

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
  2018-05-30  9:41   ` Gavin Hu
@ 2018-05-30 10:18     ` Thomas Monjalon
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2018-05-30 10:18 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Bruce Richardson, dev

30/05/2018 11:41, Gavin Hu:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 30/05/2018 04:45, Gavin Hu:
> > > From: Bruce Richardson <bruce.richardson@intel.com>
> > > > On Tue, May 29, 2018 at 04:45:55PM +0200, Thomas Monjalon wrote:
> > > > > 28/05/2018 15:24, Bruce Richardson:
> > > > > > Would a simpler solution for this not be to put "-Wno-implicit-
> > > > fallthrough"
> > > > > > for pmdinfogen? GCC will not give a warning for an unrecognised "-
> > Wno"
> > > > > > flag when compiling, unless there are other errors. This means
> > > > > > we can just use the flag without bothering with version checks.
> > > > >
> > > > > No, it does not work.
> > > > > I have this error with clang 5.0.1:
> > > > >     error: unknown warning option '-Wno-format-truncation'
> > > > >
> > > > Yes, you still need to check for GCC to use the flag, just not for a
> > > > specific version of GCC.
> > > >
> > > > /Bruce
> > > [Gavin Hu] Hi Thomas, '-Wno-format-truncation' is applied to gcc only, not
> > to clang.
> > > Gcc, icc and clang have their own WERROR_FLAGS, they should not mix up
> > with each other.
> >
> > Now I understand what we missed from the beginning: I am testing with
> > meson.
> > This flag is added unconditionnaly in config/meson.build.
> 
> [Gavin Hu] Hi Thomas and Bruce, then do you have more comments on the v5 patch?
> Any comments are welcome, if no, can you act the patches for merging?

Of course we have comments!
I keep telling you that compilation is not working.
Try meson compilation: devtools/test-meson-builds.sh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
  2018-05-29 10:43   ` [PATCH v5 1/2] mk: fix cross build errors Gavin Hu
@ 2018-05-29 15:09     ` Thomas Monjalon
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2018-05-29 15:09 UTC (permalink / raw)
  To: Gavin Hu; +Cc: stable, dev

29/05/2018 12:43, Gavin Hu:
> --- a/buildtools/pmdinfogen/Makefile
> +++ b/buildtools/pmdinfogen/Makefile
> -HOST_CFLAGS += $(WERROR_FLAGS) -g
> +HOST_CFLAGS += -Wno-implicit-fallthrough $(WERROR_FLAGS) -g

There is a compilation error with clang. Please see this comment:
	http://dpdk.org/ml/archives/dev/2018-May/103136.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-05-30 10:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-30  2:45 [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors Gavin Hu
2018-05-30  8:32 ` Thomas Monjalon
2018-05-30  9:41   ` Gavin Hu
2018-05-30 10:18     ` Thomas Monjalon
  -- strict thread matches above, loose matches on Subject: below --
2018-05-29  7:21 [PATCH v4 0/2] *** cross gcc fix and guide doc *** Gavin Hu
2018-05-29 10:43 ` [PATCH v5 0/2] *** cross gcc compile fix and add a " Gavin Hu
2018-05-29 10:43   ` [PATCH v5 1/2] mk: fix cross build errors Gavin Hu
2018-05-29 15:09     ` [dpdk-stable] " Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.