From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4CB24A04E0; Wed, 27 Nov 2019 10:29:39 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2B8905B3E; Wed, 27 Nov 2019 10:29:39 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id E5D215B32; Wed, 27 Nov 2019 10:29:37 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2019 01:29:36 -0800 X-IronPort-AV: E=Sophos;i="5.69,248,1571727600"; d="scan'208";a="203014567" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.46]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 27 Nov 2019 01:29:34 -0800 Date: Wed, 27 Nov 2019 09:29:31 +0000 From: Bruce Richardson To: "Phil Yang (Arm Technology China)" Cc: "thomas@monjalon.net" , "dev@dpdk.org" , "david.marchand@redhat.com" , "jerinj@marvell.com" , Honnappa Nagarahalli , "Gavin Hu (Arm Technology China)" , "Joyce Kong (Arm Technology China)" , nd , "stable@dpdk.org" Message-ID: <20191127092931.GA1158@bricha3-MOBL.ger.corp.intel.com> References: <1573468461-25972-1-git-send-email-phil.yang@arm.com> <3677391.EzyCDiKdWj@xps> <5285313.iaM3IdUqkp@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) Subject: Re: [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on armhf architercture X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Nov 27, 2019 at 08:09:22AM +0000, Phil Yang (Arm Technology China) wrote: > > -----Original Message----- > > From: Thomas Monjalon > > Sent: Wednesday, November 27, 2019 1:02 AM > > To: Phil Yang (Arm Technology China) > > Cc: dev@dpdk.org; Bruce Richardson ; > > david.marchand@redhat.com; jerinj@marvell.com; Honnappa Nagarahalli > > ; Gavin Hu (Arm Technology China) > > ; Joyce Kong (Arm Technology China) > > ; nd ; stable@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on armhf > > architercture > > > > 12/11/2019 07:40, Phil Yang (Arm Technology China): > > > > -----Original Message----- > > > > From: Thomas Monjalon > > > > Sent: Tuesday, November 12, 2019 2:03 PM > > > > To: Phil Yang (Arm Technology China) > > > > Cc: Bruce Richardson ; dev@dpdk.org; > > > > david.marchand@redhat.com; jerinj@marvell.com; Honnappa > > Nagarahalli > > > > ; Gavin Hu (Arm Technology China) > > > > ; Joyce Kong (Arm Technology China) > > > > ; nd ; stable@dpdk.org > > > > Subject: Re: [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on > > armhf > > > > architercture > > > > > > > > 12/11/2019 06:25, Phil Yang (Arm Technology China): > > > > > From: Bruce Richardson > > > > > > On Mon, Nov 11, 2019 at 06:34:20PM +0800, Phil Yang wrote: > > > > > > > The older version (e.g. version 7.4.0 ) of GNU C compiler for the > > armhf > > > > > > > architecture doesn't support the flag '-Wno-address-of-packed- > > > > member', > > > > > > > so remove this flag for aarch32. > > > > > > > > > > > > > > Fixes: a385972c3675 ("mk: disable warning for packed member > > pointer") > > > > > > > Cc: stable@dpdk.org > > > > > > > > > > > > > > Signed-off-by: Phil Yang > > > > > > > Reviewed-by: Gavin Hu > > > > > > > Tested-by: Joyce Kong > > > > > > > > > > > > > > --- > > > > > > > mk/toolchain/gcc/rte.vars.mk | 2 ++ > > > > > > > 1 file changed, 2 insertions(+) > > > > > > > > > > > > > > diff --git a/mk/toolchain/gcc/rte.vars.mk > > > > b/mk/toolchain/gcc/rte.vars.mk > > > > > > > index 9fc7041..ec0cbbf 100644 > > > > > > > --- a/mk/toolchain/gcc/rte.vars.mk > > > > > > > +++ b/mk/toolchain/gcc/rte.vars.mk > > > > > > > @@ -100,7 +100,9 @@ WERROR_FLAGS += -Wno-format-truncation > > > > > > > endif > > > > > > > > > > > > > > # disable packed member unalign warnings > > > > > > > +ifneq ($(CONFIG_RTE_ARCH_ARM), y) > > > > > > > WERROR_FLAGS += -Wno-address-of-packed-member > > > > > > > +endif > > > > > > > > > > > > > You don't need to do this, as gcc will not complain about this unknown > > > > flag > > > > > > unless you have other issues in your code.[1] I think it's better to > > keep > > > > the > > > > > > code clean in this case, otherwise we'll have the code littered with > > > > > > conditionals for various flags. > > > > > > > > > > > > /Bruce > > > > > > > > > > > > [1] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html > > > > > > "When an unrecognized warning option is requested (e.g., > > > > > > -Wunknown-warning), GCC emits a diagnostic stating that the option > > is > > > > not > > > > > > recognized. However, if the -Wno- form is used, the behavior is > > slightly > > > > > > different: no diagnostic is produced for -Wno-unknown-warning > > unless > > > > other > > > > > > diagnostics are being produced. This allows the use of new -Wno- > > options > > > > > > with old compilers, but if something goes wrong, the compiler warns > > that > > > > an > > > > > > unrecognized option is present." > > > > > > > > > > Thanks, Bruce. > > > > > > > > > > There are thousands of warnings with alignment when compiling for > > > > ARMv7 (ARMv7 supports unaligned memory access). > > > > > Without this new flag, the build system works fine for ARMv7. So I add > > this > > > > conditional for ARMv7 only. > > > > > I agree with you we should clean up the code, but it needs a lot of > > effort to > > > > achieve that. > > > > > This patch is going to make the ARMv7 target build successfully during > > this > > > > period. > > > > > > > > I would go the opposite direction. > > > > I think we should remove all warnings disablement like "-Wno- > > something", > > > > and clean the code. > > > > > > Thanks, Thomas. > > > > > > I think it is a compiler issue rather than a code defect in this case, as It > > cannot recognize the '-Waddress-of-packed-member' flag. > > > "arm-linux-gnueabihf-gcc: error: unrecognized command line option '- > > Waddress-of-packed-member'" > > > > > > > > > > > If you want to allow building ARMv7, you can just allow warnings as not > > > > errors. > > > > So we will still see something is wrong but it won't prevent from building. > > > > > > Yes. We did this already, all the alignment issues are emitted as warnings > > on ARMv7. > > > Please see these two commits: > > > 79fa5c2a9992 ("mk: ignore alignment errors for ARMv7") > > > 6433c19105e8 ("mk: generalize strict alignment warning handling") > > > > I don't know what to do with this patch. > > I think it is not how it should work, > > but you say your compiler has a real bug. > Agree with you, however I haven't found a better solution for this issue yet. > > > > > Can you confirm which compiler is it? > > Please check the packet information dumped below, it is the latest version in Ubuntu 18.04 LTS. > $ sudo apt show gcc-arm-linux-gnueabihf > Package: gcc-arm-linux-gnueabihf > Version: 4:7.4.0-1ubuntu2.3 > Priority: optional > Section: devel > Source: gcc-defaults (1.176ubuntu2.3) > Origin: Ubuntu > > > Does it prevent to compile even with -Wno-error ? > Yes, it does. I put one piece of the compiling log bellow. Please take a look. > > $ make -j1 CROSS=arm-linux-gnueabihf- T=arm-armv7a-linuxapp-gcc RTE_DEVEL_BUILD=y RTE_DEVEL_BUILD turns on -Werror, while what Thomas is asking about is using the opposite flag "-Wno-error". Can you do a non-developer build or put "-Wno-error" in EXTRA_CFLAGS to test this. /Bruce