From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2050.outbound.protection.outlook.com [40.107.237.50]) by sourceware.org (Postfix) with ESMTPS id 6C9AE385DC0A for ; Sun, 10 May 2020 09:21:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6C9AE385DC0A 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=j69VLyqKW66B8meTekG6Iqc0HQf5w2ltOjsyRmNQq29bj4+OH2g3TuJTrfbhFLqMA8nUagBpv3iCywh2KgdGq67MUYWthB2TSXhKADmfGIbH6IaDZsSsCb1mdYLPtq1gkRnR05EjStDaz3BVGwSAAGGxvJDQq2iVu9D7uFqIChp5VYLzdyz30iXJ6+RGBRjR5z/DBQZDZU0Nmlnte/GwL/pycx7zYghBOzgaLXy7+5y7lEj9dRgfHbkcnQAiG3/Snc06IZ7g/wygNNc8H4VjSp12HoB/7xhTA1zlJAYu5/Uub9ZSLkdvkKTqola+MjDrsVvpk1XnMVJdGmUq+8QIoA== 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=MobbWyudZokY/FojSfxl2ZYNrm/boYMvIxNDx5MEje4=; b=WviWZ6mY3JHXfXu73V+vKpV8nowtHCaAC47dSiXdjnhZw+v29iAWq8jBkhRA+jID5z1yoSHfnWgK9n5gVaKKL6tyMgK+mu9qm2RxhUGeEHeIASOx31Sbs+o3tlXomCvrEeiXLA2RX7BrCOJ6JQjFwY7dB5SeHmO/QjTzeelzSlcZ0HcDT76c8CQJPDaoqRdGNTgA/hZeZeoMrU70q3i25p/Klq0ygE8CqzjrTP/0hEFMJtTbkA1ppIGqIkwPGDa6EauYpfF0+oakmizkfWC3/sGMS4wPjQTAdQQ/oKE0A8RzKO16VdhDMUovCgO91R92McBv28Z7lRJPsr2BO83ydA== 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=MobbWyudZokY/FojSfxl2ZYNrm/boYMvIxNDx5MEje4=; b=R6T1Jnfod8vS9fqhDt5IhWJIgGpIxRJoCmQcJUzyr6vhcJ0PxYqb5T7X2XLbgaLGVMGw+8ZOZLzVC0uZq35HuKLWQd2sSjMpU9+fvWMbtOrKFlS3USzjpe4kvo5V0y1wIySNNk/btQuqJWh6MJYCcaZ5iA8UU1zIDZCz1XqdBXA= Received: from BY5PR12MB3859.namprd12.prod.outlook.com (2603:10b6:a03:1a8::31) by BY5PR12MB4225.namprd12.prod.outlook.com (2603:10b6:a03:211::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Sun, 10 May 2020 09:21:51 +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.2979.033; Sun, 10 May 2020 09:21:51 +0000 From: "Sharma, Alok Kumar" To: Andrew Burgess CC: Tom Tromey , "George, Jini Susan" , "Achra, Nitika" , "gdb-patches@sourceware.org" Subject: RE: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Topic: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing Thread-Index: AdYaGoxVOtBbfA8rTdieLXSAzB7KHQABxBoAAAWJSrkAAXKNAAAAbW7wAI0EZQAAEo/YUABSSJGAAilE5zA= Date: Sun, 10 May 2020 09:21:51 +0000 Message-ID: References: <20200424101752.GB3522@embecosm.com> <87sggthwk2.fsf@tromey.com> <20200424133750.GD3522@embecosm.com> <20200427090750.GE3522@embecosm.com> <20200429091521.GJ3522@embecosm.com> In-Reply-To: <20200429091521.GJ3522@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-05-10T09:19: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=30933c67-ca90-483c-815a-0000835a0cd5; 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-05-10T09:21:43Z 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: 933819f9-de0c-4b12-b50d-0000c6efdcc8 msip_label_f2ed062d-8486-4f50-a4f1-3cce0dd00d64_contentbits: 0 authentication-results: embecosm.com; dkim=none (message not signed) header.d=none;embecosm.com; dmarc=none action=none header.from=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: 28459d9c-7736-4385-48e8-08d7f4c392d4 x-ms-traffictypediagnostic: BY5PR12MB4225:|BY5PR12MB4225: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 039975700A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rdUVm3EHmpp/mmkR47nptOTeAomjBls62SK/qS3BIXsbD1030fpd9iKmu0Kij6E7jAsxtc/rHaHAHrJTHGowTu4ZWonnkhlOo6qI7C3OFTccQicAPpuFSBL25r5xLYygdH+q1C5VzyiYlNaoVg857K6dwNyPCSUm7NLPZGIqNgKpQ7SJDbKGcRmu+JWOdmsy1We49DSIT2EAzxbqP9HCvkPa/TNiHDayxp+vKAkCR/l2ES0D4M9Kvj5aylGkOQtxV6/RAVUSSNrPAohEqFrV9ejGelZ+mKehVg/CX7ZDipaTYg7r2OY0YE0BywGy95FfwHeNlKHfxtZrOvgA5sU9p89/YvmwcC45I/ADs5g4quuMk5tK0uK4WTgCmNT3GhVadZzVgv5hy4v7uGeIUR9VVDN8jtxOI6vdXVCfcQO/3Tw5LzTwzUtrZAh+nD+Jgxq9ebAWx5pTesfTzLQxp80uO8wcWWcW2nHsJ4jKENmyMZDhHBq/MvvRxJDXQy0aUbIogPgG2nuENUadFRytwFmKq0W+I2bkVKIqJ8DFhrSl1B2fsF9djUob4e9K9OslEHLauAd7Y3W20kjvfe8u+8OVi4JvwSiQepBnww/DoGlSuq0= 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)(346002)(376002)(366004)(396003)(136003)(39860400002)(33430700001)(30864003)(5660300002)(6506007)(66946007)(66616009)(66476007)(66556008)(64756008)(6916009)(76116006)(99936003)(316002)(86362001)(478600001)(7696005)(33656002)(52536014)(33440700001)(66446008)(186003)(26005)(54906003)(53546011)(8936002)(55016002)(9686003)(2906002)(71200400001)(8676002)(4326008)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Frl4sMiDkyPzwgfLjbBD5jhc0GOslNHn10W43K1Arb+rc7yt5wvpDcdTeSvzg2dr+EUDcy1uoSc3k+Mkeg7md1+nrpome7H7omg2IpFOEVtgTxPm8QijxwJiaD9+GOFUi3hgTivKOFAUdIn0DjKJD2lWRhIuVrt5vwx/E7wB3mQhVlSiiKPmZRWEAj1TaPV3vCck7MmPiwYKgpsiOzP6+SNgq8aomvLejbY7i+8dgUgFz/2QVZAhYVNhrRbC9G7xymjwJq8Vq3n3r3oJxYqsHnbQ4xL6rbEonIXC2NCzVtd94cGcRj82iaw05eW0i4ymm5nSsC/LKcLBPoEaTYbE2KLuaEUvp5TKafT3XegN2/uwE0+u9OTN21D3M8ZZNW6Ab1Y8EKKNV1adjqutWZ/K6L3r69siKHDoZ5yfz2DKqRwLXskgE3rJpA8Jd1TvB+KjGxkBlChbKuOnxXjqH/rAjRFQM2jfujCfMrou5v/625dOIXSwG0HksftEPK6qYDUz Content-Type: multipart/mixed; boundary="_002_BY5PR12MB3859FFD8E99A60472225B2B09EA00BY5PR12MB3859namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28459d9c-7736-4385-48e8-08d7f4c392d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2020 09:21:51.4730 (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: wzZ0COH8lJ2Q41mSH63+brAf4CH555GDXgUA14iHOQ3voMUMqttKZ5t6eFspm2cHlrPHgoimScXyf7viWpZuYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4225 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, 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: Sun, 10 May 2020 09:22:05 -0000 --_002_BY5PR12MB3859FFD8E99A60472225B2B09EA00BY5PR12MB3859namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks a lot Andrew for your comments. Please find the updated patch with y= our comments incorporated. As I lost my ssh setup and yet to get new one updated on server, I am unabl= e to commit currently. I would like to request if someone please commit this? gdb/testsuite/ChangeLog * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, (fortran_runto_main): New Proc, fortran version of runto_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. Regards, Alok -----Original Message----- From: Andrew Burgess =20 Sent: Wednesday, April 29, 2020 2:45 PM To: Sharma, Alok Kumar Cc: Tom Tromey ; George, Jini Susan ; Achra, Nitika ; gdb-patches@sourceware.org Subject: Re: [PATCH] gdb/fortran: Allow Flang MAIN_ in Fortran testing [CAUTION: External Email] * Sharma, Alok Kumar [2020-04-27 18:02:03 +0000]= : > Hi Andrew, > > Thanks a lot for your valuable comments. Please have a look at the=20 > updated patch in attachment. > > > > From 75e55e41ddc83ee3db6879fd955baf31d1301ba4 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. > Fortran specific version of runto_main named fortran_runto_main is=20 > added. > > This commit adds support for Flang main function, there should be no=20 > change for gfortran. This looks great. Please go ahead an commit it. I did have one minor last= fix, but don't feel you know you need to repost the patch, just update and= merge. > > gdb/testsuite/ChangeLog > > * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > (fortran_runto_main): New Proc, fortran version of runto_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 | 43 +++++++++++++++++++ > .../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 | 18 ++++++++ > 40 files changed, 143 insertions(+), 64 deletions(-) > > diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index=20 > 10683db566..0e3c207f85 100644 > --- a/gdb/testsuite/ChangeLog > +++ b/gdb/testsuite/ChangeLog > @@ -1,3 +1,46 @@ > +2020-04-24 Alok Kumar Sharma > + > + * lib/fortran.exp (fortran_main): New Proc, handle flang MAIN_, > + (fortran_runto_main): New Proc, fortran version of runto_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.fortran/array-bounds-high.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds-high.exp > index 81e2f87b89..ba34dbc23e 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 {![fortran_runto_main]} { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-bounds.exp=20 > b/gdb/testsuite/gdb.fortran/array-bounds.exp > index 12bf5c2db3..3f2527343b 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 {![fortran_runto_main]} { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/array-slices.exp=20 > b/gdb/testsuite/gdb.fortran/array-slices.exp > index 11997f926a..4ca1db90f7 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 ![fortran_runto_main] { > 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..632c0141a3 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 ![fortran_runto_main] then { > + untested "couldn't run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/charset.exp=20 > b/gdb/testsuite/gdb.fortran/charset.exp > index f0f62f8490..fc504ae0b0 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 ![fortran_runto_main] { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/common-block.exp=20 > b/gdb/testsuite/gdb.fortran/common-block.exp > index 19c1af0d81..3dacfd32b2 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/complex.exp=20 > b/gdb/testsuite/gdb.fortran/complex.exp > index c092ab29f1..a88e553e58 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 ![fortran_runto_main] then { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type-function.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type-function.exp > index 1f0f957317..2ae6f46c1e 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/derived-type.exp=20 > b/gdb/testsuite/gdb.fortran/derived-type.exp > index f1705bffd8..4b86ba97de 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-modules.exp=20 > b/gdb/testsuite/gdb.fortran/info-modules.exp > index 0c3c6a58e1..a3a9b2cb18 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 { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/info-types.exp=20 > b/gdb/testsuite/gdb.fortran/info-types.exp > index 2138937782..e80c990a85 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 { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/intrinsics.exp=20 > b/gdb/testsuite/gdb.fortran/intrinsics.exp > index 504bce4138..2cb0237c95 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 { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/library-module.exp=20 > b/gdb/testsuite/gdb.fortran/library-module.exp > index f25988e32c..8254fcf10a 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/logical.exp=20 > b/gdb/testsuite/gdb.fortran/logical.exp > index 324714fa49..161bbdd908 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 { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/max-depth.exp=20 > b/gdb/testsuite/gdb.fortran/max-depth.exp > index 262d0fdfa1..420b72539f 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 { ![fortran_runto_main] } { > + perror "Could not run to main." > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/module.exp=20 > b/gdb/testsuite/gdb.fortran/module.exp > index 1c269e2fed..4a8251c44c 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > 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..ef6c6da8bd 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 ![fortran_runto_main] { > + perror "Couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/nested-funcs.exp=20 > b/gdb/testsuite/gdb.fortran/nested-funcs.exp > index e4fc02ffa5..9e0073d210 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/print-formatted.exp=20 > b/gdb/testsuite/gdb.fortran/print-formatted.exp > index 8c6529ce7f..e71287724b 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 { ![fortran_runto_main] } { > + fail "could not run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/print_type.exp=20 > b/gdb/testsuite/gdb.fortran/print_type.exp > index 7d5915390d..fcedb9579a 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 ![fortran_runto_main] { > 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..44fd93cc56 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 {![fortran_runto_main]} then { > + untested "could not run to main" > return -1 > } > > diff --git a/gdb/testsuite/gdb.fortran/ptr-indentation.exp=20 > b/gdb/testsuite/gdb.fortran/ptr-indentation.exp > index 285e24e2cc..209809a292 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 {![fortran_runto_main]} then { > + untested "couldn't run to main" > 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..8dc5f76d93 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/subarray.exp=20 > b/gdb/testsuite/gdb.fortran/subarray.exp > index 5e3e8c38cb..9ee5a9b3cb 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > continue > } > > diff --git a/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp=20 > b/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp > index 5d8585c2ee..2ae0411cf1 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 ![fortran_runto_main] { > 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..b69636f600 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 ![fortran_runto_main] { > 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..3bf98db197 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 ![fortran_runto_main] { > 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..d3fa595bea 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 ![fortran_runto_main] { > 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..07a4a5fc2e 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 ![fortran_runto_main] { > 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..bbb81ea0c8 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 ![fortran_runto_main] { > 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..d26b8c60f8 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 ![fortran_runto_main] { > 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..f007ea3a78 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 ![fortran_runto_main] { > 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..c3ed909a81 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 ![fortran_runto_main] { > 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..403e411cc2 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 ![fortran_runto_main] { > 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..fd923edf40 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 ![fortran_runto_main] { > 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..9a727fc30a 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 ![fortran_runto_main] { > 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 ![fortran_runto_main] then { > + perror "couldn't run to main" > 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..4b0cbf9c28 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 ![fortran_runto_main] { > + fail "run to main" > 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..3af80a8e60 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 [fortran_main] > > 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..654afd2b74 100644 > --- a/gdb/testsuite/lib/fortran.exp > +++ b/gdb/testsuite/lib/fortran.exp > @@ -126,3 +126,21 @@ proc fortran_character1 {} { > return "unknown" > } > } > + > +proc fortran_main {} { This proc should have a header comment. Something like: # Return name of the main procedure based on the compiler version. > + 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" > + } > +} > + > +# fortran version of runto_main. Please capitalise Fortran, which I believe is how the name is written. With those two fixes, please just go ahead and merge. Thanks, Andrew > + > +proc fortran_runto_main { } { > + return [runto [fortran_main]] > +} > -- > 2.17.1 --_002_BY5PR12MB3859FFD8E99A60472225B2B09EA00BY5PR12MB3859namp_ 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=29401; creation-date="Fri, 24 Apr 2020 09:24:29 GMT"; modification-date="Sun, 10 May 2020 09:15:04 GMT" Content-Transfer-Encoding: base64 RnJvbSA2YjMyNGRiYmE2M2E4ODk0ODdiMjc0MjkwNzAyYTNiNjRhYmE1OGQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbG9rIEt1bWFyIFNoYXJtYSA8QWxva0t1bWFyLlNoYXJtYUBh bWQuY29tPgpEYXRlOiBGcmksIDI0IEFwciAyMDIwIDE0OjQ2OjA5ICswNTMwClN1YmplY3Q6IFtQ QVRDSF0gZ2RiL2ZvcnRyYW46IEFsbG93IEZsYW5nIE1BSU5fIGluIEZvcnRyYW4gdGVzdGluZwoK TmFtZSBvZiBmb3J0cmFuIG1haW4gZnVuY3Rpb24gZm9yIEZsYW5nIGNvbXBpbGVyIGlzIE1BSU5f IHdoaWxlCmZvciBnZm9ydHJhbiBpdCBpcyBNQUlOX18gLiBJbiB0ZXN0IGNhc2VzIE1BSU5fXyBp cyBoYXJkY29kZWQgZm9yCnRoZSBwdXJwb3NlIG9mIGluc2VydGluZyBicmVha3BvaW50LgoKTmV3 IHByb2MgaXMgYWRkZWQgdG8gZGV0ZWN0IG1haW4gZnVuY3Rpb24gbmFtZSBkZXBlbmRpbmcgb24g dGhlCmNvbXBpbGVyIHVzZWQuCkZvcnRyYW4gc3BlY2lmaWMgdmVyc2lvbiBvZiBydW50b19tYWlu IG5hbWVkIGZvcnRyYW5fcnVudG9fbWFpbgppcyBhZGRlZC4KClRoaXMgY29tbWl0IGFkZHMgc3Vw cG9ydCBmb3IgRmxhbmcgbWFpbiBmdW5jdGlvbiwgdGhlcmUgc2hvdWxkIGJlCm5vIGNoYW5nZSBm b3IgZ2ZvcnRyYW4uCgpnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwoKCSogbGliL2ZvcnRyYW4uZXhw IChmb3J0cmFuX21haW4pOiBOZXcgUHJvYywgaGFuZGxlIGZsYW5nIE1BSU5fLAoJKGZvcnRyYW5f cnVudG9fbWFpbik6IE5ldyBQcm9jLCBmb3J0cmFuIHZlcnNpb24gb2YgcnVudG9fbWFpbi4KCSog Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLWhpZ2guZXhwOiBIYW5kbGUgZmxhbmcgTUFJTl8uCgkq IGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9h cnJheS1zbGljZXMuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vYmxvY2stZGF0YS5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9jaGFyc2V0LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL2NvbW1vbi1ibG9jay5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9jb21wbGV4 LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHA6 IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL2lu Zm8tdHlwZXMuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9sb2dpY2FsLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL21heC1kZXB0 aC5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9tb2R1bGUuZXhwOiBMaWtld2lzZS4KCSog Z2RiLmZvcnRyYW4vbXVsdGktZGltLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL25lc3Rl ZC1mdW5jcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhw OiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHA6IExpa2V3aXNlLgoJKiBn ZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi9w dHItaW5kZW50YXRpb24uZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVu Y3Rpb25zLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3N1YmFycmF5LmV4cDogTGlrZXdp c2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHA6IExpa2V3aXNlLgoJKiBnZGIu Zm9ydHJhbi92bGEtZGF0YXR5cGVzLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1o aXN0b3J5LmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHA6IExp a2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cDogTGlrZXdpc2UuCgkqIGdk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHA6IExpa2V3aXNlLgoJKiBnZGIuZm9ydHJhbi92bGEtc2l6 ZW9mLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cDogTGlrZXdpc2Uu CgkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cDogTGlrZXdpc2UuCgkq IGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5m b3J0cmFuL3ZsYS12YWx1ZS1zdWIuZXhwOiBMaWtld2lzZS4KCSogZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cDogTGlrZXdp c2UuCgkqIGdkYi5taS9taS12YXItY2hpbGQtZi5leHA6IExpa2V3aXNlLgoKQ2hhbmdlLUlkOiBJ MGEzMGY1ZGFkNjg0ODc5YjQxNmY3MWQzZDA4YzM4NWMxNTkzMjViZgotLS0KIGdkYi90ZXN0c3Vp dGUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysr KysKIC4uLi9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgICAgICAgICB8ICA1ICsr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwICAgIHwgIDUgKyst CiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAgICAgfCAgMyArLQog Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9ibG9jay1kYXRhLmV4cCAgICAgIHwgIDQgKy0KIGdk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNldC5leHAgICAgICAgICB8ICA2ICsrLQogZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwICAgIHwgIDQgKy0KIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tcGxleC5leHAgICAgICAgICB8ICA1ICsrLQogLi4uL2dk Yi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS1mdW5jdGlvbi5leHAgICAgIHwgIDUgKystCiBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwICAgIHwgIDQgKy0KIGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vaW5mby10eXBlcy5leHAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2xvZ2ljYWwuZXhwICAgICAgICAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vbWF4LWRlcHRoLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL21vZHVsZS5leHAgICAgICAgICAgfCAgNiArLS0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vbXVsdGktZGltLmV4cCAgICAgICB8ICA0ICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL25lc3RlZC1mdW5jcy5leHAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9wcmludC1mb3JtYXR0ZWQuZXhwIHwgIDQgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHJpbnRfdHlwZS5leHAgICAgICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3By aW50aW5nLXR5cGVzLmV4cCAgfCAgNSArKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHRy LWluZGVudGF0aW9uLmV4cCB8ICA0ICstCiAuLi4vZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rp b25zLmV4cCAgICAgICAgfCAgNCArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJhcnJh eS5leHAgICAgICAgIHwgIDUgKystCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxv Yy1hc3NvYy5leHAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZGF0YXR5 cGVzLmV4cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3Rvcnku ZXhwICAgICB8ICAzICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5l eHAgICAgfCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4 cCAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cCAgICAg ICB8ICAyICstCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwICAgICAg fCAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAgICAgICAgIHwg IDIgKy0KIC4uLi9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLWFyYml0cmFyeS5leHAgICB8ICAz ICstCiAuLi4vZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1maW5pc2guZXhwICAgICAgfCAgMyAr LQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cCAgIHwgIDMgKy0K IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgICAgICB8ICA2ICstLQog Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAgICAgIHwgIDQgKy0KIGdk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cCAgICAgICB8ICAyICstCiBnZGIv dGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cCAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysK IDQwIGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdl TG9nCmluZGV4IGVjY2JhNjc0YTQuLmMxM2I2NTFlOTAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3Vp dGUvQ2hhbmdlTG9nCisrKyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg QEAKKzIwMjAtMDUtMTAgIEFsb2sgS3VtYXIgU2hhcm1hICA8YWxva2t1bWFyLnNoYXJtYUBhbWQu Y29tPgorCisJKiBsaWIvZm9ydHJhbi5leHAgKGZvcnRyYW5fbWFpbik6IE5ldyBQcm9jLCBoYW5k bGUgZmxhbmcgTUFJTl8sCisJKGZvcnRyYW5fcnVudG9fbWFpbik6IE5ldyBQcm9jLCBmb3J0cmFu IHZlcnNpb24gb2YgcnVudG9fbWFpbi4KKwkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy1oaWdo LmV4cDogSGFuZGxlIGZsYW5nIE1BSU5fCisJKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhw OiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHA6IExpa2V3aXNlLgor CSogZ2RiLmZvcnRyYW4vYmxvY2stZGF0YS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4v Y2hhcnNldC5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cDog TGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9jb21wbGV4LmV4cDogTGlrZXdpc2UuCisJKiBnZGIu Zm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0 cmFuL2Rlcml2ZWQtdHlwZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vaW5mby1tb2R1 bGVzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4cDogTGlrZXdp c2UuCisJKiBnZGIuZm9ydHJhbi9pbnRyaW5zaWNzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9y dHJhbi9saWJyYXJ5LW1vZHVsZS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vbG9naWNh bC5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4cDogTGlrZXdpc2Uu CisJKiBnZGIuZm9ydHJhbi9tb2R1bGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL211 bHRpLWRpbS5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cDog TGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwOiBMaWtld2lzZS4K KwkqIGdkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFu L3ByaW50aW5nLXR5cGVzLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi9wdHItaW5kZW50 YXRpb24uZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3B0eXBlLW9uLWZ1bmN0aW9ucy5l eHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwOiBMaWtld2lzZS4KKwkq IGdkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRy YW4vdmxhLWRhdGF0eXBlcy5leHA6IExpa2V3aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLWhpc3Rv cnkuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3ZsYS1wdHItaW5mby5leHA6IExpa2V3 aXNlLgorCSogZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1Yi5leHA6IExpa2V3aXNlLgorCSogZ2Ri LmZvcnRyYW4vdmxhLXB0eXBlLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtc2l6 ZW9mLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92bGEtdHlwZS5leHA6IExpa2V3aXNl LgorCSogZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwOiBMaWtld2lzZS4K KwkqIGdkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cDogTGlrZXdpc2UuCisJKiBn ZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cDogTGlrZXdpc2UuCisJKiBnZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwOiBMaWtld2lzZS4KKwkqIGdkYi5mb3J0cmFuL3doYXRpc190eXBlLmV4cDog TGlrZXdpc2UuCisJKiBnZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwOiBMaWtld2lzZS4KKwogMjAy MC0wNS0wOSAgVG9tIGRlIFZyaWVzICA8dGRldnJpZXNAc3VzZS5kZT4KIAogCSogZ2RiLmR3YXJm Mi9jbGFuZy1kZWJ1Zy1uYW1lcy5leHA6IFJlbW92ZSBQUjI1OTUyIGtmYWlsLgpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMtaGlnaC5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy1oaWdoLmV4cAppbmRleCA4MWUyZjg3 Yjg5Li5iYTM0ZGJjMjNlIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fy cmF5LWJvdW5kcy1oaWdoLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5 LWJvdW5kcy1oaWdoLmV4cApAQCAtMjAsMTMgKzIwLDE0IEBAIGlmIHsgW3NraXBfZm9ydHJhbl90 ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHNldCB0ZXN0ZmlsZSAiYXJyYXktYm91bmRzLWhpZ2gi CiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3By ZXBhcmVfZm9yX3Rlc3RpbmcgJHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUge2Y5MCBk ZWJ1Z31dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHshW3J1bnRvIE1BSU5fX119IHsKLSAg ICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitpZiB7IVtm b3J0cmFuX3J1bnRvX21haW5dfSB7CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIG1haW4u IgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vYXJyYXktYm91bmRzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91 bmRzLmV4cAppbmRleCAxMmJmNWMyZGIzLi4zZjI1MjczNDNiIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCkBAIC0yMCwxMyArMjAsMTQgQEAgaWYgeyBbc2tp cF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0KIAogc2V0IHRlc3RmaWxlICJhcnJheS1i b3VuZHMiCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBp ZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUg e2Y5MCBkZWJ1Z31dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHshW3J1bnRvIE1BSU5fX119 IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCitp ZiB7IVtmb3J0cmFuX3J1bnRvX21haW5dfSB7CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRv IG1haW4uIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vYXJyYXktc2xpY2VzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJy YXktc2xpY2VzLmV4cAppbmRleCAxMTk5N2Y5MjZhLi40Y2ExZGI5MGY3IDEwMDY0NAotLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LXNsaWNlcy5leHAKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1zbGljZXMuZXhwCkBAIC0yMSwxMyArMjEsMTQgQEAKIGlm IHtbc2tpcF9mb3J0cmFuX3Rlc3RzXX0geyByZXR1cm4gLTEgfQogCiBzdGFuZGFyZF90ZXN0Zmls ZSAiLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGlu ZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAJIHtkZWJ1ZyBmOTB9 XX0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbZm9ydHJh bl9ydW50b19tYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAg ICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYmxv Y2stZGF0YS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Jsb2NrLWRhdGEuZXhwCmlu ZGV4IDI5MmFmZTZjMTYuLjYzMmMwMTQxYTMgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vYmxvY2stZGF0YS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9i bG9jay1kYXRhLmV4cApAQCAtMzAsOCArMzAsOCBAQCBpZiB7W3ByZXBhcmVfZm9yX3Rlc3Rpbmcg JHRlc3RmaWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0 dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVuIHsKLSAgICB1bnRlc3RlZCAiY291 bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5d IHRoZW4geworICAgIHVudGVzdGVkICJjb3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4g LTEKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFyc2V0LmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY2hhcnNldC5leHAKaW5kZXggZjBmNjJmODQ5 MC4uZmM1MDRhZTBiMCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jaGFy c2V0LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NoYXJzZXQuZXhwCkBAIC0x OSwxMiArMTksMTQgQEAKIGlmIHsgW3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9 CiAKIHN0YW5kYXJkX3Rlc3RmaWxlIC5mOTAKK2xvYWRfbGliIGZvcnRyYW4uZXhwCisKIGlmIHsg W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3Ny Y2ZpbGV9IHtkZWJ1ZyBhZGRpdGlvbmFsX2ZsYWdzPS1mYmFja3NsYXNoIGY5MH1dIH0gewogICAg IHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvIE1BSU5fX10gewotICAgIHBlcnJvciAiQ291bGRu J3QgcnVuIHRvIE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB7CisgICAgcGVycm9y ICJDb3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAKaW5kZXggMTljMWFmMGQ4MS4uM2RhY2ZkMzJi MiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cApAQCAtMjcs OCArMjcsOCBAQCBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAk e3Rlc3RmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVu IHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFb Zm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBt YWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vY29tcGxleC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbXBsZXguZXhw CmluZGV4IGMwOTJhYjI5ZjEuLmE4OGU1NTNlNTggMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vY29tcGxleC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9j b21wbGV4LmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFy ZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9y X3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5 MCBxdWlldH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVu IHsKLSAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0byBNQUlOX18iCitpZiAhW2ZvcnRyYW5fcnVu dG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJDb3VsZG4ndCBydW4gdG8gbWFpbiIKICAgICBj b250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2 ZWQtdHlwZS1mdW5jdGlvbi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQt dHlwZS1mdW5jdGlvbi5leHAKaW5kZXggMWYwZjk1NzMxNy4uMmFlNmY0NmMxZSAxMDA2NDQKLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUtZnVuY3Rpb24uZXhwCisr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLWZ1bmN0aW9uLmV4cApA QCAtMjEsMTMgKzIxLDE0IEBACiBpZiB7IFtza2lwX2ZvcnRyYW5fdGVzdHNdIH0geyByZXR1cm4g LTEgfQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBp ZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNy Y2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG8gTUFJ Tl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1BSU5f XyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgImNvdWxkbid0 IHJ1biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZGVyaXZlZC10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZGVyaXZlZC10eXBlLmV4cAppbmRleCBmMTcwNWJmZmQ4Li40Yjg2YmE5N2RlIDEwMDY0NAot LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Rlcml2ZWQtdHlwZS5leHAKKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kZXJpdmVkLXR5cGUuZXhwCkBAIC0yNyw4ICsyNyw4IEBA IGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAk c3JjZmlsZSB7ZGVidWcgZjkwfV19IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50byBN QUlOX19dIHRoZW4gewotICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJ Tl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHRoZW4geworICAgIHBlcnJvciAiY291bGRu J3QgcnVuIHRvIG1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9pbmZvLW1vZHVsZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9pbmZvLW1vZHVsZXMuZXhwCmluZGV4IDBjM2M2YTU4ZTEuLmEzYTliMmNiMTggMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW5mby1tb2R1bGVzLmV4cAorKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2luZm8tbW9kdWxlcy5leHAKQEAgLTI4LDggKzI4LDgg QEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0Zmls ZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBl cnJvciAiQ291bGQgbm90IHJ1biB0byBicmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtmb3J0 cmFuX3J1bnRvX21haW5dIH0geworICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBtYWluLiIK ICAgICBjb250aW51ZQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2luZm8tdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9pbmZvLXR5cGVzLmV4 cAppbmRleCAyMTM4OTM3NzgyLi5lODBjOTkwYTg1IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2luZm8tdHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vaW5mby10eXBlcy5leHAKQEAgLTI3LDggKzI3LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVz dGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSBcCiAgICAgcmV0dXJuIC0xCiB9CiAK LWlmIHsgIVtydW50byBNQUlOX19dIH0gewotICAgIHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBi cmVha3BvaW50IGBNQUlOX18nLiIKK2lmIHsgIVtmb3J0cmFuX3J1bnRvX21haW5dIH0geworICAg IHBlcnJvciAiQ291bGQgbm90IHJ1biB0byBtYWluLiIKICAgICBjb250aW51ZQogfQogCmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3MuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9pbnRyaW5zaWNzLmV4cAppbmRleCA1MDRiY2U0MTM4Li4yY2Iw MjM3Yzk1IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ludHJpbnNpY3Mu ZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vaW50cmluc2ljcy5leHAKQEAgLTI1 LDggKzI1LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV0gfQogICAgIHJldHVybiAtMQogfQogCi1p ZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJl YWtwb2ludCBgTUFJTl9fJy4iCitpZiB7ICFbZm9ydHJhbl9ydW50b19tYWluXSB9IHsKKyAgICBw ZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gbWFpbi4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9saWJyYXJ5LW1vZHVsZS5leHAgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9kdWxlLmV4cAppbmRleCBmMjU5ODhlMzJj Li44MjU0ZmNmMTBhIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJh cnktbW9kdWxlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xpYnJhcnktbW9k dWxlLmV4cApAQCAtNDAsOSArNDAsMTAgQEAgaWYgIHsgW2dkYl9jb21waWxlICRzcmNkaXIvJHN1 YmRpci8kc3JjZmlsZSAkYmluZmlsZSBleGVjdXRhYmxlIFtsaXN0IGRlYnVnIGY5MAogY2xlYW5f cmVzdGFydCAkdGVzdGZpbGUKIAogZ2RiX2xvYWRfc2hsaWIgJGxpYmZpbGUKK2xvYWRfbGliIGZv cnRyYW4uZXhwCiAKLWlmICFbcnVudG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBicmVha3BvaW50IE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0 aGVuIHsKKyAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9 CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2xvZ2ljYWwuZXhwCmluZGV4IDMyNDcxNGZhNDkuLjE2 MWJiZGQ5MDggMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbG9naWNhbC5l eHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9sb2dpY2FsLmV4cApAQCAtMTYsMTMg KzE2LDE0IEBACiAjIFRoaXMgZmlsZSB3YXMgd3JpdHRlbiBieSBKYW4gS3JhdG9jaHZpbCA8amFu LmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlIC5mOTAKK2xvYWRf bGliIGZvcnRyYW4uZXhwCiAKIGlmIHtbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwIHF1aWV0fV19IHsKICAgICByZXR1 cm4gLTEKIH0KIAotaWYgeyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgcGVycm9yICJDb3VsZCBu b3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyAhW2ZvcnRyYW5fcnVudG9fbWFp bl0gfSB7CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIG1haW4uIgogICAgIGNvbnRpbnVl CiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbWF4LWRlcHRoLmV4cAppbmRleCAyNjJkMGZk ZmExLi40MjBiNzI1MzlmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21h eC1kZXB0aC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tYXgtZGVwdGguZXhw CkBAIC0yNiw4ICsyNiw4IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBw cmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dIH0KICAgICByZXR1cm4gLTEK IH0KIAotaWYgeyAhW3J1bnRvIE1BSU5fX10gfSB7Ci0gICAgcGVycm9yICJDb3VsZCBub3QgcnVu IHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgoraWYgeyAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gfSB7 CisgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIG1haW4uIgogICAgIGNvbnRpbnVlCiB9CiAK ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbW9kdWxlLmV4cAppbmRleCAxYzI2OWUyZmVkLi40YTgyNTFj NDRjIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL21vZHVsZS5leHAKKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tb2R1bGUuZXhwCkBAIC0yOSw4ICsyOSw4IEBA IGdkYl90ZXN0ICJwIG1vZG1hbnk6OnZhcl9pIiAiID0gMTQiICJzdG9wcGVkIGxhbmd1YWdlIGRl dGVjdGlvbiIKIAogZ2RiX3Rlc3QgInByaW50IG1vZDE6OnZhcl9jb25zdCIgIiA9IDIwIiAiZnVs bHkgcXVhbGlmaWVkIG5hbWUgb2YgRFdfVEFHX2NvbnN0YW50IgogCi1pZiAhW3J1bnRvIE1BSU5f X10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBNQUlOX18i CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3VsZG4ndCBy dW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogCkBAIC0xMjMsNyArMTIzLDcgQEAgY29tcGxl dGUgIm1vZG1hbnk6OnZhciIgJG1vZG1hbnlfbGlzdAogIyBCcmVha3BvaW50IHdvdWxkIHdvcmsg aW4gbGFuZ3VhZ2UgImMiLgogZ2RiX3Rlc3QgInNob3cgbGFuZ3VhZ2UiIHtUaGUgY3VycmVudCBz b3VyY2UgbGFuZ3VhZ2UgaXMgIihhdXRvOyBjdXJyZW50bHkgKT9mb3J0cmFuIi59CiAKLSMgZ2Nj LTQuNC4yOiBUaGUgbWFpbiBwcm9ncmFtIGlzIGFsd2F5cyBNQUlOX18gaW4gLnN5bXRhYiBzbyAi cnVudG8iIGFib3ZlCisjIGdjYy00LjQuMjogVGhlIG1haW4gcHJvZ3JhbSBpcyBhbHdheXMgJGZt YWluIGluIC5zeW10YWIgc28gInJ1bnRvIiBhYm92ZQogIyB3b3Jrcy4gIEJ1dCBEV0FSRiBEV19U QUdfc3VicHJvZ3JhbSBjb250YWlucyB0aGUgbmFtZSBzcGVjaWZpZWQgYnkKICMgdGhlICJwcm9n cmFtIiBGb3J0cmFuIHN0YXRlbWVudC4KIGlmIFtnZGJfYnJlYWtwb2ludCAibW9kdWxlIl0gewpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9tdWx0aS1kaW0uZXhwCmluZGV4IDA1NTkwOTE0ZGYuLmVm NmM2ZGE4YmQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbXVsdGktZGlt LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL211bHRpLWRpbS5leHAKQEAgLTI1 LDggKzI1LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUi ICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0ge2RlYnVnIGY5MH0KICAgICByZXR1cm4gLTEKIH0KIAot aWYgIVtydW50byBNQUlOX19dIHsKLSAgICBwZXJyb3IgIkNvdWxkbid0IHJ1biB0byBNQUlOX18i CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0geworICAgIHBlcnJvciAiQ291bGRuJ3QgcnVuIHRv IG1haW4iCiAgICAgY29udGludWUKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9uZXN0ZWQtZnVuY3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9uZXN0 ZWQtZnVuY3MuZXhwCmluZGV4IGU0ZmMwMmZmYTUuLjllMDA3M2QyMTAgMTAwNzU1Ci0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmVzdGVkLWZ1bmNzLmV4cAorKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL25lc3RlZC1mdW5jcy5leHAKQEAgLTI1LDggKzI1LDggQEAgaWYge1tw cmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxl IHtkZWJ1ZyBmOTB9XX0gewogICAgIHJldHVybiAtMQ0KIH0NCiANCi1pZiAhW3J1bnRvIE1BSU5f X10gdGhlbiB7DQotICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9f Ig0KK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsNCisgICAgcGVycm9yICJjb3VsZG4n dCBydW4gdG8gbWFpbiINCiAgICAgY29udGludWUNCiB9DQogDQpkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9wcmludC1mb3JtYXR0ZWQuZXhwCmluZGV4IDhjNjUyOWNlN2YuLmU3MTI4Nzcy NGIgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnQtZm9ybWF0dGVk LmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50LWZvcm1hdHRlZC5leHAK QEAgLTI1LDggKzI1LDggQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHBy ZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7ZGVidWcgZjkwfV0gfQogICAgIHJldHVybiAtMQog fQogCi1pZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKLSAgICBmYWlsICJydW50byBNQUlOX18iCitp ZiB7ICFbZm9ydHJhbl9ydW50b19tYWluXSB9IHsKKyAgICBmYWlsICJjb3VsZCBub3QgcnVuIHRv IG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHJpbnRfdHlwZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50 X3R5cGUuZXhwCmluZGV4IDdkNTkxNTM5MGQuLmZjZWRiOTU3OWEgMTAwNzU1Ci0tLSBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cApAQCAtMjQsNyArMjQsNyBAQCBpZiB7IFtwcmVwYXJl X2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAg ICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9f bWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJu IC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5 cGVzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwCmlu ZGV4IDJjODhmOWUwMDMuLjQ0ZmQ5M2NjNTYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHJpbnRpbmctdHlwZXMuZXhwCkBAIC0xNiwxMyArMTYsMTQgQEAKIGlmIHtbc2tpcF9mb3J0 cmFuX3Rlc3RzXX0geyByZXR1cm4gLTEgfQogCiBzdGFuZGFyZF90ZXN0ZmlsZSAuZjkwCitsb2Fk X2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHRlc3RmaWxlLmV4 cCAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAK LWlmIHshW3J1bnRvIE1BSU5fX119IHRoZW4gewotICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVu IHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgeyFbZm9ydHJhbl9ydW50b19tYWluXX0gdGhlbiB7 CisgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICByZXR1cm4gLTEKIH0K IApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHItaW5kZW50YXRpb24u ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHItaW5kZW50YXRpb24uZXhwCmluZGV4 IDI4NWUyNGUyY2MuLjIwOTgwOWEyOTIgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vcHRyLWluZGVudGF0aW9uLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3B0ci1pbmRlbnRhdGlvbi5leHAKQEAgLTIyLDggKzIyLDggQEAgaWYge1twcmVwYXJlX2Zvcl90 ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1ZyBmOTB9XX0gewog ICAgIHJldHVybiAtMQogfQogCi1pZiB7IVtydW50byBNQUlOX19dfSB0aGVuIHsKLSAgICB1bnRl c3RlZCAiY291bGRuJ3QgcnVuIHRvIGJyZWFrcG9pbnQgTUFJTl9fIgoraWYgeyFbZm9ydHJhbl9y dW50b19tYWluXX0gdGhlbiB7CisgICAgdW50ZXN0ZWQgImNvdWxkbid0IHJ1biB0byBtYWluIgog ICAgIHJldHVybiAtMQogfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3B0eXBlLW9uLWZ1bmN0aW9ucy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3B0eXBl LW9uLWZ1bmN0aW9ucy5leHAKaW5kZXggZDkxZTRiZDQ4ZS4uOGRjNWY3NmQ5MyAxMDA2NDQKLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wdHlwZS1vbi1mdW5jdGlvbnMuZXhwCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHR5cGUtb24tZnVuY3Rpb25zLmV4cApAQCAtMjQs OCArMjQsOCBAQCBpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAk dGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLWlm ICFbcnVudG8gTUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVh a3BvaW50IE1BSU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsKKyAgICBwZXJy b3IgImNvdWxkbid0IHJ1biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3ViYXJyYXkuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdWJhcnJheS5leHAKaW5kZXggNWUzZThjMzhjYi4uOWVlNWE5YjNjYiAxMDA2 NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJhcnJheS5leHAKKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJhcnJheS5leHAKQEAgLTIxLDYgKzIxLDcgQEAKIGlm IHsgW3NraXBfZm9ydHJhbl90ZXN0c10gfSB7IHJldHVybiAtMSB9CiAKIHN0YW5kYXJkX3Rlc3Rm aWxlIC5mCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7W3ByZXBhcmVfZm9yX3Rlc3Rpbmcg ImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUge2RlYnVnIGY5MH1dfSB7CiAg ICAgcmV0dXJuIC0xCkBAIC0zMSw4ICszMiw4IEBAIGdkYl9zdGFydAogZ2RiX3JlaW5pdGlhbGl6 ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCiBnZGJfbG9hZCAke2JpbmZpbGV9CiAKLWlmICFbcnVudG8g TUFJTl9fXSB0aGVuIHsKLSAgICBwZXJyb3IgImNvdWxkbid0IHJ1biB0byBicmVha3BvaW50IE1B SU5fXyIKK2lmICFbZm9ydHJhbl9ydW50b19tYWluXSB0aGVuIHsKKyAgICBwZXJyb3IgImNvdWxk bid0IHJ1biB0byBtYWluIgogICAgIGNvbnRpbnVlCiB9CiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLWFsbG9jLWFzc29jLmV4cAppbmRleCA1ZDg1ODVjMmVlLi4yYWUwNDExY2Yx IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1hbGxvYy1hc3NvYy5l eHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtYWxsb2MtYXNzb2MuZXhwCkBA IC0xNCwxMyArMTQsMTQgQEAKICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2 bGEuZjkwIgorbG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGlu ZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1 ZyBmOTAgcXVpZXR9XSB9IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7 CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVu IHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1kYXRhdHlwZXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtZGF0YXR5cGVzLmV4cAppbmRleCAyZGI5YjNlMTEwLi5iNjk2MzZmNjAwIDEwMDY0NAotLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1kYXRhdHlwZXMuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWRhdGF0eXBlcy5leHAKQEAgLTI0LDcgKzI0LDcgQEAg aWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9 ICR7c3JjZmlsZX0gXAogIyBjaGVjayB0aGF0IGFsbCBmb3J0cmFuIHN0YW5kYXJkIGRhdGF0eXBl cyB3aWxsIGJlCiAjIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKIAotaWYg IVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVk ICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1oaXN0b3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCmluZGV4IDI0YmQ5NDVmNGEuLjNiZjk4ZGIxOTcg MTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCisr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWhpc3RvcnkuZXhwCkBAIC0xNCwxMyAr MTQsMTQgQEAKICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgor bG9hZF9saWIgZm9ydHJhbi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVk IHRvIHByZXBhcmUiICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVp ZXR9XSB9IHsKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2Zv cnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4i CiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1wdHItaW5mby5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHItaW5m by5leHAKaW5kZXggMjRjN2I0NTg0MC4uZDNmYTU5NWJlYSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHRyLWluZm8uZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXB0ci1pbmZvLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLmY5MCIKK2xvYWRfbGliIGZvcnRyYW4uZXhw CiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3Rm aWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAgICAgcmV0dXJu IC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsK ICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUtc3ViLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLXN1Yi5leHAKaW5kZXggMDk5MDll NzRiMC4uMDdhNGE1ZmMyZSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtcHR5cGUtc3ViLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlw ZS1zdWIuZXhwCkBAIC0yMSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZh aWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEK IH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAg IHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKaW5kZXggMjJiMjAwNTMxNy4uYmJiODFl YTBjOCAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cApAQCAtMjEsNyAr MjEsNyBAQCBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFp bl0geworaWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90 IHJ1biB0byBtYWluIgogICAgIHJldHVybiAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXNpemVvZi5leHAKaW5kZXggOGU3ZDM2MzE0ZS4uZDI2YjhjNjBmOCAxMDA2NDQKLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAorKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2YuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEuZjkwIgorbG9hZF9saWIgZm9ydHJh bi5leHAKIAogaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7 dGVzdGZpbGV9ICR7c3JjZmlsZX0gXAogICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKICAgICBy ZXR1cm4gLTEKIH0KIAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFp bl0gewogICAgIHVudGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0x CiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCmluZGV4IDZkODg1ZTc4ODku LmYwMDdlYTNhNzggMTAwNzU1Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5 cGUuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwCkBAIC0y MSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50 b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVudGVzdGVkICJjb3Vs ZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItYXJiaXRyYXJ5LmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCmluZGV4IGFiNjFk ZGUwNmYuLmMzZWQ5MDlhODEgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v dmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXZhbHVlLXN1Yi1hcmJpdHJhcnkuZXhwCkBAIC0xNCwxMyArMTQsMTQgQEAKICMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCiAKIHN0YW5kYXJkX3Rlc3RmaWxlICJ2bGEtc3ViLmY5MCIKK2xvYWRfbGliIGZv cnRyYW4uZXhwCiAKIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7CiAg ICAgcmV0dXJuIC0xCiB9CiAKLWlmICFbcnVudG9fbWFpbl0geworaWYgIVtmb3J0cmFuX3J1bnRv X21haW5dIHsKICAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0byBtYWluIgogICAgIHJldHVy biAtMQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUt c3ViLWZpbmlzaC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWIt ZmluaXNoLmV4cAppbmRleCBhZmQ5OTJjZWU0Li40MDNlNDExY2MyIDEwMDY0NAotLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cAorKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS1zdWItZmluaXNoLmV4cApAQCAtMTQsMTMg KzE0LDE0IEBACiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5m OTAiCitsb2FkX2xpYiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJm YWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5 MCBxdWlldH1dIH0gewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lm ICFbZm9ydHJhbl9ydW50b19tYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8g bWFpbiIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12 YWx1ZS1zdWIuZXhwCmluZGV4IDMzMTFmNmJlZmEuLmZkOTIzZWRmNDAgMTAwNjQ0Ci0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLXN1Yi5leHAKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUtc3ViLmV4cApAQCAtMTQsMTMgKzE0LDE0IEBACiAj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgogCiBzdGFuZGFyZF90ZXN0ZmlsZSAidmxhLXN1Yi5mOTAiCitsb2FkX2xp YiBmb3J0cmFuLmV4cAogCiBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJl cGFyZSIgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfSBcCiAgICAge2RlYnVnIGY5MCBxdWlldH1dIH0g ewogICAgIHJldHVybiAtMQogfQogCi1pZiAhW3J1bnRvX21haW5dIHsKK2lmICFbZm9ydHJhbl9y dW50b19tYWluXSB7CiAgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKICAgICBy ZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZh bHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAppbmRleCA1 YWYxN2I1NzBjLi45YTcyN2ZjMzBhIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS12YWx1ZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFs dWUuZXhwCkBAIC0yMSw3ICsyMSw3IEBAIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxl ZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwKICAgICByZXR1cm4gLTEKIH0K IAotaWYgIVtydW50b19tYWluXSB7CitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gewogICAgIHVu dGVzdGVkICJjb3VsZCBub3QgcnVuIHRvIG1haW4iCiAgICAgcmV0dXJuIC0xCiB9CkBAIC0xMjks OCArMTI5LDggQEAgZ2RiX3Rlc3QgInByaW50IHZsYTEoOSwgOSwgOSkiICJubyBzdWNoIHZlY3Rv ciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFwKICMgVHJ5IHRvIGFzc2lnbiBWTEEg dG8gdXNlciB2YXJpYWJsZQogY2xlYW5fcmVzdGFydCAke3Rlc3RmaWxlfQogCi1pZiAhW3J1bnRv IE1BSU5fX10gdGhlbiB7Ci0gICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBN QUlOX18iCitpZiAhW2ZvcnRyYW5fcnVudG9fbWFpbl0gdGhlbiB7CisgICAgcGVycm9yICJjb3Vs ZG4ndCBydW4gdG8gbWFpbiIKICAgICBjb250aW51ZQogfQogZ2RiX2JyZWFrcG9pbnQgW2dkYl9n ZXRfbGluZV9udW1iZXIgInZsYTItYWxsb2NhdGVkIl0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vd2hhdGlzX3R5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi93aGF0aXNfdHlwZS5leHAKaW5kZXggNmE5Y2MwYTgxZS4uNGIwY2JmOWMyOCAxMDA2NDQKLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAKKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi93aGF0aXNfdHlwZS5leHAKQEAgLTIzLDggKzIzLDggQEAgaWYg eyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR7dGVzdGZpbGV9IFwK ICAgICByZXR1cm4gLTEKIH0KIAotaWYgIVtydW50byBNQUlOX19dIHsKLSAgICBmYWlsICJydW4g dG8gTUFJTl9fIgoraWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKKyAgICBmYWlsICJydW4gdG8g bWFpbiIKICAgICByZXR1cm4KIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmFyLWNoaWxkLWYuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYu ZXhwCmluZGV4IDhjZmZmYTdjMDguLjNhZjgwYThlNjAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aS12YXItY2hpbGQtZi5leHAKQEAgLTM2LDcgKzM2LDcgQEAgaWYge1tnZGJfY29tcGlsZSAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgXAogbWlfZ2RiX3JlaW5p dGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCiBtaV9nZGJfbG9hZCAke2JpbmZpbGV9CiAKLW1p X3J1bnRvIE1BSU5fXworbWlfcnVudG8gW2ZvcnRyYW5fbWFpbl0KIAogbWlfY3JlYXRlX3Zhcm9i aiAiYXJyYXkiICJhcnJheSIgImNyZWF0ZSBsb2NhbCB2YXJpYWJsZSBhcnJheSIKIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZm9ydHJhbi5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9m b3J0cmFuLmV4cAppbmRleCA1NDllZDY1NzkwLi5iOWRlZjdmYTIxIDEwMDY0NAotLS0gYS9nZGIv dGVzdHN1aXRlL2xpYi9mb3J0cmFuLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9mb3J0cmFu LmV4cApAQCAtMTI2LDMgKzEyNiwyMyBAQCBwcm9jIGZvcnRyYW5fY2hhcmFjdGVyMSB7fSB7CiAJ cmV0dXJuICJ1bmtub3duIgogICAgIH0KIH0KKworIyBSZXR1cm4gbmFtZSBvZiB0aGUgbWFpbiBw cm9jZWR1cmUgYmFzZWQgb24gdGhlIGNvbXBpbGVyIHZlcnNpb24uCisKK3Byb2MgZm9ydHJhbl9t YWluIHt9IHsKKyAgICBpZiB7W3Rlc3RfY29tcGlsZXJfaW5mbyB7Z2NjLTQtWzAxMl0tKn1dCisg ICAgICAgICB8fCBbdGVzdF9jb21waWxlcl9pbmZvIHtnY2MtKn1dCisgICAgICAgICB8fCBbdGVz dF9jb21waWxlcl9pbmZvIHtpY2MtKn1dfSB7CisJcmV0dXJuICJNQUlOX18iCisgICAgfSBlbHNl aWYge1t0ZXN0X2NvbXBpbGVyX2luZm8ge2NsYW5nLSp9XX0geworCXJldHVybiAiTUFJTl8iCisg ICAgfSBlbHNlIHsKKwlyZXR1cm4gInVua25vd24iCisgICAgfQorfQorCisjIEZvcnRyYW4gdmVy c2lvbiBvZiBydW50b19tYWluLgorCitwcm9jIGZvcnRyYW5fcnVudG9fbWFpbiB7IH0geworICAg IHJldHVybiBbcnVudG8gW2ZvcnRyYW5fbWFpbl1dCit9Ci0tIAoyLjE3LjEKCg== --_002_BY5PR12MB3859FFD8E99A60472225B2B09EA00BY5PR12MB3859namp_--