From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2055.outbound.protection.outlook.com [40.107.237.55]) by sourceware.org (Postfix) with ESMTPS id 21E0238930F1 for ; Fri, 24 Apr 2020 11:48:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 21E0238930F1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=AlokKumar.Sharma@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZX8PYkxrXTEjk6WeGJaIct4Y+CVpUmL7kiNAT5eYI9aPTMmU/b8CF++WUkATCllTMiK3dFmwT1QeH/lWIiv5qMztd2cokTdFie9d6vQjhS06sasSD290LqGbWxVTYmHt6zWnryHMJTJq1H59a0GbVYBRgy+xIFreiK423B6yWX2UYbNrGF1oHcRy1hn2Bvw9NUxkmMeDKgiPz2jq5vdaUzgVC0mmrcItcVTkude8UTxxVgPTtU0pIfjntDfRoCkqEoP7+aBwj8CJE+SDwXA2UCOcYvyRd7p8suRwxpVmyPExbuCy28rOe+IenE56X5KghPYcTrGGfICTpH0Q58PaVg== 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=Zy/VT69wlkK9qUgUbGaxzKTKULzzqu434X2t573ut7s=; b=ZJ/V164LOGlSugS+vgDgz+K1ksPgkSHHWnm+ciJPPCO6MxoSJU4IsKx+XvkuBiJc57pBxArwc5SngO/pmskUmWxZ3Fv0+WtC4V8SrMdlDweHCZsaiYDYxgejCJ6YDnRu2UBtWei67Vj0MVBaVtrczfwWxSPNAEBJ2K3FF+po/vf7E0iz0axE1oQCxte2o95SyU1W9sJHzX66EUX4J9+NJSZYeLfi0mjl16nTvG89cIlRx6af8CFV0mRMVSicR3Bcd4fsKy/fYoqUjSGp+LwV26EcWUWQxaHO0U/AuvX9k1qFXMd3NyT3Mxd5Es8O4pgup/XqTNBSui1j6JbcwGDiwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zy/VT69wlkK9qUgUbGaxzKTKULzzqu434X2t573ut7s=; b=NMCCBnbzjwIRREglFKghYyObsZQBX5UlvIscrR/K3ggEw8TEigLiMkBshtKVIF62hkd4oHUdExpAFvOQUoH2rP47OhJua4VlHI/+XnvFlpueMeR9eL/xY0lwzN/GGPtqBRksVdZqJ9HktQj6ZjHEknMCv7HRABZx9GbF5HTqxf0= Received: from BY5PR12MB3859.namprd12.prod.outlook.com (2603:10b6:a03:1a8::31) by BY5PR12MB4290.namprd12.prod.outlook.com (2603:10b6:a03:20e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Fri, 24 Apr 2020 11:48:25 +0000 Received: from BY5PR12MB3859.namprd12.prod.outlook.com ([fe80::2591:731d:e067:9483]) by BY5PR12MB3859.namprd12.prod.outlook.com ([fe80::2591:731d:e067:9483%7]) with mapi id 15.20.2921.036; Fri, 24 Apr 2020 11:48:24 +0000 From: "Sharma, Alok Kumar" To: Andrew Burgess CC: "gdb-patches@sourceware.org" , "George, Jini Susan" , "Achra, Nitika" Subject: RE: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Topic: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Index: AdYaGoxVOtBbfA8rTdieLXSAzB7KHQABxBoAAAEIgIA= Date: Fri, 24 Apr 2020 11:48:24 +0000 Message-ID: References: <20200424101752.GB3522@embecosm.com> In-Reply-To: <20200424101752.GB3522@embecosm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Enabled=true; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SetDate=2020-04-24T10:47:30Z; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Method=Privileged; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_Name=Non-Business; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ActionId=0f7c643b-dc44-4629-8f08-00004d66aafd; MSIP_Label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_ContentBits=0 msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_enabled: true msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_setdate: 2020-04-24T11:48:19Z msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_method: Privileged msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_name: Non-Business msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_actionid: d4d856e3-837d-4e75-9181-00008aac608f msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=AlokKumar.Sharma@amd.com; x-originating-ip: [165.204.158.249] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 948bebcd-7148-47c3-a41e-08d7e8456572 x-ms-traffictypediagnostic: BY5PR12MB4290:|BY5PR12MB4290: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03838E948C x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB3859.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(346002)(39860400002)(136003)(396003)(366004)(53546011)(99936003)(4326008)(26005)(52536014)(66946007)(76116006)(2906002)(9686003)(186003)(64756008)(30864003)(478600001)(66556008)(55016002)(54906003)(71200400001)(8936002)(5660300002)(86362001)(33656002)(81156014)(66476007)(8676002)(66446008)(7696005)(6916009)(316002)(6506007)(66616009)(579004)(559001); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ff+YXcYtsBk2bXVEpeoOqqSmwSJZvrW5KwkI7XPJLZ1YvBueL9SAWBfOgLS4Pv095EP2fhdGMoryqln6oJSVF9yyAugju8w7jH5suuxNlMs4S6L8gV+3ubiWuWtrvmuVHpEJoCbbreZ9lqFfgcheoc3Ujpx7qz+ZpzWKusXAqRNYq1XHKYn1aCbeGFEqBfRRg0Xe4ni/iK5RLaWXTkUJX6ZIkfBlfDUnqDw66xtCxZ9lS8YE+NDSXAELyTx9R1SvmVeVf8GLK2Opt/+RPlzKkfB4Idi05Ug6EVLRJWpMgpAHIIXCLGItyyB+Xda9XT9REo0kJHpJyR3b7bDsRyg1tV5on0cpw8lWVdR+eKxMYAk5+mvutxAwhz9tqVpq8zOjjGTCsHfEwv6SrMCZQWTr+6QWcPB722x/ZSgfUOcCUx9u+Yd4QJewU5qDSEX3iT3J2K0BTQ0lk1c8+pB+zUZrgY4EW9Ge4izb5xQERgGegk9xbiHByNgOYt10JC5E2BN5mEXZ2pM9/IGivPr8uL8rxQ== x-ms-exchange-antispam-messagedata: tgWGIDMDLqFwZX5p+o5CeEi+nOQgA+y80BHEtPu9EgmqK7/9v0bmJXM05bZXs3t1L8p+mjerdqBMwI7oSRjJNr0czuk95kjLk7czJ/FxGlrg5y9cC/rOwlKeCxEJPmTJVSRkWN4Pc9Kowwh5vV91dg== Content-Type: multipart/mixed; boundary="_002_BY5PR12MB3859DEE66C9AE41E7CF40F429ED00BY5PR12MB3859namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 948bebcd-7148-47c3-a41e-08d7e8456572 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2020 11:48:24.4756 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rCx4DDxFVZgDiDpDIOsjEg1Oe0/2EUAE9OasXIvD7XmXbyYR5AYMv56FX/+228kZ1xvhrMoYFx/G21HIdV6Sfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4290 X-Spam-Status: No, score=-18.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LOTSOFHASH, RCVD_IN_ABUSEAT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Apr 2020 11:48:32 -0000 --_002_BY5PR12MB3859DEE66C9AE41E7CF40F429ED00BY5PR12MB3859namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Andrew, Thanks a lot for your review comments. I have incorporated your comments in updated patch attached. Below are the = details. - Removed unrelated changes in gdb/testsuite/gdb.dwarf2/dw2-common-block.e= xp, Will upload as separate patch. - Overridden runto_main in lib/fortran.exp to handle fortran main. - updated gdb/testsuite/Changelog accordingly. gdb/testsuite/ChangeLog * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, proc runto_main is overloaded to handle fortran main function. * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_. * gdb.fortran/array-bounds.exp: Likewise. * gdb.fortran/array-slices.exp: Likewise. * gdb.fortran/block-data.exp: Likewise. * gdb.fortran/charset.exp: Likewise. * gdb.fortran/common-block.exp: Likewise. * gdb.fortran/complex.exp: Likewise. * gdb.fortran/derived-type-function.exp: Likewise. * gdb.fortran/derived-type.exp: Likewise. * gdb.fortran/info-modules.exp: Likewise. * gdb.fortran/info-types.exp: Likewise. * gdb.fortran/intrinsics.exp: Likewise. * gdb.fortran/library-module.exp: Likewise. * gdb.fortran/logical.exp: Likewise. * gdb.fortran/max-depth.exp: Likewise. * gdb.fortran/module.exp: Likewise. * gdb.fortran/multi-dim.exp: Likewise. * gdb.fortran/nested-funcs.exp: Likewise. * gdb.fortran/print-formatted.exp: Likewise. * gdb.fortran/printing-types.exp: Likewise. * gdb.fortran/ptr-indentation.exp: Likewise. * gdb.fortran/ptype-on-functions.exp: Likewise. * gdb.fortran/subarray.exp: Likewise. * gdb.fortran/vla-alloc-assoc.exp: Likewise. * gdb.fortran/vla-history.exp: Likewise. * gdb.fortran/vla-ptr-info.exp: Likewise. * gdb.fortran/vla-sizeof.exp: Likewise. * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. * gdb.fortran/vla-value-sub-finish.exp: Likewise. * gdb.fortran/vla-value-sub.exp: Likewise. * gdb.fortran/vla-value.exp: Likewise. * gdb.fortran/whatis_type.exp: Likewise. * gdb.mi/mi-var-child-f.exp: Likewise. Please let me know any further comments. Regards, Alok -----Original Message----- From: Andrew Burgess =20 Sent: Friday, April 24, 2020 3:48 PM To: Sharma, Alok Kumar Cc: gdb-patches@sourceware.org; George, Jini Susan ; Achra, Nitika Subject: Re: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing [CAUTION: External Email] Hi, Thanks for look at this. * Sharma, Alok Kumar [2020-04-24 09:44:18 +0000]= : > [AMD Official Use Only - Internal Distribution Only] You may want to figure out how to disable this for external mail. > > Hi all, > > I request you all to please review this patch. Below are the details. > > Problem Description: > > Name of fortran main function for Flang compiler is MAIN_ while for=20 > gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for the=20 > purpose of inserting breakpoint. > (please note the number of underscores after MAIN) > > Resolution: > > New proc is added to detect main function name depending on the=20 > compiler used. Which is used in testcases. > > This commit adds support for Flang main function, there should be no=20 > change for gfortran. > > gdb/testsuite/ChangeLog > > * gdb.dwarf2/dw2-common-block.exp: Skip test except for gfort= ran, > as assembly file to be tested is generated by gfortran. > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN= _. > * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ > * gdb.fortran/array-bounds.exp: Likewise. > * gdb.fortran/array-slices.exp: Likewise. > * gdb.fortran/block-data.exp: Likewise. > * gdb.fortran/charset.exp: Likewise. > * gdb.fortran/common-block.exp: Likewise. > * gdb.fortran/complex.exp: Likewise. > * gdb.fortran/derived-type-function.exp: Likewise. > * gdb.fortran/derived-type.exp: Likewise. > * gdb.fortran/info-modules.exp: Likewise. > * gdb.fortran/info-types.exp: Likewise. > * gdb.fortran/intrinsics.exp: Likewise. > * gdb.fortran/library-module.exp: Likewise. > * gdb.fortran/logical.exp: Likewise. > * gdb.fortran/max-depth.exp: Likewise. > * gdb.fortran/module.exp: Likewise. > * gdb.fortran/multi-dim.exp: Likewise. > * gdb.fortran/nested-funcs.exp: Likewise. > * gdb.fortran/print-formatted.exp: Likewise. > * gdb.fortran/print_type.exp: Likewise. > * gdb.fortran/printing-types.exp: Likewise. > * gdb.fortran/ptr-indentation.exp: Likewise. > * gdb.fortran/ptype-on-functions.exp: Likewise. > * gdb.fortran/subarray.exp: Likewise. > * gdb.fortran/vla-alloc-assoc.exp: Likewise. > * gdb.fortran/vla-datatypes.exp: Likewise. > * gdb.fortran/vla-history.exp: Likewise. > * gdb.fortran/vla-ptr-info.exp: Likewise. > * gdb.fortran/vla-ptype-sub.exp: Likewise. > * gdb.fortran/vla-ptype.exp: Likewise. > * gdb.fortran/vla-sizeof.exp: Likewise. > * gdb.fortran/vla-type.exp: Likewise. > * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > * gdb.fortran/vla-value-sub-finish.exp: Likewise. > * gdb.fortran/vla-value-sub.exp: Likewise. > * gdb.fortran/vla-value.exp: Likewise. > * gdb.fortran/whatis_type.exp: Likewise. > * gdb.mi/mi-var-child-f.exp: Likewise. > > Please let me know your comments. > > Regards, > Alok > From 7c1667f2e074dc1e0d9a0336d9ec07da59124a72 Mon Sep 17 00:00:00 2001 > From: Alok Kumar Sharma > Date: Fri, 24 Apr 2020 14:46:09 +0530 > Subject: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing > > Name of fortran main function for Flang compiler is MAIN_ while for=20 > gfortran it is MAIN__ . In test cases MAIN__ is hardcoded for the=20 > purpose of inserting breakpoint. > > New proc is added to detect main function name depending on the=20 > compiler used. Which is used in testcases. > > This commit adds support for Flang main function, there should be no=20 > change for gfortran. > > gdb/testsuite/ChangeLog > > * gdb.dwarf2/dw2-common-block.exp: Skip test except for gfortran, > as assembly file to be tested is generated by gfortran. > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_. > * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ > * gdb.fortran/array-bounds.exp: Likewise. > * gdb.fortran/array-slices.exp: Likewise. > * gdb.fortran/block-data.exp: Likewise. > * gdb.fortran/charset.exp: Likewise. > * gdb.fortran/common-block.exp: Likewise. > * gdb.fortran/complex.exp: Likewise. > * gdb.fortran/derived-type-function.exp: Likewise. > * gdb.fortran/derived-type.exp: Likewise. > * gdb.fortran/info-modules.exp: Likewise. > * gdb.fortran/info-types.exp: Likewise. > * gdb.fortran/intrinsics.exp: Likewise. > * gdb.fortran/library-module.exp: Likewise. > * gdb.fortran/logical.exp: Likewise. > * gdb.fortran/max-depth.exp: Likewise. > * gdb.fortran/module.exp: Likewise. > * gdb.fortran/multi-dim.exp: Likewise. > * gdb.fortran/nested-funcs.exp: Likewise. > * gdb.fortran/print-formatted.exp: Likewise. > * gdb.fortran/print_type.exp: Likewise. > * gdb.fortran/printing-types.exp: Likewise. > * gdb.fortran/ptr-indentation.exp: Likewise. > * gdb.fortran/ptype-on-functions.exp: Likewise. > * gdb.fortran/subarray.exp: Likewise. > * gdb.fortran/vla-alloc-assoc.exp: Likewise. > * gdb.fortran/vla-datatypes.exp: Likewise. > * gdb.fortran/vla-history.exp: Likewise. > * gdb.fortran/vla-ptr-info.exp: Likewise. > * gdb.fortran/vla-ptype-sub.exp: Likewise. > * gdb.fortran/vla-ptype.exp: Likewise. > * gdb.fortran/vla-sizeof.exp: Likewise. > * gdb.fortran/vla-type.exp: Likewise. > * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > * gdb.fortran/vla-value-sub-finish.exp: Likewise. > * gdb.fortran/vla-value-sub.exp: Likewise. > * gdb.fortran/vla-value.exp: Likewise. > * gdb.fortran/whatis_type.exp: Likewise. > * gdb.mi/mi-var-child-f.exp: Likewise. > > Change-Id: I0a30f5dad684879b416f71d3d08c385c159325bf > --- > gdb/testsuite/ChangeLog | 44 +++++++++++++++++++ > gdb/testsuite/gdb.dwarf2/dw2-common-block.exp | 6 +++ > .../gdb.fortran/array-bounds-high.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-bounds.exp | 5 ++- > gdb/testsuite/gdb.fortran/array-slices.exp | 3 +- > gdb/testsuite/gdb.fortran/block-data.exp | 4 +- > gdb/testsuite/gdb.fortran/charset.exp | 6 ++- > gdb/testsuite/gdb.fortran/common-block.exp | 4 +- > gdb/testsuite/gdb.fortran/complex.exp | 5 ++- > .../gdb.fortran/derived-type-function.exp | 5 ++- > gdb/testsuite/gdb.fortran/derived-type.exp | 4 +- > gdb/testsuite/gdb.fortran/info-modules.exp | 4 +- > gdb/testsuite/gdb.fortran/info-types.exp | 4 +- > gdb/testsuite/gdb.fortran/intrinsics.exp | 4 +- > gdb/testsuite/gdb.fortran/library-module.exp | 5 ++- > gdb/testsuite/gdb.fortran/logical.exp | 5 ++- > gdb/testsuite/gdb.fortran/max-depth.exp | 4 +- > gdb/testsuite/gdb.fortran/module.exp | 6 +-- > gdb/testsuite/gdb.fortran/multi-dim.exp | 4 +- > gdb/testsuite/gdb.fortran/nested-funcs.exp | 4 +- > gdb/testsuite/gdb.fortran/print-formatted.exp | 4 +- > gdb/testsuite/gdb.fortran/print_type.exp | 2 +- > gdb/testsuite/gdb.fortran/printing-types.exp | 5 ++- =20 > gdb/testsuite/gdb.fortran/ptr-indentation.exp | 4 +- > .../gdb.fortran/ptype-on-functions.exp | 4 +- > gdb/testsuite/gdb.fortran/subarray.exp | 5 ++- > gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-datatypes.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-history.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-ptype.exp | 2 +- > gdb/testsuite/gdb.fortran/vla-sizeof.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-type.exp | 2 +- > .../gdb.fortran/vla-value-sub-arbitrary.exp | 3 +- > .../gdb.fortran/vla-value-sub-finish.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value-sub.exp | 3 +- > gdb/testsuite/gdb.fortran/vla-value.exp | 6 +-- > gdb/testsuite/gdb.fortran/whatis_type.exp | 4 +- > gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +- > gdb/testsuite/lib/fortran.exp | 16 +++++++ > 41 files changed, 148 insertions(+), 64 deletions(-) > > diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index=20 > 10683db566..e972f97fad 100644 > --- a/gdb/testsuite/ChangeLog > +++ b/gdb/testsuite/ChangeLog > @@ -1,3 +1,47 @@ > +2020-04-24 Alok Kumar Sharma > + > + * gdb.dwarf2/dw2-common-block.exp: Skip test except for gfortran, > + as assembly file to be tested is generated by gfortran. > + * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_. > + * gdb.fortran/array-bounds-high.exp: Handle flang MAIN_ > + * gdb.fortran/array-bounds.exp: Likewise. > + * gdb.fortran/array-slices.exp: Likewise. > + * gdb.fortran/block-data.exp: Likewise. > + * gdb.fortran/charset.exp: Likewise. > + * gdb.fortran/common-block.exp: Likewise. > + * gdb.fortran/complex.exp: Likewise. > + * gdb.fortran/derived-type-function.exp: Likewise. > + * gdb.fortran/derived-type.exp: Likewise. > + * gdb.fortran/info-modules.exp: Likewise. > + * gdb.fortran/info-types.exp: Likewise. > + * gdb.fortran/intrinsics.exp: Likewise. > + * gdb.fortran/library-module.exp: Likewise. > + * gdb.fortran/logical.exp: Likewise. > + * gdb.fortran/max-depth.exp: Likewise. > + * gdb.fortran/module.exp: Likewise. > + * gdb.fortran/multi-dim.exp: Likewise. > + * gdb.fortran/nested-funcs.exp: Likewise. > + * gdb.fortran/print-formatted.exp: Likewise. > + * gdb.fortran/print_type.exp: Likewise. > + * gdb.fortran/printing-types.exp: Likewise. > + * gdb.fortran/ptr-indentation.exp: Likewise. > + * gdb.fortran/ptype-on-functions.exp: Likewise. > + * gdb.fortran/subarray.exp: Likewise. > + * gdb.fortran/vla-alloc-assoc.exp: Likewise. > + * gdb.fortran/vla-datatypes.exp: Likewise. > + * gdb.fortran/vla-history.exp: Likewise. > + * gdb.fortran/vla-ptr-info.exp: Likewise. > + * gdb.fortran/vla-ptype-sub.exp: Likewise. > + * gdb.fortran/vla-ptype.exp: Likewise. > + * gdb.fortran/vla-sizeof.exp: Likewise. > + * gdb.fortran/vla-type.exp: Likewise. > + * gdb.fortran/vla-value-sub-arbitrary.exp: Likewise. > + * gdb.fortran/vla-value-sub-finish.exp: Likewise. > + * gdb.fortran/vla-value-sub.exp: Likewise. > + * gdb.fortran/vla-value.exp: Likewise. > + * gdb.fortran/whatis_type.exp: Likewise. > + * gdb.mi/mi-var-child-f.exp: Likewise. > + > 2020-04-23 Tom de Vries > > * gdb.base/decl-before-def.exp: Run to main and print a again. > diff --git a/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp=20 > b/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp > index 9bcf06b17f..cf41c6833f 100644 > --- a/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp > +++ b/gdb/testsuite/gdb.dwarf2/dw2-common-block.exp > @@ -30,6 +30,12 @@ if {[skip_fortran_tests]} { > return 0 > } > > +# Assembly file is generated using gfortran. > +# skip running for other compilers. > +if {![test_compiler_info {gcc-*}]} { > + return 0 > +} I don't think this change relates to the name of the main function, right? = So it should be split into a separate patch. > + > standard_testfile .S > > if { [prepare_for_testing "failed to prepare" "${testfile}" $srcfile=20 > \ diff --git a/gdb/testsuite/gdb.fortran/array-bounds-high.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > index 81e2f87b89..f1945b4112 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds-high.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds-high" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} = { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![runto $fmain]} { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-bounds.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds.exp > index 12bf5c2db3..be28ff6da9 100644 > --- a/gdb/testsuite/gdb.fortran/array-bounds.exp > +++ b/gdb/testsuite/gdb.fortran/array-bounds.exp > @@ -20,13 +20,14 @@ if { [skip_fortran_tests] } { return -1 } > > set testfile "array-bounds" > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} = { > return -1 > } > > -if {![runto MAIN__]} { > - perror "Could not run to breakpoint `MAIN__'." > +if {![runto $fmain]} { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-slices.exp=20 > b/gdb/testsuite/gdb.fortran/array-slices.exp > index 11997f926a..e91db62aa1 100644 > --- a/gdb/testsuite/gdb.fortran/array-slices.exp > +++ b/gdb/testsuite/gdb.fortran/array-slices.exp > @@ -21,13 +21,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile ".f90" > +load_lib fortran.exp > > if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \ > {debug f90}]} { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { Out of interest, how is this test even passing on gFortran? runto_main should place a breakpoint on 'main', and I can't see any obvious= special case handling for Fortran. And my main thought is that what we should do is override runto_main in lib= /fortran.exp, and then switch all of the test over to using that instead, t= his would be more consistent with how the C/C++ tests work then. Thanks, Andrew > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/block-data.exp=20 > b/gdb/testsuite/gdb.fortran/block-data.exp > index 292afe6c16..520f0d5d28 100644 > --- a/gdb/testsuite/gdb.fortran/block-data.exp > +++ b/gdb/testsuite/gdb.fortran/block-data.exp > @@ -30,8 +30,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfi= le {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - untested "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + untested "couldn't run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/charset.exp=20 > b/gdb/testsuite/gdb.fortran/charset.exp > index f0f62f8490..11ab9dfdf0 100644 > --- a/gdb/testsuite/gdb.fortran/charset.exp > +++ b/gdb/testsuite/gdb.fortran/charset.exp > @@ -19,12 +19,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > + > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {de= bug additional_flags=3D-fbackslash f90}] } { > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![runto $fmain] { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/common-block.exp=20 > b/gdb/testsuite/gdb.fortran/common-block.exp > index 19c1af0d81..2b74a18e75 100644 > --- a/gdb/testsuite/gdb.fortran/common-block.exp > +++ b/gdb/testsuite/gdb.fortran/common-block.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" ${testfile= } \ > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/complex.exp=20 > b/gdb/testsuite/gdb.fortran/complex.exp > index c092ab29f1..8ac81c1fcb 100644 > --- a/gdb/testsuite/gdb.fortran/complex.exp > +++ b/gdb/testsuite/gdb.fortran/complex.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90 quiet}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "Couldn't run to MAIN__" > +if ![runto $fmain] then { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type-function.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type-function.exp > index 1f0f957317..8a298f5f7b 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type-function.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type-function.exp > @@ -21,13 +21,14 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type.exp > index f1705bffd8..eddd985e59 100644 > --- a/gdb/testsuite/gdb.fortran/derived-type.exp > +++ b/gdb/testsuite/gdb.fortran/derived-type.exp > @@ -27,8 +27,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-modules.exp=20 > b/gdb/testsuite/gdb.fortran/info-modules.exp > index 0c3c6a58e1..9967803dcc 100644 > --- a/gdb/testsuite/gdb.fortran/info-modules.exp > +++ b/gdb/testsuite/gdb.fortran/info-modules.exp > @@ -28,8 +28,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![runto $fmain] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-types.exp=20 > b/gdb/testsuite/gdb.fortran/info-types.exp > index 2138937782..7f58740ed8 100644 > --- a/gdb/testsuite/gdb.fortran/info-types.exp > +++ b/gdb/testsuite/gdb.fortran/info-types.exp > @@ -27,8 +27,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= \ > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![runto $fmain] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/intrinsics.exp=20 > b/gdb/testsuite/gdb.fortran/intrinsics.exp > index 504bce4138..dca2d98cf4 100644 > --- a/gdb/testsuite/gdb.fortran/intrinsics.exp > +++ b/gdb/testsuite/gdb.fortran/intrinsics.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![runto $fmain] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/library-module.exp=20 > b/gdb/testsuite/gdb.fortran/library-module.exp > index f25988e32c..eb26551f4d 100644 > --- a/gdb/testsuite/gdb.fortran/library-module.exp > +++ b/gdb/testsuite/gdb.fortran/library-module.exp > @@ -40,9 +40,10 @@ if { [gdb_compile $srcdir/$subdir/$srcfile=20 > $binfile executable [list debug f90 clean_restart $testfile > > gdb_load_shlib $libfile > +load_lib fortran.exp > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/logical.exp=20 > b/gdb/testsuite/gdb.fortran/logical.exp > index 324714fa49..ef5954aaf9 100644 > --- a/gdb/testsuite/gdb.fortran/logical.exp > +++ b/gdb/testsuite/gdb.fortran/logical.exp > @@ -16,13 +16,14 @@ > # This file was written by Jan Kratochvil . > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90 quiet}]} { > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![runto $fmain] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/max-depth.exp=20 > b/gdb/testsuite/gdb.fortran/max-depth.exp > index 262d0fdfa1..52b5a24b98 100644 > --- a/gdb/testsuite/gdb.fortran/max-depth.exp > +++ b/gdb/testsuite/gdb.fortran/max-depth.exp > @@ -26,8 +26,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - perror "Could not run to breakpoint `MAIN__'." > +if { ![runto $fmain] } { > + perror "Could not run to breakpoint `$fmain'." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/module.exp=20 > b/gdb/testsuite/gdb.fortran/module.exp > index 1c269e2fed..9f5c79fba2 100644 > --- a/gdb/testsuite/gdb.fortran/module.exp > +++ b/gdb/testsuite/gdb.fortran/module.exp > @@ -29,8 +29,8 @@ gdb_test "p modmany::var_i" " =3D 14" "stopped language= detection" > > gdb_test "print mod1::var_const" " =3D 20" "fully qualified name of DW_T= AG_constant" > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > @@ -123,7 +123,7 @@ complete "modmany::var" $modmany_list #=20 > Breakpoint would work in language "c". > gdb_test "show language" {The current source language is "(auto;=20 > currently )?fortran".} > > -# gcc-4.4.2: The main program is always MAIN__ in .symtab so "runto"=20 > above > +# gcc-4.4.2: The main program is always $fmain in .symtab so "runto"=20 > +above > # works. But DWARF DW_TAG_subprogram contains the name specified by =20 > # the "program" Fortran statement. > if [gdb_breakpoint "module"] { > diff --git a/gdb/testsuite/gdb.fortran/multi-dim.exp=20 > b/gdb/testsuite/gdb.fortran/multi-dim.exp > index 05590914df..2567f166e2 100644 > --- a/gdb/testsuite/gdb.fortran/multi-dim.exp > +++ b/gdb/testsuite/gdb.fortran/multi-dim.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} {debug f90} > return -1 > } > > -if ![runto MAIN__] { > - perror "Couldn't run to MAIN__" > +if ![runto $fmain] { > + perror "Couldn't run to $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/nested-funcs.exp=20 > b/gdb/testsuite/gdb.fortran/nested-funcs.exp > index e4fc02ffa5..b68227cb5a 100755 > --- a/gdb/testsuite/gdb.fortran/nested-funcs.exp > +++ b/gdb/testsuite/gdb.fortran/nested-funcs.exp > @@ -25,8 +25,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/print-formatted.exp=20 > b/gdb/testsuite/gdb.fortran/print-formatted.exp > index 8c6529ce7f..cd12c6b3c4 100644 > --- a/gdb/testsuite/gdb.fortran/print-formatted.exp > +++ b/gdb/testsuite/gdb.fortran/print-formatted.exp > @@ -25,8 +25,8 @@ if { [prepare_for_testing "failed to prepare" $testfile= $srcfile {debug f90}] } > return -1 > } > > -if { ![runto MAIN__] } { > - fail "runto MAIN__" > +if { ![runto $fmain] } { > + fail "runto $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/print_type.exp=20 > b/gdb/testsuite/gdb.fortran/print_type.exp > index 7d5915390d..615c2be226 100755 > --- a/gdb/testsuite/gdb.fortran/print_type.exp > +++ b/gdb/testsuite/gdb.fortran/print_type.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} $= {srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/printing-types.exp=20 > b/gdb/testsuite/gdb.fortran/printing-types.exp > index 2c88f9e003..206cccd19b 100644 > --- a/gdb/testsuite/gdb.fortran/printing-types.exp > +++ b/gdb/testsuite/gdb.fortran/printing-types.exp > @@ -16,13 +16,14 @@ > if {[skip_fortran_tests]} { return -1 } > > standard_testfile .f90 > +load_lib fortran.exp > > if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} = { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "could not run to breakpoint MAIN__" > +if {![runto $fmain]} then { > + untested "could not run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptr-indentation.exp=20 > b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > index 285e24e2cc..bffd4983f0 100644 > --- a/gdb/testsuite/gdb.fortran/ptr-indentation.exp > +++ b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > @@ -22,8 +22,8 @@ if {[prepare_for_testing $testfile.exp $testfile $srcfi= le {debug f90}]} { > return -1 > } > > -if {![runto MAIN__]} then { > - untested "couldn't run to breakpoint MAIN__" > +if {![runto $fmain]} then { > + untested "couldn't run to breakpoint $fmain" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp=20 > b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > index d91e4bd48e..bf1f5d8637 100644 > --- a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > +++ b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp > @@ -24,8 +24,8 @@ if {[prepare_for_testing "failed to prepare" $testfile = $srcfile {debug f90}]} { > return -1 > } > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/subarray.exp=20 > b/gdb/testsuite/gdb.fortran/subarray.exp > index 5e3e8c38cb..c8aa5fe829 100644 > --- a/gdb/testsuite/gdb.fortran/subarray.exp > +++ b/gdb/testsuite/gdb.fortran/subarray.exp > @@ -21,6 +21,7 @@ > if { [skip_fortran_tests] } { return -1 } > > standard_testfile .f > +load_lib fortran.exp > > if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f= 90}]} { > return -1 > @@ -31,8 +32,8 @@ gdb_start > gdb_reinitialize_dir $srcdir/$subdir > gdb_load ${binfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp=20 > b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > index 5d8585c2ee..ba1ee8e58c 100644 > --- a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > +++ b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-datatypes.exp=20 > b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > index 2db9b3e110..b4c4b198c3 100644 > --- a/gdb/testsuite/gdb.fortran/vla-datatypes.exp > +++ b/gdb/testsuite/gdb.fortran/vla-datatypes.exp > @@ -24,7 +24,7 @@ if { [prepare_for_testing "failed to prepare"=20 > ${testfile} ${srcfile} \ # check that all fortran standard datatypes=20 > will be # handled correctly when using as VLA's > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-history.exp=20 > b/gdb/testsuite/gdb.fortran/vla-history.exp > index 24bd945f4a..aa38d5288c 100644 > --- a/gdb/testsuite/gdb.fortran/vla-history.exp > +++ b/gdb/testsuite/gdb.fortran/vla-history.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > index 24c7b45840..1538f689e2 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptr-info.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > index 09909e74b0..90455601e4 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp=20 > b/gdb/testsuite/gdb.fortran/vla-ptype.exp > index 22b2005317..39d00a32c2 100644 > --- a/gdb/testsuite/gdb.fortran/vla-ptype.exp > +++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp=20 > b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > index 8e7d36314e..c826d96eb9 100644 > --- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp > +++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp=20 > b/gdb/testsuite/gdb.fortran/vla-type.exp > index 6d885e7889..d9b66ff395 100755 > --- a/gdb/testsuite/gdb.fortran/vla-type.exp > +++ b/gdb/testsuite/gdb.fortran/vla-type.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > index ab61dde06f..a18b4e4209 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > index afd992cee4..a056fc2732 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value-sub.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > index 3311f6befa..e0a42260a4 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value-sub.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value-sub.exp > @@ -14,13 +14,14 @@ > # along with this program. If not, see . > > standard_testfile "vla-sub.f90" > +load_lib fortran.exp > > if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \ > {debug f90 quiet}] } { > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp=20 > b/gdb/testsuite/gdb.fortran/vla-value.exp > index 5af17b570c..994a5a3e7a 100644 > --- a/gdb/testsuite/gdb.fortran/vla-value.exp > +++ b/gdb/testsuite/gdb.fortran/vla-value.exp > @@ -21,7 +21,7 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} ${srcfile} \ > return -1 > } > > -if ![runto_main] { > +if ![runto $fmain] { > untested "could not run to main" > return -1 > } > @@ -129,8 +129,8 @@ gdb_test "print vla1(9, 9, 9)" "no such vector=20 > element \\\(vector not allocated\ # Try to assign VLA to user=20 > variable clean_restart ${testfile} > > -if ![runto MAIN__] then { > - perror "couldn't run to breakpoint MAIN__" > +if ![runto $fmain] then { > + perror "couldn't run to breakpoint $fmain" > continue > } > gdb_breakpoint [gdb_get_line_number "vla2-allocated"] diff --git=20 > a/gdb/testsuite/gdb.fortran/whatis_type.exp=20 > b/gdb/testsuite/gdb.fortran/whatis_type.exp > index 6a9cc0a81e..8a9a1eb79f 100644 > --- a/gdb/testsuite/gdb.fortran/whatis_type.exp > +++ b/gdb/testsuite/gdb.fortran/whatis_type.exp > @@ -23,8 +23,8 @@ if { [prepare_for_testing "failed to prepare" ${testfil= e} \ > return -1 > } > > -if ![runto MAIN__] { > - fail "run to MAIN__" > +if ![runto $fmain] { > + fail "run to $fmain" > return > } > > diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp=20 > b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > index 8cfffa7c08..363da0b7ed 100644 > --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp > +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp > @@ -36,7 +36,7 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile}"=20 > "${binfile}" \ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load=20 > ${binfile} > > -mi_runto MAIN__ > +mi_runto $fmain > > mi_create_varobj "array" "array" "create local variable array" > > diff --git a/gdb/testsuite/lib/fortran.exp=20 > b/gdb/testsuite/lib/fortran.exp index 549ed65790..0bd95504c8 100644 > --- a/gdb/testsuite/lib/fortran.exp > +++ b/gdb/testsuite/lib/fortran.exp > @@ -18,6 +18,8 @@ > # Auxiliary function to set the language to fortran. > # The result is 1 (true) for success, 0 (false) for failure. > > +global fmain > + > proc set_lang_fortran {} { > if [gdb_test_no_output "set language fortran"] { > return 0 > @@ -126,3 +128,17 @@ proc fortran_character1 {} { > return "unknown" > } > } > + > +proc fortran_main {} { > + if {[test_compiler_info {gcc-4-[012]-*}] > + || [test_compiler_info {gcc-*}] > + || [test_compiler_info {icc-*}]} { > + return "MAIN__" > + } elseif {[test_compiler_info {clang-*}]} { > + return "MAIN_" > + } else { > + return "unknown" > + } > +} > + > +set fmain [fortran_main] > -- > 2.17.1 --_002_BY5PR12MB3859DEE66C9AE41E7CF40F429ED00BY5PR12MB3859namp_ Content-Type: application/octet-stream; name="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch" Content-Description: 0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch Content-Disposition: attachment; filename="0001-gdb-fortran-Allow-Flang-MAIN_-in-Fortran-testing.patch"; size=25358; creation-date="Fri, 24 Apr 2020 09:24:29 GMT"; modification-date="Fri, 24 Apr 2020 11:41:08 GMT" Content-Transfer-Encoding: base64 RnJvbSBhMDRmNTNjZTc1MjhlMjM4MDgzYTIxODliNDg3ZjIwNjM0MjI3NGZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbG9rIEt1bWFyIFNoYXJtYSA8QWxva0t1bWFyLlNoYXJtYUBh bWQuY29tPgpEYXRlOiBGcmksIDI0IEFwciAyMDIwIDE0OjQ2OjA5ICswNTMwClN1YmplY3Q6IFtQ QVRDSF0gZ2RiL2ZvcnRyYW46IEFsbG93IEZsYW5nIE1BSU5fIGluIEZvcnRyYW4gdGVzdGluZwoK TmFtZSBvZiBmb3J0cmFuIG1haW4gZnVuY3Rpb24gZm9yIEZsYW5nIGNvbXBpbGVyIGlzIE1BSU5f IHdoaWxlCmZvciBnZm9ydHJhbiBpdCBpcyBNQUlOX18gLiBJbiB0ZXN0IGNhc2VzIE1BSU5fXyBp cyBoYXJkY29kZWQgZm9yCnRoZSBwdXJwb3NlIG9mIGluc2VydGluZyBicmVha3BvaW50LgoKTmV3 IHByb2MgaXMgYWRkZWQgdG8gZGV0ZWN0IG1haW4gZnVuY3Rpb24gbmFtZSBkZXBlbmRpbmcgb24g dGhlCmNvbXBpbGVyIHVzZWQuCnJ1bnRvX21haW4gcHJvYyBpcyBvdmVybG9hZGVkIGluIGZvcnRy YW4uZXhwCgpUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgZm9yIEZsYW5nIG1haW4gZnVuY3Rpb24s IHRoZXJlIHNob3VsZCBiZQpubyBjaGFuZ2UgZm9yIGdmb3J0cmFuLgoKZ2RiL3Rlc3RzdWl0ZS9D aGFuZ2VMb2cKCgkqIGxpYi9mb3J0cmFuLmV4cCAoZm9ydHJhbl9tYWluKTogTmV3IFByb2MsIGhh bmRsZSBmbGFuZyBNQUlOXywKCXByb2MgcnVudG9fbWFpbiBpcyBvdmVybG9hZGVkIHRvIGhhbmRs ZSBmb3J0cmFuIG1haW4gZnVuY3Rpb24uCgkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy1oaWdo LmV4cDogSGFuZGxlIGZsYW5nIE1BSU5fLgoJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhw OiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cDogTGlrZXdpc2UuCgkq IGdkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vY2hh cnNldC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwOiBMaWtl d2lzZS4KCSogZ2RiLmZvcnRyYW4vY29tcGxleC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJh bi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vZGVy aXZlZC10eXBlLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdk Yi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbGlicmFy eS1tb2R1bGUuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vbG9naWNhbC5leHA6IExpa2V3 aXNlLgoJKiBnZGIuZm9ydHJhbi9tYXgtZGVwdGguZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRy YW4vbW9kdWxlLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL211bHRpLWRpbS5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwOiBMaWtld2lzZS4KCSogZ2Ri LmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3By aW50aW5nLXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlv bi5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZv cnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1o aXN0b3J5LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0 cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3Zs YS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cDog TGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cDogTGlrZXdpc2UuCgkqIGdk Yi5taS9taS12YXItY2hpbGQtZi5leHA6IExpa2V3aXNlLgoKQ2hhbmdlLUlkOiBJMGEzMGY1ZGFk Njg0ODc5YjQxNmY3MWQzZDA4YzM4NWMxNTkzMjViZgotLS0KIGdkYi90ZXN0c3VpdGUvQ2hhbmdl TG9nICAgICAgICAgICAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysKIC4uLi9n ZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgICAgICAgICB8ICA1ICsrLQogZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwICAgIHwgIDUgKystCiBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgICAgfCAgMSArCiBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9jaGFyc2V0LmV4cCAgICAgICAgIHwgIDYgKystCiBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9jb21wbGV4LmV4cCAgICAgICAgIHwgIDUgKystCiAuLi4vZ2RiLmZvcnRyYW4v ZGVyaXZlZC10eXBlLWZ1bmN0aW9uLmV4cCAgICAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cCAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2luZm8tbW9kdWxlcy5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9pbmZvLXR5cGVzLmV4cCAgICAgIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vaW50cmluc2ljcy5leHAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2xpYnJhcnktbW9kdWxlLmV4cCAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v bG9naWNhbC5leHAgICAgICAgICB8ICA1ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9t YXgtZGVwdGguZXhwICAgICAgIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9k dWxlLmV4cCAgICAgICAgICB8ICA2ICstLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0 aS1kaW0uZXhwICAgICAgIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVk LWZ1bmNzLmV4cCAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZv cm1hdHRlZC5leHAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10 eXBlcy5leHAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0ci1pbmRlbnRh dGlvbi5leHAgfCAgNCArLQogLi4uL2dkYi5mb3J0cmFuL3B0eXBlLW9uLWZ1bmN0aW9ucy5leHAg ICAgICAgIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwICAg ICAgICB8ICA1ICsrLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2Mu ZXhwIHwgIDEgKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtaGlzdG9yeS5leHAgICAg IHwgIDEgKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhwICAgIHwg IDEgKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCAgICAgIHwgIDEg KwogLi4uL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cCAgIHwgIDEgKwog Li4uL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cCAgICAgIHwgIDEgKwogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cCAgIHwgIDEgKwogZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwICAgICAgIHwgIDQgKy0KIGdkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwICAgICB8ICA0ICstCiBnZGIvdGVzdHN1 aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAgICAgICAgfCAgMiArLQogZ2RiL3Rlc3RzdWl0 ZS9saWIvZm9ydHJhbi5leHAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKysrKysKIDM1IGZp bGVzIGNoYW5nZWQsIDEyNyBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCmlu ZGV4IDEwNjgzZGI1NjYuLmE3YTI3MjZhYTcgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCisrKyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIw MjAtMDQtMjQgIEFsb2sgS3VtYXIgU2hhcm1hICA8YWxva2t1bWFyLnNoYXJtYUBhbWQuY29tPgor CisJKiBsaWIvZm9ydHJhbi5leHAgKGZvcnRyYW5fbWFpbik6IE5ldyBQcm9jLCBoYW5kbGUgZmxh bmcgTUFJTl8uCisJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHA6IEhhbmRsZSBm bGFuZyBNQUlOXworCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cDogTGlrZXdpc2UuCisJ KiBnZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFu L2Jsb2NrLWRhdGEuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2NoYXJzZXQuZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vY29tcGxleC5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vZGVyaXZl ZC10eXBlLWZ1bmN0aW9uLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9kZXJpdmVkLXR5 cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHA6IExpa2V3 aXNlLgorCSogZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZv cnRyYW4vaW50cmluc2ljcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vbGlicmFyeS1t b2R1bGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2xvZ2ljYWwuZXhwOiBMaWtld2lz ZS4KKwkqIGdkYi5mb3J0cmFuL21heC1kZXB0aC5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRy YW4vbW9kdWxlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwOiBM aWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVkLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJh bi9wcmludGluZy10eXBlcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vcHRyLWluZGVu dGF0aW9uLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMu ZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3N1YmFycmF5LmV4cDogTGlrZXdpc2UuCisJ KiBnZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0 cmFuL3ZsYS1oaXN0b3J5LmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtcHRyLWlu Zm8uZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwOiBMaWtld2lz ZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cDogTGlrZXdpc2Uu CisJKiBnZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWZpbmlzaC5leHA6IExpa2V3aXNlLgorCSog Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4v dmxhLXZhbHVlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHA6 IExpa2V3aXNlLgorCSogZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cDogTGlrZXdpc2UuCisKIDIw MjAtMDQtMjMgIFRvbSBkZSBWcmllcyAgPHRkZXZyaWVzQHN1c2UuZGU+CiAKIAkqIGdkYi5iYXNl L2RlY2wtYmVmb3JlLWRlZi5leHA6IFJ1biB0byBtYWluIGFuZCBwcmludCBhIGFnYWluLgpkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy1oaWdoLmV4cAppbmRleCA4 MWUyZjg3Yjg5Li45ZDQwM2MwZGUwIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2FycmF5LWJvdW5kcy1oaWdoLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2FycmF5LWJvdW5kcy1oaWdoLmV4cApAQCAtMjAsMTMgKzIwLDE0IEBAIGlmIHsgW3NraXBfZm9y dHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0ZmlsZSAiYXJyYXktYm91bmRz LWhpZ2giCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBp ZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUg e2Y5MCBkZWJ1Z31dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHshW3J1bnRvIE1BSU5fX119 IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitp ZiB7IVtydW50b19tYWluXX0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3Bv aW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2FycmF5LWJvdW5kcy5leHAKaW5kZXggMTJiZjVjMmRiMy4uM2MwNjg4NmUzNSAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCisrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cApAQCAtMjAsMTMgKzIwLDE0 IEBAIGlmIHsgW3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0 ZmlsZSAiYXJyYXktYm91bmRzIgogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAorbG9hZF9saWIgZm9y dHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3Rm aWxlICRzcmNmaWxlIHtmOTAgZGVidWd9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVty dW50byBNQUlOX19dfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQg YE1BSU5fXycuIgoraWYgeyFbcnVudG9fbWFpbl19IHsKKyAgICBwZXJyb3IgIkNvdWxkIG5vdCBy dW4gdG8gYnJlYWtwb2ludCBgJGZtYWluJy4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhwCmluZGV4IDExOTk3ZjkyNmEuLjkyNzQx NWNmYjYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktc2xpY2Vz LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAKQEAg LTIxLDYgKzIxLDcgQEAKIGlmIHtbc2tpcF9mb3J0cmFuX3Rlc3RzXX0geyByZXR1cm4gLTEgfQog CiBzdGFuZGFyZF90ZXN0ZmlsZSAiLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHtb cHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxl fSBcCiAJIHtkZWJ1ZyBmOTB9XX0gewpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9ibG9jay1kYXRhLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYmxvY2stZGF0 YS5leHAKaW5kZXggMjkyYWZlNmMxNi4uMTU4MjRhMDRiZiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2Jsb2NrLWRhdGEuZXhwCkBAIC0zMCw4ICszMCw4IEBAIGlmIHtbcHJlcGFyZV9mb3Jf dGVzdGluZyAkdGVzdGZpbGUuZXhwICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsK ICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHVudGVz dGVkICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvX21haW5d IHRoZW4geworICAgIHVudGVzdGVkICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCAkZm1haW4i CiAgICAgcmV0dXJuIC0xCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vY2hhcnNldC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NoYXJzZXQuZXhwCmlu ZGV4IGYwZjYyZjg0OTAuLmE0ZmNjZmFkYmQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vY2hhcnNldC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFy c2V0LmV4cApAQCAtMTksMTIgKzE5LDE0IEBACiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0g eyByZXR1cm4gLTEgfQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFu LmV4cAorCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfSB7ZGVidWcgYWRkaXRpb25hbF9mbGFncz0tZmJhY2tzbGFzaCBm OTB9XSB9IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50byBNQUlOX19dIHsKLSAgICBw ZXJyb3IgIkNvdWxkbid0IHJ1biB0byBNQUlOX18iCitpZiAhW3J1bnRvX21haW5dIHsKKyAgICBw ZXJyb3IgIkNvdWxkbid0IHJ1biB0byAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCmluZGV4IDE5YzFhZjBkODEuLjlh YjZiMDdiMzcgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJs b2NrLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAK QEAgLTI3LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gXAogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5f X10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18i CitpZiAhW3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJy ZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2NvbXBsZXguZXhwCmluZGV4IGMwOTJhYjI5ZjEuLjI1N2Q3ODE4NGIgMTAwNjQ0Ci0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9jb21wbGV4LmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7 W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2Zp bGUge2RlYnVnIGY5MCBxdWlldH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8g TUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0byBNQUlOX18iCitpZiAh W3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiQ291bGRuJ3QgcnVuIHRvICRmbWFpbiIK ICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rl cml2ZWQtdHlwZS1mdW5jdGlvbi5leHAKaW5kZXggMWYwZjk1NzMxNy4uZDlkZDVjOWQ3OCAxMDA2 NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24u ZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLWZ1bmN0aW9u LmV4cApAQCAtMjEsMTMgKzIxLDE0IEBACiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyBy ZXR1cm4gLTEgfQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4 cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZp bGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVu dG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50 IE1BSU5fXyIKK2lmICFbcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBy dW4gdG8gYnJlYWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwCmluZGV4IGYxNzA1YmZmZDguLmJiYWEwZTNm YWEgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4 cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAKQEAgLTI3 LDggKzI3LDggQEAgaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIg JHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQogfQogCi1p ZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJl YWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291 bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cAppbmRleCAwYzNjNmE1OGUxLi44 MDZlNjg3MjZmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8tbW9k dWxlcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhw CkBAIC0yOCw4ICsyOCw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBw cmVwYXJlIiAkdGVzdGZpbGUgXAogICAgIHJldHVybiAtMQogfQogCi1pZiB7ICFbcnVudG8gTUFJ Tl9fXSB9IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9f Jy4iCitpZiB7ICFbcnVudG9fbWFpbl0gfSB7CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRv IGJyZWFrcG9pbnQgYCRmbWFpbicuIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2luZm8tdHlwZXMuZXhwCmluZGV4IDIxMzg5Mzc3ODIuLjVmZWM4OWIxMDYgMTAw NjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAKKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cApAQCAtMjcsOCArMjcsOCBA QCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxl IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgeyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgcGVy cm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyAhW3J1bnRv X21haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1h aW4nLiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2ludHJpbnNpY3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbnRyaW5z aWNzLmV4cAppbmRleCA1MDRiY2U0MTM4Li5lY2U5ZmU0ZGQyIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vaW50cmluc2ljcy5leHAKQEAgLTI1LDggKzI1LDggQEAgaWYgeyBbcHJlcGFyZV9m b3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcg ZjkwfV0gfQogICAgIHJldHVybiAtMQogfQogCi1pZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAg ICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitpZiB7ICFb cnVudG9fbWFpbl0gfSB7CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQg YCRmbWFpbicuIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vbGlicmFyeS1tb2R1bGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9saWJyYXJ5LW1vZHVsZS5leHAKaW5kZXggZjI1OTg4ZTMyYy4uOTY0YmYwZDQ2MCAxMDA2NDQK LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAKKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAKQEAgLTQwLDkgKzQw LDEwIEBAIGlmICB7IFtnZGJfY29tcGlsZSAkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGUgJGJpbmZp bGUgZXhlY3V0YWJsZSBbbGlzdCBkZWJ1ZyBmOTAKIGNsZWFuX3Jlc3RhcnQgJHRlc3RmaWxlCiAK IGdkYl9sb2FkX3NobGliICRsaWJmaWxlCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCi1pZiAhW3J1 bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2lu dCBNQUlOX18iCitpZiAhW3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRuJ3Qg cnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2xvZ2ljYWwuZXhwCmluZGV4IDMyNDcxNGZhNDkuLmY0NTRkNzQzOWEgMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9sb2dpY2FsLmV4cApAQCAtMTYsMTMgKzE2LDE0IEBACiAjIFRo aXMgZmlsZSB3YXMgd3JpdHRlbiBieSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhw CiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSAkc3JjZmlsZSB7ZGVidWcgZjkwIHF1aWV0fV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYg eyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFr cG9pbnQgYE1BSU5fXycuIgoraWYgeyAhW3J1bnRvX21haW5dIH0geworICAgIHBlcnJvciAiQ291 bGQgbm90IHJ1biB0byBicmVha3BvaW50IGAkZm1haW4nLiIKICAgICBjb250aW51ZQogfQogCmRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0aC5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL21heC1kZXB0aC5leHAKaW5kZXggMjYyZDBmZGZhMS4uMDIw YmEyNjE0NCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tYXgtZGVwdGgu ZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4cApAQCAtMjYs OCArMjYsOCBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIg JHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XSB9CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm IHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBicmVh a3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtydW50b19tYWluXSB9IHsKKyAgICBwZXJyb3IgIkNv dWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgJGZtYWluJy4iCiAgICAgY29udGludWUKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tb2R1bGUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9tb2R1bGUuZXhwCmluZGV4IDFjMjY5ZTJmZWQuLjRiNWE4YWNk OWQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAKQEAgLTI5LDggKzI5LDggQEAg Z2RiX3Rlc3QgInAgbW9kbWFueTo6dmFyX2kiICIgPSAxNCIgInN0b3BwZWQgbGFuZ3VhZ2UgZGV0 ZWN0aW9uIgogCiBnZGJfdGVzdCAicHJpbnQgbW9kMTo6dmFyX2NvbnN0IiAiID0gMjAiICJmdWxs eSBxdWFsaWZpZWQgbmFtZSBvZiBEV19UQUdfY29uc3RhbnQiCiAKLWlmICFbcnVudG8gTUFJTl9f XSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIK K2lmICFbcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJl YWtwb2ludCAkZm1haW4iCiAgICAgY29udGludWUKIH0KIApAQCAtMTIzLDcgKzEyMyw3IEBAIGNv bXBsZXRlICJtb2RtYW55Ojp2YXIiICRtb2RtYW55X2xpc3QKICMgQnJlYWtwb2ludCB3b3VsZCB3 b3JrIGluIGxhbmd1YWdlICJjIi4KIGdkYl90ZXN0ICJzaG93IGxhbmd1YWdlIiB7VGhlIGN1cnJl bnQgc291cmNlIGxhbmd1YWdlIGlzICIoYXV0bzsgY3VycmVudGx5ICk/Zm9ydHJhbiIufQogCi0j IGdjYy00LjQuMjogVGhlIG1haW4gcHJvZ3JhbSBpcyBhbHdheXMgTUFJTl9fIGluIC5zeW10YWIg c28gInJ1bnRvIiBhYm92ZQorIyBnY2MtNC40LjI6IFRoZSBtYWluIHByb2dyYW0gaXMgYWx3YXlz ICRmbWFpbiBpbiAuc3ltdGFiIHNvICJydW50byIgYWJvdmUKICMgd29ya3MuICBCdXQgRFdBUkYg RFdfVEFHX3N1YnByb2dyYW0gY29udGFpbnMgdGhlIG5hbWUgc3BlY2lmaWVkIGJ5CiAjIHRoZSAi cHJvZ3JhbSIgRm9ydHJhbiBzdGF0ZW1lbnQuCiBpZiBbZ2RiX2JyZWFrcG9pbnQgIm1vZHVsZSJd IHsKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cAppbmRleCAwNTU5MDkxNGRm Li5lMmE0MjIwZTFjIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL211bHRp LWRpbS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwCkBA IC0yNSw4ICsyNSw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVw YXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IHtkZWJ1ZyBmOTB9CiAgICAgcmV0dXJuIC0xCiB9 CiAKLWlmICFbcnVudG8gTUFJTl9fXSB7Ci0gICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gTUFJ Tl9fIgoraWYgIVtydW50b19tYWluXSB7CisgICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gJGZt YWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vbmVzdGVkLWZ1bmNzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVk LWZ1bmNzLmV4cAppbmRleCBlNGZjMDJmZmE1Li4wN2E1YjZkOGMzIDEwMDc1NQotLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwCkBAIC0yNSw4ICsyNSw4IEBAIGlmIHtbcHJl cGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7 ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTENCiB9DQogDQotaWYgIVtydW50byBNQUlOX19d IHRoZW4gew0KLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIN CitpZiAhW3J1bnRvX21haW5dIHRoZW4gew0KKyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBi cmVha3BvaW50ICRmbWFpbiINCiAgICAgY29udGludWUNCiB9DQogDQpkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwCmluZGV4IDhjNjUyOWNlN2YuLjc4NWZh NmY3OTggMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0 dGVkLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZvcm1hdHRlZC5l eHAKQEAgLTI1LDggKzI1LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRv IHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV0gfQogICAgIHJldHVybiAt MQogfQogCi1pZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAgICBmYWlsICJydW50byBNQUlOX18i CitpZiB7ICFbcnVudG9fbWFpbl0gfSB7CisgICAgZmFpbCAicnVudG9fbWFpbiIKICAgICByZXR1 cm4gLTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGlu Zy10eXBlcy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4 cAppbmRleCAyYzg4ZjllMDAzLi4zMmFkMDAyODFmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ByaW50aW5nLXR5cGVzLmV4cApAQCAtMTYsMTMgKzE2LDE0IEBACiBpZiB7W3NraXBf Zm9ydHJhbl90ZXN0c119IHsgcmV0dXJuIC0xIH0KIAogc3RhbmRhcmRfdGVzdGZpbGUgLmY5MAor bG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0Zmls ZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQog fQogCi1pZiB7IVtydW50byBNQUlOX19dfSB0aGVuIHsKLSAgICB1bnRlc3RlZCAiY291bGQgbm90 IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmIHshW3J1bnRvX21haW5dfSB0aGVuIHsKKyAg ICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICByZXR1 cm4gLTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHItaW5k ZW50YXRpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHItaW5kZW50YXRpb24u ZXhwCmluZGV4IDI4NWUyNGUyY2MuLjJlZDk0ZGNhZDggMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3B0ci1pbmRlbnRhdGlvbi5leHAKQEAgLTIyLDggKzIyLDggQEAgaWYge1twcmVw YXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBm OTB9XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlOX19dfSB0aGVuIHsK LSAgICB1bnRlc3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgeyFb cnVudG9fbWFpbl19IHRoZW4geworICAgIHVudGVzdGVkICJjb3VsZG4ndCBydW4gdG8gYnJlYWtw b2ludCAkZm1haW4iCiAgICAgcmV0dXJuIC0xCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cAppbmRleCBkOTFlNGJkNDhlLi4wZjgxMTA0 MzQ1IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0eXBlLW9uLWZ1bmN0 aW9ucy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlv bnMuZXhwCkBAIC0yNCw4ICsyNCw4IEBAIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVk IHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1 cm4gLTEKIH0KIAotaWYgIVtydW50byBNQUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRu J3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtydW50b19tYWluXSB0aGVuIHsKKyAg ICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50ICRmbWFpbiIKICAgICBjb250aW51 ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YmFycmF5LmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwCmluZGV4IDVlM2U4YzM4 Y2IuLmMxN2M5YjQzY2QgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi YXJyYXkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwCkBA IC0yMSw2ICsyMSw3IEBACiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyByZXR1cm4gLTEg fQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYge1tw cmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxl IHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQpAQCAtMzEsOCArMzIsOCBAQCBnZGJfc3Rh cnQKIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgogZ2RiX2xvYWQgJHtiaW5m aWxlfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBy dW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAhW3J1bnRvX21haW5dIHRoZW4geworICAgIHBl cnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgJGZtYWluIgogICAgIGNvbnRpbnVlCiB9 CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29j LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cAppbmRl eCA1ZDg1ODVjMmVlLi41YjA2MTE1NDQ2IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtYWxsb2MtYXNzb2MuZXhwCkBAIC0xNCw2ICsxNCw3IEBACiAjIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgog CiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlm IHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAk e3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1oaXN0b3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCmluZGV4IDI0YmQ5NDVmNGEuLjgxMWUxYTkyNzUgMTAw NjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCkBAIC0xNCw2ICsxNCw3 IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5MCIKK2xvYWRf bGliIGZvcnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBw cmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0g fSB7CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHAKaW5kZXggMjRj N2I0NTg0MC4uZjk0ZGZlZWMxNyAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtcHRyLWluZm8uZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0 ci1pbmZvLmV4cApAQCAtMTQsNiArMTQsNyBAQAogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAogc3RhbmRhcmRf dGVzdGZpbGUgInZsYS5mOTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJl X2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBc CiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0gewpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXNpemVvZi5leHAKaW5kZXggOGU3ZDM2MzE0ZS4uNjEyMjIyMDEzOSAxMDA2NDQKLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCkBAIC0xNCw2ICsxNCw3IEBACiAjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhw CiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3Rm aWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CmRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCmlu ZGV4IGFiNjFkZGUwNmYuLmQ1ZDE0M2E0NzIgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCkBAIC0xNCw2ICsxNCw3IEBA CiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2Fk X2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8g cHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1d IH0gewpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3Vi LWZpbmlzaC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmlu aXNoLmV4cAppbmRleCBhZmQ5OTJjZWU0Li4yODBkMWViMWViIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cAorKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApAQCAtMTQsNiArMTQs NyBAQAogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KIAogc3RhbmRhcmRfdGVzdGZpbGUgInZsYS1zdWIuZjkwIgor bG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVk IHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVp ZXR9XSB9IHsKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVl LXN1Yi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwCmlu ZGV4IDMzMTFmNmJlZmEuLmQ2OTU2ZGE3MTMgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdmFsdWUtc3ViLmV4cApAQCAtMTQsNiArMTQsNyBAQAogIyBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAog c3RhbmRhcmRfdGVzdGZpbGUgInZsYS1zdWIuZjkwIgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAog aWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9 ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXZhbHVlLmV4cAppbmRleCA1YWYxN2I1NzBjLi5hYTM1ZjIyYjBhIDEwMDY0 NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAKKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCkBAIC0xMjksOCArMTI5LDggQEAg Z2RiX3Rlc3QgInByaW50IHZsYTEoOSwgOSwgOSkiICJubyBzdWNoIHZlY3RvciBlbGVtZW50IFxc XCh2ZWN0b3Igbm90IGFsbG9jYXRlZFwKICMgVHJ5IHRvIGFzc2lnbiBWTEEgdG8gdXNlciB2YXJp YWJsZQogY2xlYW5fcmVzdGFydCAke3Rlc3RmaWxlfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gdGhl biB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18iCitpZiAh W3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9p bnQgJGZtYWluIgogICAgIGNvbnRpbnVlCiB9CiBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5l X251bWJlciAidmxhMi1hbGxvY2F0ZWQiXQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi93aGF0aXNfdHlwZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3doYXRp c190eXBlLmV4cAppbmRleCA2YTljYzBhODFlLi42ZDY2ZjhkOTNkIDEwMDY0NAotLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cApAQCAtMjMsOCArMjMsOCBAQCBpZiB7IFtwcmVw YXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gXAogICAgIHJl dHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gewotICAgIGZhaWwgInJ1biB0byBNQUlO X18iCitpZiAhW3J1bnRvX21haW5dIHsKKyAgICBmYWlsICJydW4gdG8gJGZtYWluIgogICAgIHJl dHVybgogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQt Zi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAKaW5kZXggOGNm ZmZhN2MwOC4uMzYzZGEwYjdlZCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkt dmFyLWNoaWxkLWYuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1m LmV4cApAQCAtMzYsNyArMzYsNyBAQCBpZiB7W2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJk aXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBcCiBtaV9nZGJfcmVpbml0aWFsaXplX2RpciAk c3JjZGlyLyRzdWJkaXIKIG1pX2dkYl9sb2FkICR7YmluZmlsZX0KIAotbWlfcnVudG8gTUFJTl9f CittaV9ydW50byAkZm1haW4KIAogbWlfY3JlYXRlX3Zhcm9iaiAiYXJyYXkiICJhcnJheSIgImNy ZWF0ZSBsb2NhbCB2YXJpYWJsZSBhcnJheSIKIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9s aWIvZm9ydHJhbi5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cAppbmRleCA1NDll ZDY1NzkwLi4yNTBkYjYwNTQ4IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFu LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cApAQCAtMTgsNiArMTgsOCBA QAogIyBBdXhpbGlhcnkgZnVuY3Rpb24gdG8gc2V0IHRoZSBsYW5ndWFnZSB0byBmb3J0cmFuLgog IyBUaGUgcmVzdWx0IGlzIDEgKHRydWUpIGZvciBzdWNjZXNzLCAwIChmYWxzZSkgZm9yIGZhaWx1 cmUuCiAKK2dsb2JhbCBmbWFpbgorCiBwcm9jIHNldF9sYW5nX2ZvcnRyYW4ge30gewogICAgIGlm IFtnZGJfdGVzdF9ub19vdXRwdXQgInNldCBsYW5ndWFnZSBmb3J0cmFuIl0gewogCXJldHVybiAw CkBAIC0xMjYsMyArMTI4LDIzIEBAIHByb2MgZm9ydHJhbl9jaGFyYWN0ZXIxIHt9IHsKIAlyZXR1 cm4gInVua25vd24iCiAgICAgfQogfQorCitwcm9jIGZvcnRyYW5fbWFpbiB7fSB7CisgICAgaWYg e1t0ZXN0X2NvbXBpbGVyX2luZm8ge2djYy00LVswMTJdLSp9XQorICAgICAgICAgfHwgW3Rlc3Rf Y29tcGlsZXJfaW5mbyB7Z2NjLSp9XQorICAgICAgICAgfHwgW3Rlc3RfY29tcGlsZXJfaW5mbyB7 aWNjLSp9XX0geworCXJldHVybiAiTUFJTl9fIgorICAgIH0gZWxzZWlmIHtbdGVzdF9jb21waWxl cl9pbmZvIHtjbGFuZy0qfV19IHsKKwlyZXR1cm4gIk1BSU5fIgorICAgIH0gZWxzZSB7CisJcmV0 dXJuICJ1bmtub3duIgorICAgIH0KK30KKworc2V0IGZtYWluICBbZm9ydHJhbl9tYWluXQorCisj IGZvcnRyYW4gdmVyc2lvbiBvZiBydW50b19tYWluLgorCitwcm9jIHJ1bnRvX21haW4geyB9IHsK KyAgICByZXR1cm4gW3J1bnRvIFtmb3J0cmFuX21haW5dXQorfQotLSAKMi4xNy4xCgo= --_002_BY5PR12MB3859DEE66C9AE41E7CF40F429ED00BY5PR12MB3859namp_--