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 01C25A04E0 for ; Wed, 27 Nov 2019 11:00:25 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B838C1B948; Wed, 27 Nov 2019 11:00:24 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00084.outbound.protection.outlook.com [40.107.0.84]) by dpdk.org (Postfix) with ESMTP id 24B735596; Wed, 27 Nov 2019 11:00:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QkFP+0sepFAFwMI5l/Ikydg1G8HFxqVwmSGYkoynolU=; b=kaE74+/HfsJIirrOQpyHObrjURtKuMe8Z6fCN0UjqV/w0iupWPJoyzN4H8BofaMxFVo0gsx94Y3NgMhUbcSmQ9nLrjAkp+VZxpwQDl9QtyTEBCg5lA+5BLsqoc27ywuOm8T2739xqoxfcf+w6xoJzgQg7yLsjyKKJ02q5SiqLQs= Received: from VI1PR08CA0198.eurprd08.prod.outlook.com (2603:10a6:800:d2::28) by VI1PR08MB3824.eurprd08.prod.outlook.com (2603:10a6:803:bf::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.21; Wed, 27 Nov 2019 10:00:20 +0000 Received: from AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::207) by VI1PR08CA0198.outlook.office365.com (2603:10a6:800:d2::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.19 via Frontend Transport; Wed, 27 Nov 2019 10:00:20 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT015.mail.protection.outlook.com (10.152.16.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17 via Frontend Transport; Wed, 27 Nov 2019 10:00:19 +0000 Received: ("Tessian outbound 37db47aaea47:v33"); Wed, 27 Nov 2019 10:00:18 +0000 X-CR-MTA-TID: 64aa7808 Received: from 9c2b4804af92.2 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.10.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id D50711F4-F3F1-49A1-AD72-42884306B834.1; Wed, 27 Nov 2019 10:00:13 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03lp2059.outbound.protection.outlook.com [104.47.10.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9c2b4804af92.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 27 Nov 2019 10:00:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IRQpSAsoUcnOwZz8kCITwRhmxjyvvTrNZfdAlPdg+vyFeb+At2ASo4/5Vb7F9Tvub56DQkyQ/Yn5FARPt6odgt3JO6WUZXxlinUGfuX6oHzeYQgmovJUSB1agFznxVDDq8UNVNoN87tpi9qI1+2hlDd9lXGV4ADtlXZCOtIVMSxeQ3kJQ9a89ZCmPvHxiOTO7Pzl02ZVulrYkMC+v8jMJnoLVxAZPa846cIVzr/c4RHZ0qjPI0k7YWSsJfI7AuL00/8Scfa7VIE6gGojE73XWGVkWcS76ZsbUh9sJwG5M1C9Mdgi3Ymk4wtbjFKmoR3AzOMMSL0UO03z4K7mXy4pVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QkFP+0sepFAFwMI5l/Ikydg1G8HFxqVwmSGYkoynolU=; b=VbPnkaubAwob8cJqnURYY3sAsNWfmCTh0sZCrwEIOBM1Cj+rGw6dsRJte0mb+OIlWLRS3PjOuAo44RH8qJQUnHq57sLz87jn/OkwBDxb6iof5bglYGPkaL0Kd4VRNqhyQ10Qvtbd0QWWzis+nc0lXfhEXog/R78AV3qnQ+uzRiWIv5p5wEpEmBfSgxubK3bzH7QefnGqHtst0xWWjquJHYZ2w3baJzoDnO8bbQqxW4sueDt7y2org7r2h4r2L8Wh06S6v5ph4IZX7H2T4irF5iXXnkepezWbMJhch3Xd7JB2gN8X66jUmbOA5J86wrsuGrOlYOvGn4rcQfOrOGPfnQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QkFP+0sepFAFwMI5l/Ikydg1G8HFxqVwmSGYkoynolU=; b=kaE74+/HfsJIirrOQpyHObrjURtKuMe8Z6fCN0UjqV/w0iupWPJoyzN4H8BofaMxFVo0gsx94Y3NgMhUbcSmQ9nLrjAkp+VZxpwQDl9QtyTEBCg5lA+5BLsqoc27ywuOm8T2739xqoxfcf+w6xoJzgQg7yLsjyKKJ02q5SiqLQs= Received: from VE1PR08MB4640.eurprd08.prod.outlook.com (10.255.27.75) by VE1PR08MB4703.eurprd08.prod.outlook.com (10.255.27.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.21; Wed, 27 Nov 2019 10:00:10 +0000 Received: from VE1PR08MB4640.eurprd08.prod.outlook.com ([fe80::3d2a:e5be:952e:541a]) by VE1PR08MB4640.eurprd08.prod.outlook.com ([fe80::3d2a:e5be:952e:541a%6]) with mapi id 15.20.2474.023; Wed, 27 Nov 2019 10:00:10 +0000 From: "Phil Yang (Arm Technology China)" To: Bruce Richardson 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" , nd Thread-Topic: [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on armhf architercture Thread-Index: AQHVmH1n1zu49GwJzkuulAXqP/uuj6eG2hnQgAAyrgCAAAQxQIAWtGIAgAD1YfCAAB6igIAABjPg Date: Wed, 27 Nov 2019 10:00:10 +0000 Message-ID: References: <1573468461-25972-1-git-send-email-phil.yang@arm.com> <3677391.EzyCDiKdWj@xps> <5285313.iaM3IdUqkp@xps> <20191127092931.GA1158@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20191127092931.GA1158@bricha3-MOBL.ger.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 4db7411f-fc36-41d3-a528-692d71457ab0.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Phil.Yang@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9f83aee2-c9fa-48de-6084-08d773209ca5 X-MS-TrafficTypeDiagnostic: VE1PR08MB4703:|VE1PR08MB4703:|VI1PR08MB3824: X-MS-Exchange-PUrlCount: 1 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; x-forefront-prvs: 023495660C X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(39860400002)(366004)(346002)(396003)(189003)(199004)(13464003)(55236004)(256004)(446003)(11346002)(6436002)(71200400001)(71190400001)(3846002)(6116002)(14444005)(6306002)(52536014)(33656002)(229853002)(7736002)(305945005)(9686003)(5660300002)(6246003)(55016002)(66946007)(99286004)(64756008)(66476007)(66446008)(66556008)(76116006)(74316002)(7696005)(966005)(66066001)(86362001)(76176011)(54906003)(81156014)(81166006)(316002)(102836004)(6506007)(186003)(26005)(14454004)(478600001)(25786009)(4326008)(6916009)(53546011)(2906002)(8936002)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4703; H:VE1PR08MB4640.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: KHZ4MvsO2ltlyGqcTX8nxuv5lsLA5pJpcQAZLSoTlknNPvEK87nS2cwylOW9vJeJzssbjIfBY0G+TcX9kKcS/5uH+Q/zeB48NEo03J0TSLKoKeidH+pqGdm1RI5YTQdmiV0o7uaeICDSso9ah8NMCx3Kn2ueh9hUvmpO8jXPOldazf1rTxK4NEwmhEiJmECpLT4TznFGMovcaRknfqUTbIPfbVV5AxLlxaEjb/pqtRcAeGf15kcxdpJ0yl1hjm/4GqCr+Fu/j0w8b37f/eRNZcihbGbBqL11IS/XnRLMAbAEEJf9MoCKQeC/5mCPf1ejpG1w99uQ9DqoKzizrzxkWktNZ/Yek17B7ss1rwMxljMoXixhcLNuHam01bMayvGfh9biTzQi2wpanCo5TfDi2e2dq64B0H7uaTgSGZfsDB6z10lgb4T5E7By15LFTZG5dvFQiN1LEC04cJ6NzlV4rrv7SB8rDucZEVu0CF5qpRM= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4703 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Phil.Yang@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT015.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(376002)(346002)(396003)(199004)(189003)(13464003)(3846002)(86362001)(4326008)(316002)(5660300002)(36906005)(81166006)(6246003)(2906002)(450100002)(14454004)(76130400001)(356004)(54906003)(446003)(11346002)(66066001)(14444005)(305945005)(22756006)(336012)(47776003)(7736002)(52536014)(8676002)(70206006)(70586007)(6116002)(229853002)(102836004)(33656002)(25786009)(106002)(6306002)(81156014)(966005)(8746002)(76176011)(53546011)(9686003)(6506007)(99286004)(6862004)(74316002)(97756001)(26826003)(26005)(50466002)(23726003)(8936002)(7696005)(186003)(55016002)(478600001)(46406003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB3824; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 6249fb4b-50bc-4b11-4398-08d77320971b NoDisclaimer: True X-Forefront-PRVS: 023495660C X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hg/iv/Uqgx1qE74RzYlfZ1Umo/MGAsISPjh07mtxW6smkJm0SCK5PtRxUexiI5hVw1qunvpIwNIIJP4kusmJvue7XQgxLBXpAvx7tmDqZgsuJLAAjAA1nBQqx0mDdyFvISjfURzuV3yeGMvsLzUO6TGFAkluDkpJ1odaUW8PUOK352v5ncRfrZmYCi6Gqj45u6e0yJeAtAkqj+A75fnNWvYdTomB79gPZa7jD3933eClYNTlyJ/AfMCWAYZU/ewGQIZGMDTRfCiQEZ/hnOBaD6fTiGB7aJRa10UnUhOusxVQf5ArjntyB7ban+x/l4d1t7UeSeD/k/VXs8NF3ZV794e+T+faq+Yxzg20zCefvgqm9h7Qx0IOukhRhXsZH3nwDjFxixmsqL44hnw3+SYo34pZF74QwDowhvfec72WTAH52SLwOQqFJxGb3JVMiojAL5S+cZ0xfPccSIX3pNjbuwJ+S4fzyd1fIlyImqzdGKs= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2019 10:00:19.9445 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9f83aee2-c9fa-48de-6084-08d773209ca5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3824 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on armhf architercture X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" > -----Original Message----- > From: Bruce Richardson > Sent: Wednesday, November 27, 2019 5:30 PM > 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 > Subject: Re: [dpdk-dev] [PATCH 1/2] mk: fix unsupported flag error on arm= hf > architercture >=20 > 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 erro= r > 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 f= or the > > > armhf > > > > > > > > architecture doesn't support the flag '-Wno-address-of-pack= ed- > > > > > 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 +=3D -Wno-format- > truncation > > > > > > > > endif > > > > > > > > > > > > > > > > # disable packed member unalign warnings > > > > > > > > +ifneq ($(CONFIG_RTE_ARCH_ARM), y) > > > > > > > > WERROR_FLAGS +=3D -Wno-address-of-packed-member > > > > > > > > +endif > > > > > > > > > > > > > > > You don't need to do this, as gcc will not complain about thi= s > unknown > > > > > flag > > > > > > > unless you have other issues in your code.[1] I think it's be= tter to > > > keep > > > > > the > > > > > > > code clean in this case, otherwise we'll have the code litter= ed 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 -W= no- > > > 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 f= or > > > > > 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 lo= t 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 ca= se, 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 issu= e yet. > > > > > > > > Can you confirm which compiler is it? > > > > Please check the packet information dumped below, it is the latest vers= ion > 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=3Darm-linux-gnueabihf- T=3Darm-armv7a-linuxapp-gcc > RTE_DEVEL_BUILD=3Dy >=20 > 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. Thanks, Bruce.=20 There is no compiling issue for the non-developer build and "-Wno-error" fl= ag build.