From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.9310.1593391782181133730 for ; Sun, 28 Jun 2020 17:49:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=u3Bz8YnD; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: chasel.chiu@intel.com) IronPort-SDR: kBJ+Rnp4bKWHHTRfgi8Z8iN0IXhhuGXYy0S15d3w+ZTR+gKkQ/UwwqzrySmyFs6caQEXsHPKmH 16AnOMtgZnXw== X-IronPort-AV: E=McAfee;i="6000,8403,9666"; a="145884976" X-IronPort-AV: E=Sophos;i="5.75,293,1589266800"; d="scan'208";a="145884976" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2020 17:49:40 -0700 IronPort-SDR: ESTyiwadE/bzmybxQdB5cVxCLv4/UY4x3eFdTRbbqaqniyRidlXbFP/YVSCVqoAhlV5xvn2KPl tEA9j42wEIqA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,293,1589266800"; d="scan'208";a="264692802" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga007.fm.intel.com with ESMTP; 28 Jun 2020 17:49:40 -0700 Received: from fmsmsx104.amr.corp.intel.com (10.18.124.202) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 28 Jun 2020 17:49:38 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 28 Jun 2020 17:49:37 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.57) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 28 Jun 2020 17:49:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hk7J4+2yfJ1az+dInT50iioISwmOE23Dk3lhHLFv9xdjzEd8OpnVs5/4ATHWyUyZNDbSuruf7b0W2C9UZV6npV34YFOgPwQCli/UAFXjKsAWrjPMG6DjbFCxKTFU/xevtviUJM8dxH0tEPMD8zZGM8SUhjRQ309El6V1J45D6F1D7XoyQaVdnpH/a7XkuHe4k70CCv4bkxwN3DbMTmWqlaX+02u3Z+o79h/MGqMyhONmvTwWBPBCXtlJXbwx+WThwhobTxggZ8EOhNpfWx0X3DU+Dz2xsR+y7k205iyte16Yd6WpSZpqvAq0zliB5Eznr3vCGM5TTKgMWyX6Cr3LNQ== 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=u3hIQ3ylUOfQy9ZH/kLNDNyLuLHMgbsmGttg3YoFtNo=; b=ew4vI5dexpAZrD0hHD1LfV620DKZJC4rse6Ci7LRtGmL4r4he49GrCvBCvggCF9eYopjr5jZlLvmPXP0kHuyubRfQkjEB1onF7sGHGWvIVHm6nD+dNjZ1A1prYx80mFabddX+1zkjCmTAw3m+tFU674y53k0bynB3dV4pGSQbclUbKTsxEW/9SPxeGk3YsHW+Xi+FAD65ouTZTWzyIrAUDuTNQsL72VpwcwxlHxCuZgkpgZ/5ko2QTjHiIM+glcqXuYYXX70RNTLmZtzCerv/z/ldQDM3CmGbSjEJNuug7PC5qYbsI8uuW6jq3swVjXbdXnMxkd19CO640YeulEVTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u3hIQ3ylUOfQy9ZH/kLNDNyLuLHMgbsmGttg3YoFtNo=; b=u3Bz8YnDhvqGD1YgazmL+Rgj66Q1Wz9g8++BR/dx4isWFiOZHtZzZMaqUmX9nFMIc+Wh3nqK1QBokLCDBD46q5yjS5UGUHKKrjXq9qPEzuxyMa+b8w77lAB8eMXEuc/MyxQssWwpTX0vah46mLsYFyvf2IGGElxZnxGr+BmAXXM= Received: from SN6PR11MB2814.namprd11.prod.outlook.com (2603:10b6:805:55::15) by SN6PR11MB2991.namprd11.prod.outlook.com (2603:10b6:805:db::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.21; Mon, 29 Jun 2020 00:49:31 +0000 Received: from SN6PR11MB2814.namprd11.prod.outlook.com ([fe80::d5f4:f51f:3a70:5017]) by SN6PR11MB2814.namprd11.prod.outlook.com ([fe80::d5f4:f51f:3a70:5017%3]) with mapi id 15.20.3131.026; Mon, 29 Jun 2020 00:49:31 +0000 From: "Chiu, Chasel" To: "Tan, Ming" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Zeng, Star" Subject: Re: [PATCH 1/1] IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about parse macro Thread-Topic: [PATCH 1/1] IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about parse macro Thread-Index: AQHWTRjfDE8Nb7PraUiU64muoicPe6juxAUg Date: Mon, 29 Jun 2020 00:49:30 +0000 Message-ID: References: <20200628065335.6134-1-ming.tan@intel.com> In-Reply-To: <20200628065335.6134-1-ming.tan@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 27fe5032-36c3-420b-85cc-08d81bc648cd x-ms-traffictypediagnostic: SN6PR11MB2991: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3383; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: klHDpiJhJoROyDpdCnsLDQT+Inyz02Eq8tmS/xcysi1k6mBuboC4fzC2CyuEhKbZnZcZqy7Z9aajKrRgeWYsHQ+gBBSMTn19L7nwxjwXpQxk+TjirGGhb+TWnU7MiN+Wa8DvRp7VFUPSnkIlmWTwQt5HMsxRxAsGMm08soF9BsXgc2bWuai9BWKVtgKx4sSs4QhhudAgGFN816QT+drBqSMAfM93kHtUVA8K9QxwJHPoay0Hi6Nxi944X/F0KnL6btwZCkDHaVkByNECbKNe5ZEeU1MoWhWo5vC+nacZNm0kuWR01vDiZLPSnkGHnelSN1qD+DflKZpoekvzYuKcSnYQLX5RQ5DvO0WNou46FWMDV+I8lc6d1tClkS/A+UewgI+KeAkrG1k8LljMZ0yUjw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2814.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(66946007)(66476007)(5660300002)(66446008)(478600001)(64756008)(66556008)(54906003)(2906002)(8676002)(52536014)(83380400001)(55016002)(8936002)(53546011)(76116006)(4326008)(6506007)(7696005)(9686003)(316002)(86362001)(19627235002)(110136005)(26005)(33656002)(966005)(71200400001)(107886003)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 9h03IHVgrMyVmSpHN1pxKzeXL6RJTBlenP9Cl2lj3gw0jZMwrIWFk0s3fM3q24KLlNXQNnsh7Zk0ntaiPr8yvv363QokWt096fk6+6D5p+KaVYXVsAYZ8QwPMgP+5rRmjApWWGgPpn1PtW5G0Sv6x8tVrrbMlfqsC1zwC1jH3tjeE7yqRc5aj903ri0NDjAIyfYQr1pBo2g2f5Vbiv9zHxt10PZGC7SVilFmjwUmaQg7FKio7d4M7bCyLL3oEuSQoXcSLuj8mi02xlaiHZkTbYWnGkT/T6Qj4CdXF/kH1vS4l5IjZgU00j/+Zqy9G5UY5gp9SLnGBWDN42IVx58BYlZPEG2ksMHDr/aUWhuwXv29in2S0IOsqiYpKgWySoJ1XVFfT+0yLA/q/PHzCQHHOgR9QKI47XL7DvwrHt9TAu0pHepNDxejbeNvXFUqunqznZVsfiMFcAyoGDIicqhvqPVKyGjOo7bOHCuUbFW0cA9bTk0vRJ5U+XgM3tl0y+Sq MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2814.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27fe5032-36c3-420b-85cc-08d81bc648cd X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 00:49:31.0139 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: fKyrOUSOnCGb2kOHuXJDZ7YZ4Y26gSAf615xGWvikMWH+xuzloigVBUQonOSCSNmztd1UVjiSbwT1Wj124dJ6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2991 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Chasel Chiu > -----Original Message----- > From: Tan, Ming > Sent: Sunday, June 28, 2020 2:54 PM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Zeng, Star > Subject: [PATCH 1/1] IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about par= se > macro >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2827 >=20 > Fix a bug about parse the macro value which use another macro. >=20 > Use the following example to verify: > [Define] > DEFINE M1 =3D V1 > DEFINE M2 =3D $(M1)/V2 >=20 > !include $(M2)/pcd.dsc >=20 > The old code will failed parse M2 and cause following error: > Traceback (most recent call last): > File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 1550, in > sys.exit(Main()) > File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 1513, in Main > if GenCfgOpt.ParseDscFile(DscFile, FvDir) !=3D 0: > File "Edk2\IntelFsp2Pkg\Tools\GenCfgOpt.py", line 533, in ParseDscFile > NewDscLines =3D IncludeDsc.readlines() > ValueError: I/O operation on closed file. >=20 > The tool should support the value use another macro, and expand it. >=20 > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Star Zeng > Signed-off-by: Ming Tan > --- > IntelFsp2Pkg/Tools/GenCfgOpt.py | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) >=20 > diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py > b/IntelFsp2Pkg/Tools/GenCfgOpt.py index e6c15108f5c5..e9de128e5055 > 100644 > --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py > +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py > @@ -546,11 +546,11 @@ EndList > #DEFINE FSP_T_UPD_TOOL_GUID =3D > 34686CA3-34F9-4901-B82A-BA630F0714C6 > #DEFINE FSP_M_UPD_TOOL_GUID =3D > 39A250DB-E465-4DD1-A2AC-E2BD3C0E2385 > #DEFINE FSP_S_UPD_TOOL_GUID =3D > CAE3605B-5B34-4C85-B3D7-27D54273C40F > - Match =3D > re.match("^\s*(?:DEFINE\s+)*(\w+)\s*=3D\s*([-.\w]+)", DscLine) > + Match =3D > + re.match("^\s*(?:DEFINE\s+)*(\w+)\s*=3D\s*([/$()-.\w]+)", DscLine) > if Match: > - self._MacroDict[Match.group(1)] =3D Match.group(2) > + self._MacroDict[Match.group(1)] =3D > + self.ExpandMacros(Match.group(2)) > if self.Debug: > - print ("INFO : DEFINE %s =3D [ %s ]" % > (Match.group(1), Match.group(2))) > + print ("INFO : DEFINE %s =3D [ %s ]" % > + (Match.group(1), self.ExpandMacros(Match.group(2)))) > elif IsPcdSect: > #gSiPkgTokenSpaceGuid.PcdTxtEnable|FALSE > #gSiPkgTokenSpaceGuid.PcdOverclockEnable|TRUE > -- > 2.24.0.windows.2