From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2072.outbound.protection.outlook.com [40.107.236.72]) by sourceware.org (Postfix) with ESMTPS id A28A53858C3B for ; Tue, 24 Aug 2021 09:16:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A28A53858C3B ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YWGl9+V0YJEVfQ4nivMmH1kklaA6rauNSpXYT0DzQFzecqIlY9Jtl9+2V8Jqmqe2TouPtMStWZbL4UB7PNl4NiHl8r9XMjmH8x0qWET19MO4yMzNfsbNm3SEwsMBQl4EOeIzIhGSyCojpiTws4Z6oZQ9yJm52KQeoMZSltdb+7vH6JnfrqolzOlWogQWMdBervx5PiN2ukrn0seoIKMHqRy0ueazqHwVFVX3V99jHOpFvfc6uxEXWNMof02rwce865TwxOc5wsKgIDO7cpZRIpHblmNbVpdXhBYXBdjQ4uPKfdR8eGcze2L9RfyI9sqyynWuChyAO9xtF76B9bMK9g== 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=eqLCw74Tbiy2FsjN/mjxi4o9zhQymxgysj0vTmPNJGk=; b=dj3jtQt/JoMuCf6p8zEXe/xtmWM65QZXQssuWk+9rS4VCYc88TOD36LnWjErJGtuzWOUyZIPyXSBfwbn/KbFiPX2lQVu4XD4ojJbiyZNMMYSM32mMB/glTQM2yHSue/cbT6WUbqQVIpaPJ7Ht+ugLxs0a2LzE254QED+yYp47VBvlaH8b83FZpDlxeThSfCED6hojYDE/Sr6hvGYukZfEWeEtZLMBSdXGhfzP8frVu4Ujrs1kReVSpz4Zu9r8CW/Cc9txqJ4nrrsdEnVscroxm8+Nq0qlF4OAu+kqxfM2bIBuW0w40L1tiy/+kVIEggBBFrhVhLQTsD32limxyAsUg== 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 Received: from MW2PR12MB4684.namprd12.prod.outlook.com (2603:10b6:302:13::29) by MW3PR12MB4588.namprd12.prod.outlook.com (2603:10b6:303:2e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Tue, 24 Aug 2021 09:16:19 +0000 Received: from MW2PR12MB4684.namprd12.prod.outlook.com ([fe80::4025:2a95:e126:53de]) by MW2PR12MB4684.namprd12.prod.outlook.com ([fe80::4025:2a95:e126:53de%6]) with mapi id 15.20.4436.024; Tue, 24 Aug 2021 09:16:19 +0000 From: "Kumar N, Bhuvanendra" To: "gdb-patches@sourceware.org" CC: "George, Jini Susan" , "Sharma, Alok Kumar" , "Achra, Nitika" , "E, Nagajyothi" Subject: [PATCH] Fix ptype and print commands for namelist variables(a fortran feature) Thread-Topic: [PATCH] Fix ptype and print commands for namelist variables(a fortran feature) Thread-Index: AdeYyESNFilxiCvkSRWjYmJPezxZtg== Date: Tue, 24 Aug 2021 09:16:19 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Enabled=true; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SetDate=2021-08-24T09:16:13Z; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Method=Standard; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Name=AMD Official Use Only-AIP 2.0; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ActionId=357205d1-5ce1-4207-a6db-1ed65556c43c; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ContentBits=1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0e137476-f6ec-4e31-839c-08d966dfd5ae x-ms-traffictypediagnostic: MW3PR12MB4588: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IIKAXcCeSO6IbIX4nGi3gyvrjK3MFzemzA8MWadyu4GfZrkOxjIww33QUMCmTAqmcYyi2h/0mCjsc7lxr0U3l0nojONkw3KCxqJFCQspUAZdBqfAxoSU5Z0T1p80Tcw8WSciAqEXcktGts+RzBdgoUt7ndSHVAemJI6w6XB9ne8mhexwvXuv0i9DO+B2AcOh5cuB7Tbl+f9wV7RiFhhbo7HTscJhYpxHHDe4jE3kiuCaQZUiUs9pLKQitPmt7tXhiOrrGoVW+vtevreYKuhC2I+YAshPaD49wAhht2oN3u9GjnMcRkf6EfqZ6p1fH/Z04wpIIm0VgLGRk3WAnPKDMF3pkDhvdEUsobJWPB4HNLs5/lKJJhm9hKYOvCeR+8nHjMfJ2BeBK9Q0MPQ1J3iY+D5br6KIBta3L3YIc1Bnv3n/AxOjsHmbuREjeAPlU5TzVx/UyQr/0LrCVJNLO1bwsTHPnLhzeuKacBnXn4Nn2fBmqk+pgYejyeVtAPUq4pMXog3viXqkQpoFi9RH4vMHCpAwGz+eoKaoWmaJ8NKQ1LAuwLgp5vsWBkSjSHA0R/VSlZvR4Jm9FcWaRpm9hCDwNqhH61vWlOqRmMEY7EEObXDv3v3sIxr6es49+d0F+to9HXahStaNug6ECC1n3FhPR9jAwI0pQDRuUPG6NgXug9RLQCBOGmHxxRQHs8hAJCNSrvFjkGOPTLD0TrfZQ2c8VIugfRdeqJKae6teZ46/1ZGCe8wdF9Il0ydlrkmQlilWvNfbg14YWfKV6U8R9AgwYvUOFBBTVIOn1w90LOlovrBD3GtxtplN0x0/Jf2ZGeE8qSptrTkABf3lGJoN26RpBAEUyobc2YyFMJt123GTFFM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4684.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(122000001)(99936003)(86362001)(316002)(8936002)(30864003)(38100700002)(2906002)(166002)(966005)(478600001)(83380400001)(54906003)(55016002)(8676002)(38070700005)(7696005)(5660300002)(9686003)(6506007)(53546011)(66476007)(66616009)(66446008)(66556008)(64756008)(33656002)(4326008)(71200400001)(186003)(26005)(6916009)(52536014)(66946007)(76116006)(2004002)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8myqU7M2UX/De0izkuZ5SW8LUy+opRqXCHKFAwjn5V8O6eMe8ypDBP9JfLoa?= =?us-ascii?Q?3W8kIGRcpKO0G+Gy1Nv5wHlEn0fgaBCkj2fCvUvT2miIld4pncrtkXGLK523?= =?us-ascii?Q?dT9Ame/Mm079NjNMz3u682bMHltoIt/ymgqaNw2PdcvNpiaBrO8O5IBVZE8y?= =?us-ascii?Q?3YGEvIz6yN7dPBeipqICsLjGIY7hCnBD2ncBdVVcvqQ0de9mUt9yBNdy0tCE?= =?us-ascii?Q?OcGtq2dniIIzOOImHVUNp7F0ZaTiR4PeGnjE3DOoplRT1jr+hEfMhnxkzCM7?= =?us-ascii?Q?532YgcOwtJJMKV7RtmP29qg5v3LAMSdevjczBzXeCQ1vSIsCOCgDmU9hNO/G?= =?us-ascii?Q?wLrublgCFfw6FpudVtgMPU62aENkHYe9LNQSSNb7qiTGP3X18eDHJ4shMrUM?= =?us-ascii?Q?XyvhEUQUGdNX0E5hsdPM5ie8DrDYlVcmFSZuR3mYsAh9nlueRcVA9kkzMztt?= =?us-ascii?Q?jH4IRxI4tL9QDgDcccMs5cJ8XmIUWWFVLD2JzeQCMfWD+tjDeVQ30t/Q4QmV?= =?us-ascii?Q?OKUh3qRsSmACzX229v6mtsHjvlBLveiisMtsroDxGnoUp4SSRqwNaWfLtPle?= =?us-ascii?Q?7u26Zcug+y98CFQbs4MGUxbVGfLceMAut/FliezTsQSTEY6Zb9dwauzPj4CI?= =?us-ascii?Q?gCbYiUdDAydAQsuZks2wi2SDSdxJ1rhWDOlw20Egfz/R9caCuHKo84ZbGUD0?= =?us-ascii?Q?AbH/L0/GjJVBzI9Kurxo0QYQ7whcBvN2ceiqdjRHsMimYzD+Y0/hu0QbSD24?= =?us-ascii?Q?Q+cxFqAGlys8NKZIUFpyOtjKHP+BstWtFOKs9BnFRWvojhGQJJf0aY3DaBCj?= =?us-ascii?Q?z2Hcl+j/KYvPTE1NGrhBS3+glG8sSCCFnPJgf3A61NOJx+P99yMZExPnK7vb?= =?us-ascii?Q?ObIZX/6UuIDRP7CJNHC+C4VTlVXE4OOfiqzL9RuMKAW2YSRajcpdy7Ml0qc6?= =?us-ascii?Q?VPf/JAoUn0SFMFDJ3f0vJr6QV7m8mIGz+2UlDmBeJpNR2+qd894UgVj7gv6w?= =?us-ascii?Q?K9fp3b+JRgeUpmhdGXrRTzs+W8h/oXsC8cuprNp4VHe6OdVR5PDIsihnGqMw?= =?us-ascii?Q?uXZOLnagc05N8RDGYGJNfZduR6aW2/udQUqoIYogcTQyEf63SCT2JLF1DXP6?= =?us-ascii?Q?PxJv3hZU2RAjHbnUlskF4FogzUWsg7NNBSWYlRzlNDhURdCLXIVvGyurH/4z?= =?us-ascii?Q?c7V0yfN70KOwvD85kZktJDKyZsDFSMLOKEJWUrOgEw+0R0h+KobGTD2W/UMJ?= =?us-ascii?Q?6bCCECLD/vPgng2EGunS5TZLwYePH+KFcJYb6b6j7J/0jPJ6bsnmQ/p9wQEc?= =?us-ascii?Q?S71Xy0qFY6OLYieYH7kHT1KK?= Content-Type: multipart/mixed; boundary="_004_MW2PR12MB46844ECA167D82F5A91E158E87C59MW2PR12MB4684namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4684.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e137476-f6ec-4e31-839c-08d966dfd5ae X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2021 09:16:19.6481 (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: GcsNbAVPuv70SV8xyjC9tcDzPJgRhMF1X6dMmAGI2DcGw5ixiPdZQglDgNTHMWqiZJRJNOv0UMyzHv8YkzEruw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4588 X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, HTML_MESSAGE, KAM_SHORT, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_PASS, TXREP, T_SPF_HELO_TEMPERROR autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Tue, 24 Aug 2021 09:16:33 -0000 --_004_MW2PR12MB46844ECA167D82F5A91E158E87C59MW2PR12MB4684namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only] Hi all, Requesting code review for this GDB patch. Required patch is attached and a= lso inlined below with this email. Problem description/summary: GCC/gfortran support namelist(a fortran feature), it emits DW_TAG_namelist = and DW_TAG_namelist_item dies. But gdb does not process these dies and supp= ort namelist variables during print and ptype commands. When tried to print= , it bails out with the error message as shown below. (gdb) print nml No symbol "nml" in current context. Fix details: This fix is to make the print and ptype commands work for namelist variable= s and its items. Sample output of these commands is shared below, with fixe= d gdb. (gdb) ptype nml type =3D Type nml integer(kind=3D4) :: a integer(kind=3D4) :: b End Type nml (gdb) print nml $1 =3D ( a =3D 10, b =3D 20 ) gdb/ChangeLog: * dwarf2/read.c (process_die): Add new case for namelist. (dwarf2_add_field): Process DW_TAG_namelist_item die. (read_structure_type, handle_struct_member_die, new_symbol) (dwarf2_name): Update. * f-valprint.c (f_language::value_print_inner): Add support for printing namelist items. * include/dwarf2.def: (DW_AT_namelist_items): Renamed to ... (DW_AT_namelist_item): ... this. As per dwarf standard. gdb/testsuite/ChangeLog: * gdb.fortran/namelist.exp: New file. * gdb.fortran/namelist.f90: New file. NOTE: Similarly renaming DW_AT_namelist_items to DW_AT_namelist_item as per= DWARF standard naming convention in GCC/gfortran repo (https://github.com/= gcc-mirror/gcc) will be handled in separate PATCH. I will raise separate pa= tch for this. regards, bhuvan Patch inlined: >From 0775cbf3716bae9480c3f1f1d9d8860ac561929e Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?=3DE2=3D80=3D9Cbhkumarn=3DE2=3D80=3D9D?=3D Bhuvanendra.Ku= marN@amd.com Date: Mon, 24 Aug 2021 11:49:14 +0530 Subject: [PATCH] Fix ptype and print commands for namelist variables(a fort= ran feature). GCC/gfortran support namelist(a fortran feature), it emits DW_TAG_namelist and DW_TAG_namelist_item dies. But gdb does not process these dies and support namelist variables during print and ptype commands. When tried to print, it bails out with the error message as shown below. (gdb) print nml No symbol "nml" in current context. This commit is to make the print and ptype commands work for namelist variables and its items. Sample output of these commands is shared below, with fixed gdb. (gdb) ptype nml type =3D Type nml integer(kind=3D4) :: a integer(kind=3D4) :: b End Type nml (gdb) print nml $1 =3D ( a =3D 10, b =3D 20 ) --- gdb/ChangeLog | 11 +++++++ gdb/dwarf2/read.c | 41 +++++++++++++++++++---- gdb/f-valprint.c | 10 ++++++ gdb/testsuite/ChangeLog | 5 +++ gdb/testsuite/gdb.fortran/namelist.exp | 45 ++++++++++++++++++++++++++ gdb/testsuite/gdb.fortran/namelist.f90 | 27 ++++++++++++++++ include/dwarf2.def | 2 +- 7 files changed, 134 insertions(+), 7 deletions(-) create mode 100644 gdb/testsuite/gdb.fortran/namelist.exp create mode 100644 gdb/testsuite/gdb.fortran/namelist.f90 diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 36cb4c9e7e9..ec01c2957e9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2021-08-23 Bhuvanendra Kumar N Bhuvanendra.KumarN@amd.com + + * dwarf2/read.c (process_die): Add new case for namelist. + (dwarf2_add_field): Process DW_TAG_namelist_item die. + (read_structure_type, handle_struct_member_die, new_symbol) + (dwarf2_name): Update. + * f-valprint.c (f_language::value_print_inner): Add support for + printing namelist items. + * include/dwarf2.def: (DW_AT_namelist_items): Renamed to ... + (DW_AT_namelist_item): ... this. As per dwarf standard. + 2021-06-08 Lancelot Six lsix@lancelotsix.com * python/lib/gdb/FrameDecorator.py (FrameDecorator): Use 'is None' diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 96009f1418f..54528d67498 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -9570,6 +9570,7 @@ process_die (struct die_info *die, struct dwarf2_cu *= cu) case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: + case DW_TAG_namelist: process_structure_scope (die, cu); break; case DW_TAG_enumeration_type: @@ -14417,8 +14418,20 @@ dwarf2_add_field (struct field_info *fip, struct d= ie_info *die, fp =3D &new_field->field; - if (die->tag =3D=3D DW_TAG_member && ! die_is_declaration (die, cu)) - { + if ((die->tag =3D=3D DW_TAG_member || die->tag =3D=3D DW_TAG_namelist_it= em) && + ! die_is_declaration (die, cu)) + { + /* For the DW_TAG_namelist_item die, use the referenced die. */ + if (die->tag =3D=3D DW_TAG_namelist_item) + { + struct attribute *attr1 =3D dwarf2_attr (die, DW_AT_namelist_ite= m, cu); + struct die_info *item_die =3D NULL; + struct dwarf2_cu *item_cu =3D cu; + if (attr1->form_is_ref ()) + item_die =3D follow_die_ref (die, attr1, &item_cu); + if (item_die !=3D NULL) + die =3D item_die; + } /* Data member other than a C++ static data member. */ /* Get type of field. */ @@ -15449,6 +15462,8 @@ read_structure_type (struct die_info *die, struct d= warf2_cu *cu) type =3D alloc_type (objfile); INIT_CPLUS_SPECIFIC (type); + if (die->tag =3D=3D DW_TAG_namelist) + INIT_NONE_SPECIFIC (type); name =3D dwarf2_name (die, cu); if (name !=3D NULL) @@ -15684,7 +15699,8 @@ handle_struct_member_die (struct die_info *child_di= e, struct type *type, struct dwarf2_cu *cu) { if (child_die->tag =3D=3D DW_TAG_member - || child_die->tag =3D=3D DW_TAG_variable) + || child_die->tag =3D=3D DW_TAG_variable + || child_die->tag =3D=3D DW_TAG_namelist_item) { /* NOTE: carlton/2002-11-05: A C++ static data member should be a DW_TAG_member that is a declaration, but @@ -15728,7 +15744,9 @@ handle_struct_member_die (struct die_info *child_di= e, struct type *type, } /* Finish creating a structure or union type, including filling in - its members and creating a symbol for it. */ + its members and creating a symbol for it. This function also + handles Fortran namelist variable, its items or members and + creating a symbol for it. */ static void process_structure_scope (struct die_info *die, struct dwarf2_cu *cu) @@ -21807,8 +21825,17 @@ new_symbol (struct die_info *die, struct type *typ= e, struct dwarf2_cu *cu, case DW_TAG_union_type: case DW_TAG_set_type: case DW_TAG_enumeration_type: - SYMBOL_ACLASS_INDEX (sym) =3D LOC_TYPEDEF; - SYMBOL_DOMAIN (sym) =3D STRUCT_DOMAIN; + case DW_TAG_namelist: + if (die->tag =3D=3D DW_TAG_namelist) + { + SYMBOL_ACLASS_INDEX (sym) =3D LOC_STATIC; + SYMBOL_DOMAIN (sym) =3D VAR_DOMAIN; + } + else + { + SYMBOL_ACLASS_INDEX (sym) =3D LOC_TYPEDEF; + SYMBOL_DOMAIN (sym) =3D STRUCT_DOMAIN; + } { /* NOTE: carlton/2003-11-10: C++ class symbols shouldn't @@ -22744,6 +22771,7 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu= *cu) && die->tag !=3D DW_TAG_class_type && die->tag !=3D DW_TAG_interface_type && die->tag !=3D DW_TAG_structure_type + && die->tag !=3D DW_TAG_namelist && die->tag !=3D DW_TAG_union_type) return NULL; @@ -22768,6 +22796,7 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu= *cu) case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: + case DW_TAG_namelist: /* Some GCC versions emit spurious DW_AT_name attributes for unnamed structures or unions. These were of the form "._%d" in GCC 4.1, or simply "" or "" in GCC 4.3 diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index 240daaf34f9..8ed35e2fb1f 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -320,6 +320,16 @@ f_language::value_print_inner (struct value *val, stru= ct ui_file *stream, fputs_filtered (" =3D ", stream); } + /* While printing namelist items, fetch the appropriate value + field before printing its value. */ + if (TYPE_SPECIFIC_FIELD (type) =3D=3D TYPE_SPECIFIC_NONE) + { + struct block_symbol symni =3D lookup_symbol(field_name, + get_selected_block (0), VAR_DOMAIN, nullptr); + if (symni.symbol !=3D NULL) + field =3D value_of_variable(symni.symbol, symni.block); + } + common_val_print (field, stream, recurse + 1, options, current_language); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 87cf3e2a061..33f60c29b3c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2021-07-26 Bhuvanendra Kumar N Bhuvanendra.KumarN@amd.com + + * gdb.fortran/namelist.exp: New file. + * gdb.fortran/namelist.f90: New file. + 2021-06-10 Bhuvanendra Kumar N Bhuvanendra.KumarN@amd.com * gdb.fortran/ptype-on-functions.exp: Add type info of formal diff --git a/gdb/testsuite/gdb.fortran/namelist.exp b/gdb/testsuite/gdb.for= tran/namelist.exp new file mode 100644 index 00000000000..e4df8c7debb --- /dev/null +++ b/gdb/testsuite/gdb.fortran/namelist.exp @@ -0,0 +1,45 @@ +# Copyright 2020-2021 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + +# This file is part of the gdb testsuite. It contains tests for fortran +# namelist. + +if { [skip_fortran_tests] } { return -1 } + +standard_testfile .f90 +load_lib "fortran.exp" + +if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90= }]} { + return -1 +} + +if ![fortran_runto_main] then { + perror "couldn't run to main" + continue +} + +# Depending on the compiler being used, the type names can be printed diff= erently. +set int [fortran_int4] + +gdb_breakpoint [gdb_get_line_number "Display namelist"] +gdb_continue_to_breakpoint "Display namelist" + +if {[test_compiler_info {gcc-*}]} { + gdb_test "ptype nml" "type =3D Type nml\r\n *$int :: a\r\n *$int :: b\= r\n *End Type nml" + gdb_test "print nml" \\$\[0-9\]+ =3D \\( a =3D 10, b =3D 20 \\) +} else { + gdb_test "ptype nml" "No symbol \"nml\" in current context\\." + gdb_test "print nml" "No symbol \"nml\" in current context\\." +} diff --git a/gdb/testsuite/gdb.fortran/namelist.f90 b/gdb/testsuite/gdb.for= tran/namelist.f90 new file mode 100644 index 00000000000..00704eddf27 --- /dev/null +++ b/gdb/testsuite/gdb.fortran/namelist.f90 @@ -0,0 +1,27 @@ +! Copyright 2020-2021 Free Software Foundation, Inc. +! +! This program is free software; you can redistribute it and/or modify +! it under the terms of the GNU General Public License as published by +! the Free Software Foundation; either version 3 of the License, or +! (at your option) any later version. +! +! This program is distributed in the hope that it will be useful, +! but WITHOUT ANY WARRANTY; without even the implied warranty of +! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +! GNU General Public License for more details. +! +! You should have received a copy of the GNU General Public License +! along with this program. If not, see http://www.gnu.org/licenses/. +! +! This file is the Fortran source file for namelist.exp. + +program main + + integer :: a, b + namelist /nml/ a, b + + a =3D 10 + b =3D 20 + Write(*,nml) ! Display namelist + +end program main diff --git a/include/dwarf2.def b/include/dwarf2.def index 1ae6e1df298..6b8be1f6a16 100644 --- a/include/dwarf2.def +++ b/include/dwarf2.def @@ -289,7 +289,7 @@ DW_AT (DW_AT_frame_base, 0x40) DW_AT (DW_AT_friend, 0x41) DW_AT (DW_AT_identifier_case, 0x42) DW_AT (DW_AT_macro_info, 0x43) -DW_AT (DW_AT_namelist_items, 0x44) +DW_AT (DW_AT_namelist_item, 0x44) DW_AT (DW_AT_priority, 0x45) DW_AT (DW_AT_segment, 0x46) DW_AT (DW_AT_specification, 0x47) -- 2.17.1 --_004_MW2PR12MB46844ECA167D82F5A91E158E87C59MW2PR12MB4684namp_ Content-Type: application/octet-stream; name="0001-Fix-ptype-and-print-commands-for-namelist-variables-.patch" Content-Description: 0001-Fix-ptype-and-print-commands-for-namelist-variables-.patch Content-Disposition: attachment; filename="0001-Fix-ptype-and-print-commands-for-namelist-variables-.patch"; size=11061; creation-date="Tue, 24 Aug 2021 09:15:00 GMT"; modification-date="Tue, 24 Aug 2021 09:15:00 GMT" Content-Transfer-Encoding: base64 RnJvbSAwNzc1Y2JmMzcxNmJhZTk0ODBjM2YxZjFkOWQ4ODYwYWM1NjE5MjllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogPT9VVEYtOD9xPz1FMj04MD05Q2Joa3VtYXJuPUUyPTgwPTlE Pz0gPEJodXZhbmVuZHJhLkt1bWFyTkBhbWQuY29tPg0KRGF0ZTogTW9uLCAyNCBBdWcgMjAyMSAx MTo0OToxNCArMDUzMA0KU3ViamVjdDogW1BBVENIXSBGaXggcHR5cGUgYW5kIHByaW50IGNvbW1h bmRzIGZvciBuYW1lbGlzdCB2YXJpYWJsZXMoYSBmb3J0cmFuDQogZmVhdHVyZSkuDQoNCkdDQy9n Zm9ydHJhbiBzdXBwb3J0IG5hbWVsaXN0KGEgZm9ydHJhbiBmZWF0dXJlKSwgaXQgZW1pdHMgRFdf VEFHX25hbWVsaXN0DQphbmQgRFdfVEFHX25hbWVsaXN0X2l0ZW0gZGllcy4gQnV0IGdkYiBkb2Vz IG5vdCBwcm9jZXNzIHRoZXNlIGRpZXMgYW5kDQpzdXBwb3J0IG5hbWVsaXN0IHZhcmlhYmxlcyBk dXJpbmcgcHJpbnQgYW5kIHB0eXBlIGNvbW1hbmRzLiBXaGVuIHRyaWVkIHRvDQpwcmludCwgaXQg YmFpbHMgb3V0IHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgYXMgc2hvd24gYmVsb3cuDQooZ2RiKSBw cmludCBubWwNCk5vIHN5bWJvbCAibm1sIiBpbiBjdXJyZW50IGNvbnRleHQuDQpUaGlzIGNvbW1p dCBpcyB0byBtYWtlIHRoZSBwcmludCBhbmQgcHR5cGUgY29tbWFuZHMgd29yayBmb3IgbmFtZWxp c3QNCnZhcmlhYmxlcyBhbmQgaXRzIGl0ZW1zLiBTYW1wbGUgb3V0cHV0IG9mIHRoZXNlIGNvbW1h bmRzIGlzIHNoYXJlZCBiZWxvdywNCndpdGggZml4ZWQgZ2RiLg0KKGdkYikgcHR5cGUgbm1sDQp0 eXBlID0gVHlwZSBubWwNCiAgICBpbnRlZ2VyKGtpbmQ9NCkgOjogYQ0KICAgIGludGVnZXIoa2lu ZD00KSA6OiBiDQpFbmQgVHlwZSBubWwNCihnZGIpIHByaW50IG5tbA0KJDEgPSAoIGEgPSAxMCwg YiA9IDIwICkNCi0tLQ0KIGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTEgKysrKysrKw0KIGdkYi9kd2FyZjIvcmVhZC5jICAgICAgICAgICAgICAgICAgICAgIHwgNDEg KysrKysrKysrKysrKysrKysrKy0tLS0NCiBnZGIvZi12YWxwcmludC5jICAgICAgICAgICAgICAg ICAgICAgICB8IDEwICsrKysrKw0KIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nICAgICAgICAgICAg ICAgIHwgIDUgKysrDQogZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9uYW1lbGlzdC5leHAgfCA0 NSArKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v bmFtZWxpc3QuZjkwIHwgMjcgKysrKysrKysrKysrKysrKw0KIGluY2x1ZGUvZHdhcmYyLmRlZiAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCiA3IGZpbGVzIGNoYW5nZWQsIDEzNCBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL25hbWVsaXN0LmV4cA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL25hbWVsaXN0LmY5MA0KDQpkaWZmIC0tZ2l0IGEvZ2RiL0NoYW5nZUxv ZyBiL2dkYi9DaGFuZ2VMb2cNCmluZGV4IDM2Y2I0YzllN2U5Li5lYzAxYzI5NTdlOSAxMDA2NDQN Ci0tLSBhL2dkYi9DaGFuZ2VMb2cNCisrKyBiL2dkYi9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMTQg QEANCisyMDIxLTA4LTIzICBCaHV2YW5lbmRyYSBLdW1hciBOICA8Qmh1dmFuZW5kcmEuS3VtYXJO QGFtZC5jb20+DQorDQorCSogZHdhcmYyL3JlYWQuYyAocHJvY2Vzc19kaWUpOiBBZGQgbmV3IGNh c2UgZm9yIG5hbWVsaXN0Lg0KKwkoZHdhcmYyX2FkZF9maWVsZCk6IFByb2Nlc3MgRFdfVEFHX25h bWVsaXN0X2l0ZW0gZGllLg0KKwkocmVhZF9zdHJ1Y3R1cmVfdHlwZSwgaGFuZGxlX3N0cnVjdF9t ZW1iZXJfZGllLCBuZXdfc3ltYm9sKQ0KKwkoZHdhcmYyX25hbWUpOiBVcGRhdGUuDQorCSogZi12 YWxwcmludC5jIChmX2xhbmd1YWdlOjp2YWx1ZV9wcmludF9pbm5lcik6IEFkZCBzdXBwb3J0IGZv cg0KKwlwcmludGluZyBuYW1lbGlzdCBpdGVtcy4NCisJKiBpbmNsdWRlL2R3YXJmMi5kZWY6IChE V19BVF9uYW1lbGlzdF9pdGVtcyk6IFJlbmFtZWQgdG8gLi4uDQorCShEV19BVF9uYW1lbGlzdF9p dGVtKTogLi4uIHRoaXMuIEFzIHBlciBkd2FyZiBzdGFuZGFyZC4NCisNCiAyMDIxLTA2LTA4ICBM YW5jZWxvdCBTaXggIDxsc2l4QGxhbmNlbG90c2l4LmNvbT4NCiANCiAJKiBweXRob24vbGliL2dk Yi9GcmFtZURlY29yYXRvci5weSAoRnJhbWVEZWNvcmF0b3IpOiBVc2UgJ2lzIE5vbmUnDQpkaWZm IC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYw0KaW5kZXggOTYw MDlmMTQxOGYuLjU0NTI4ZDY3NDk4IDEwMDY0NA0KLS0tIGEvZ2RiL2R3YXJmMi9yZWFkLmMNCisr KyBiL2dkYi9kd2FyZjIvcmVhZC5jDQpAQCAtOTU3MCw2ICs5NTcwLDcgQEAgcHJvY2Vzc19kaWUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkNCiAgICAgY2FzZSBE V19UQUdfaW50ZXJmYWNlX3R5cGU6DQogICAgIGNhc2UgRFdfVEFHX3N0cnVjdHVyZV90eXBlOg0K ICAgICBjYXNlIERXX1RBR191bmlvbl90eXBlOg0KKyAgICBjYXNlIERXX1RBR19uYW1lbGlzdDoN CiAgICAgICBwcm9jZXNzX3N0cnVjdHVyZV9zY29wZSAoZGllLCBjdSk7DQogICAgICAgYnJlYWs7 DQogICAgIGNhc2UgRFdfVEFHX2VudW1lcmF0aW9uX3R5cGU6DQpAQCAtMTQ0MTcsOCArMTQ0MTgs MjAgQEAgZHdhcmYyX2FkZF9maWVsZCAoc3RydWN0IGZpZWxkX2luZm8gKmZpcCwgc3RydWN0IGRp ZV9pbmZvICpkaWUsDQogDQogICBmcCA9ICZuZXdfZmllbGQtPmZpZWxkOw0KIA0KLSAgaWYgKGRp ZS0+dGFnID09IERXX1RBR19tZW1iZXIgJiYgISBkaWVfaXNfZGVjbGFyYXRpb24gKGRpZSwgY3Up KQ0KLSAgICB7DQorICBpZiAoKGRpZS0+dGFnID09IERXX1RBR19tZW1iZXIgfHwgZGllLT50YWcg PT0gRFdfVEFHX25hbWVsaXN0X2l0ZW0pICYmDQorICAgICAgICAgICAgISBkaWVfaXNfZGVjbGFy YXRpb24gKGRpZSwgY3UpKQ0KKyAgICB7DQorICAgICAgLyogRm9yIHRoZSBEV19UQUdfbmFtZWxp c3RfaXRlbSBkaWUsIHVzZSB0aGUgcmVmZXJlbmNlZCBkaWUuICAqLw0KKyAgICAgIGlmIChkaWUt PnRhZyA9PSBEV19UQUdfbmFtZWxpc3RfaXRlbSkNCisgICAgICAgIHsNCisgICAgICAgICAgc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0cjEgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9uYW1lbGlzdF9p dGVtLCBjdSk7DQorICAgICAgICAgIHN0cnVjdCBkaWVfaW5mbyAqaXRlbV9kaWUgPSBOVUxMOw0K KyAgICAgICAgICBzdHJ1Y3QgZHdhcmYyX2N1ICppdGVtX2N1ID0gY3U7DQorICAgICAgICAgIGlm IChhdHRyMS0+Zm9ybV9pc19yZWYgKCkpDQorICAgICAgICAgICAgaXRlbV9kaWUgPSBmb2xsb3df ZGllX3JlZiAoZGllLCBhdHRyMSwgJml0ZW1fY3UpOw0KKyAgICAgICAgICBpZiAoaXRlbV9kaWUg IT0gTlVMTCkNCisgICAgICAgICAgICBkaWUgPSBpdGVtX2RpZTsNCisgICAgICAgIH0NCiAgICAg ICAvKiBEYXRhIG1lbWJlciBvdGhlciB0aGFuIGEgQysrIHN0YXRpYyBkYXRhIG1lbWJlci4gICov DQogDQogICAgICAgLyogR2V0IHR5cGUgb2YgZmllbGQuICAqLw0KQEAgLTE1NDQ5LDYgKzE1NDYy LDggQEAgcmVhZF9zdHJ1Y3R1cmVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQ0KIA0KICAgdHlwZSA9IGFsbG9jX3R5cGUgKG9iamZpbGUpOw0KICAgSU5J VF9DUExVU19TUEVDSUZJQyAodHlwZSk7DQorICBpZiAoZGllLT50YWcgPT0gRFdfVEFHX25hbWVs aXN0KQ0KKyAgICBJTklUX05PTkVfU1BFQ0lGSUMgKHR5cGUpOw0KIA0KICAgbmFtZSA9IGR3YXJm Ml9uYW1lIChkaWUsIGN1KTsNCiAgIGlmIChuYW1lICE9IE5VTEwpDQpAQCAtMTU2ODQsNyArMTU2 OTksOCBAQCBoYW5kbGVfc3RydWN0X21lbWJlcl9kaWUgKHN0cnVjdCBkaWVfaW5mbyAqY2hpbGRf ZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwNCiAJCQkgIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQ0KIHsN CiAgIGlmIChjaGlsZF9kaWUtPnRhZyA9PSBEV19UQUdfbWVtYmVyDQotICAgICAgfHwgY2hpbGRf ZGllLT50YWcgPT0gRFdfVEFHX3ZhcmlhYmxlKQ0KKyAgICAgIHx8IGNoaWxkX2RpZS0+dGFnID09 IERXX1RBR192YXJpYWJsZQ0KKyAgICAgIHx8IGNoaWxkX2RpZS0+dGFnID09IERXX1RBR19uYW1l bGlzdF9pdGVtKQ0KICAgICB7DQogICAgICAgLyogTk9URTogY2FybHRvbi8yMDAyLTExLTA1OiBB IEMrKyBzdGF0aWMgZGF0YSBtZW1iZXINCiAJIHNob3VsZCBiZSBhIERXX1RBR19tZW1iZXIgdGhh dCBpcyBhIGRlY2xhcmF0aW9uLCBidXQNCkBAIC0xNTcyOCw3ICsxNTc0NCw5IEBAIGhhbmRsZV9z dHJ1Y3RfbWVtYmVyX2RpZSAoc3RydWN0IGRpZV9pbmZvICpjaGlsZF9kaWUsIHN0cnVjdCB0eXBl ICp0eXBlLA0KIH0NCiANCiAvKiBGaW5pc2ggY3JlYXRpbmcgYSBzdHJ1Y3R1cmUgb3IgdW5pb24g dHlwZSwgaW5jbHVkaW5nIGZpbGxpbmcgaW4NCi0gICBpdHMgbWVtYmVycyBhbmQgY3JlYXRpbmcg YSBzeW1ib2wgZm9yIGl0LiAgKi8NCisgICBpdHMgbWVtYmVycyBhbmQgY3JlYXRpbmcgYSBzeW1i b2wgZm9yIGl0LiBUaGlzIGZ1bmN0aW9uIGFsc28NCisgICBoYW5kbGVzIEZvcnRyYW4gbmFtZWxp c3QgdmFyaWFibGUsIGl0cyBpdGVtcyBvciBtZW1iZXJzIGFuZA0KKyAgIGNyZWF0aW5nIGEgc3lt Ym9sIGZvciBpdC4gICovDQogDQogc3RhdGljIHZvaWQNCiBwcm9jZXNzX3N0cnVjdHVyZV9zY29w ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQ0KQEAgLTIxODA3 LDggKzIxODI1LDE3IEBAIG5ld19zeW1ib2wgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsDQogCWNhc2UgRFdfVEFHX3VuaW9uX3R5 cGU6DQogCWNhc2UgRFdfVEFHX3NldF90eXBlOg0KIAljYXNlIERXX1RBR19lbnVtZXJhdGlvbl90 eXBlOg0KLQkgIFNZTUJPTF9BQ0xBU1NfSU5ERVggKHN5bSkgPSBMT0NfVFlQRURFRjsNCi0JICBT WU1CT0xfRE9NQUlOIChzeW0pID0gU1RSVUNUX0RPTUFJTjsNCisJY2FzZSBEV19UQUdfbmFtZWxp c3Q6DQorCSAgaWYgKGRpZS0+dGFnID09IERXX1RBR19uYW1lbGlzdCkNCisgICAgICAgICAgICB7 DQorCSAgICAgIFNZTUJPTF9BQ0xBU1NfSU5ERVggKHN5bSkgPSBMT0NfU1RBVElDOw0KKwkgICAg ICBTWU1CT0xfRE9NQUlOIChzeW0pID0gVkFSX0RPTUFJTjsNCisJICAgIH0NCisJICBlbHNlDQor ICAgICAgICAgICAgew0KKwkgICAgICBTWU1CT0xfQUNMQVNTX0lOREVYIChzeW0pID0gTE9DX1RZ UEVERUY7DQorCSAgICAgIFNZTUJPTF9ET01BSU4gKHN5bSkgPSBTVFJVQ1RfRE9NQUlOOw0KKyAg ICAgICAgICAgIH0NCiANCiAJICB7DQogCSAgICAvKiBOT1RFOiBjYXJsdG9uLzIwMDMtMTEtMTA6 IEMrKyBjbGFzcyBzeW1ib2xzIHNob3VsZG4ndA0KQEAgLTIyNzQ0LDYgKzIyNzcxLDcgQEAgZHdh cmYyX25hbWUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkNCiAg ICAgICAmJiBkaWUtPnRhZyAhPSBEV19UQUdfY2xhc3NfdHlwZQ0KICAgICAgICYmIGRpZS0+dGFn ICE9IERXX1RBR19pbnRlcmZhY2VfdHlwZQ0KICAgICAgICYmIGRpZS0+dGFnICE9IERXX1RBR19z dHJ1Y3R1cmVfdHlwZQ0KKyAgICAgICYmIGRpZS0+dGFnICE9IERXX1RBR19uYW1lbGlzdA0KICAg ICAgICYmIGRpZS0+dGFnICE9IERXX1RBR191bmlvbl90eXBlKQ0KICAgICByZXR1cm4gTlVMTDsN CiANCkBAIC0yMjc2OCw2ICsyMjc5Niw3IEBAIGR3YXJmMl9uYW1lIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpDQogICAgIGNhc2UgRFdfVEFHX2ludGVyZmFjZV90 eXBlOg0KICAgICBjYXNlIERXX1RBR19zdHJ1Y3R1cmVfdHlwZToNCiAgICAgY2FzZSBEV19UQUdf dW5pb25fdHlwZToNCisgICAgY2FzZSBEV19UQUdfbmFtZWxpc3Q6DQogICAgICAgLyogU29tZSBH Q0MgdmVyc2lvbnMgZW1pdCBzcHVyaW91cyBEV19BVF9uYW1lIGF0dHJpYnV0ZXMgZm9yIHVubmFt ZWQNCiAJIHN0cnVjdHVyZXMgb3IgdW5pb25zLiAgVGhlc2Ugd2VyZSBvZiB0aGUgZm9ybSAiLl8l ZCIgaW4gR0NDIDQuMSwNCiAJIG9yIHNpbXBseSAiPGFub255bW91cyBzdHJ1Y3Q+IiBvciAiPGFu b255bW91cyB1bmlvbj4iIGluIEdDQyA0LjMNCmRpZmYgLS1naXQgYS9nZGIvZi12YWxwcmludC5j IGIvZ2RiL2YtdmFscHJpbnQuYw0KaW5kZXggMjQwZGFhZjM0ZjkuLjhlZDM1ZTJmYjFmIDEwMDY0 NA0KLS0tIGEvZ2RiL2YtdmFscHJpbnQuYw0KKysrIGIvZ2RiL2YtdmFscHJpbnQuYw0KQEAgLTMy MCw2ICszMjAsMTYgQEAgZl9sYW5ndWFnZTo6dmFsdWVfcHJpbnRfaW5uZXIgKHN0cnVjdCB2YWx1 ZSAqdmFsLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLA0KIAkJICBmcHV0c19maWx0ZXJlZCAoIiA9 ICIsIHN0cmVhbSk7DQogCQl9DQogDQorCSAgICAgIC8qIFdoaWxlIHByaW50aW5nIG5hbWVsaXN0 IGl0ZW1zLCBmZXRjaCB0aGUgYXBwcm9wcmlhdGUgdmFsdWUNCisJICAgICAgICAgZmllbGQgYmVm b3JlIHByaW50aW5nIGl0cyB2YWx1ZS4gICovDQorCSAgICAgIGlmIChUWVBFX1NQRUNJRklDX0ZJ RUxEICh0eXBlKSA9PSBUWVBFX1NQRUNJRklDX05PTkUpDQorCSAgICAgICAgew0KKwkgICAgICAg ICAgc3RydWN0IGJsb2NrX3N5bWJvbCBzeW1uaSA9IGxvb2t1cF9zeW1ib2woZmllbGRfbmFtZSwN CisJCQlnZXRfc2VsZWN0ZWRfYmxvY2sgKDApLCBWQVJfRE9NQUlOLCBudWxscHRyKTsNCisJICAg ICAgICAgIGlmIChzeW1uaS5zeW1ib2wgIT0gTlVMTCkNCisJICAgICAgICAgICAgZmllbGQgPSB2 YWx1ZV9vZl92YXJpYWJsZShzeW1uaS5zeW1ib2wsIHN5bW5pLmJsb2NrKTsNCisJICAgICAgICB9 DQorDQogCSAgICAgIGNvbW1vbl92YWxfcHJpbnQgKGZpZWxkLCBzdHJlYW0sIHJlY3Vyc2UgKyAx LA0KIAkJCQlvcHRpb25zLCBjdXJyZW50X2xhbmd1YWdlKTsNCiANCmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL0NoYW5nZUxvZyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nDQppbmRleCA4N2Nm M2UyYTA2MS4uMzNmNjBjMjliM2MgMTAwNjQ0DQotLS0gYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxv Zw0KKysrIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsOCBAQA0KKzIwMjEt MDctMjYgIEJodXZhbmVuZHJhIEt1bWFyIE4gIDxCaHV2YW5lbmRyYS5LdW1hck5AYW1kLmNvbT4N CisNCisJKiBnZGIuZm9ydHJhbi9uYW1lbGlzdC5leHA6IE5ldyBmaWxlLg0KKwkqIGdkYi5mb3J0 cmFuL25hbWVsaXN0LmY5MDogTmV3IGZpbGUuDQorDQogMjAyMS0wNi0xMCAgQmh1dmFuZW5kcmEg S3VtYXIgTiAgPEJodXZhbmVuZHJhLkt1bWFyTkBhbWQuY29tPg0KIA0KIAkqIGdkYi5mb3J0cmFu L3B0eXBlLW9uLWZ1bmN0aW9ucy5leHA6IEFkZCB0eXBlIGluZm8gb2YgZm9ybWFsDQpkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9uYW1lbGlzdC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL25hbWVsaXN0LmV4cA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAwLi5lNGRmOGM3ZGViYg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9uYW1lbGlzdC5leHANCkBAIC0wLDAgKzEsNDUgQEANCisjIENvcHly aWdodCAyMDIwLTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorIyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQ0KKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yDQorIyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLg0KKyMNCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCisjIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCisj IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorIw0KKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UNCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKw0KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdk YiB0ZXN0c3VpdGUuICBJdCBjb250YWlucyB0ZXN0cyBmb3IgZm9ydHJhbg0KKyMgbmFtZWxpc3Qu DQorDQoraWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0NCisNCitzdGFu ZGFyZF90ZXN0ZmlsZSAuZjkwDQorbG9hZF9saWIgImZvcnRyYW4uZXhwIg0KKw0KK2lmIHtbcHJl cGFyZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSB7 ZGVidWcgZjkwfV19IHsNCisgICAgcmV0dXJuIC0xDQorfQ0KKw0KK2lmICFbZm9ydHJhbl9ydW50 b19tYWluXSB0aGVuIHsNCisgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gbWFpbiINCisgICAg Y29udGludWUNCit9DQorDQorIyBEZXBlbmRpbmcgb24gdGhlIGNvbXBpbGVyIGJlaW5nIHVzZWQs IHRoZSB0eXBlIG5hbWVzIGNhbiBiZSBwcmludGVkIGRpZmZlcmVudGx5Lg0KK3NldCBpbnQgW2Zv cnRyYW5faW50NF0NCisNCitnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiRGlz cGxheSBuYW1lbGlzdCJdDQorZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIkRpc3BsYXkgbmFt ZWxpc3QiDQorDQoraWYge1t0ZXN0X2NvbXBpbGVyX2luZm8ge2djYy0qfV19IHsNCisgICAgZ2Ri X3Rlc3QgInB0eXBlIG5tbCIgInR5cGUgPSBUeXBlIG5tbFxyXG4gKiRpbnQgOjogYVxyXG4gKiRp bnQgOjogYlxyXG4gKkVuZCBUeXBlIG5tbCINCisgICAgZ2RiX3Rlc3QgInByaW50IG5tbCIgIlxc JFxbMC05XF0rID0gXFwoIGEgPSAxMCwgYiA9IDIwIFxcKSINCit9IGVsc2Ugew0KKyAgICBnZGJf dGVzdCAicHR5cGUgbm1sIiAiTm8gc3ltYm9sIFwibm1sXCIgaW4gY3VycmVudCBjb250ZXh0XFwu Ig0KKyAgICBnZGJfdGVzdCAicHJpbnQgbm1sIiAiTm8gc3ltYm9sIFwibm1sXCIgaW4gY3VycmVu dCBjb250ZXh0XFwuIg0KK30NCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L25hbWVsaXN0LmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vbmFtZWxpc3QuZjkwDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjAwNzA0ZWRkZjI3DQotLS0g L2Rldi9udWxsDQorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL25hbWVsaXN0LmY5MA0K QEAgLTAsMCArMSwyNyBAQA0KKyEgQ29weXJpZ2h0IDIwMjAtMjAyMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4NCishDQorISBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKyEgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCishIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yDQorISAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKyENCishIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLA0KKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YNCishIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCishIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuDQorIQ0KKyEgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCishIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKyENCish IFRoaXMgZmlsZSBpcyB0aGUgRm9ydHJhbiBzb3VyY2UgZmlsZSBmb3IgbmFtZWxpc3QuZXhwLg0K Kw0KK3Byb2dyYW0gbWFpbg0KKw0KKyAgaW50ZWdlciA6OiBhLCBiDQorICBuYW1lbGlzdCAvbm1s LyBhLCBiDQorDQorICBhID0gMTANCisgIGIgPSAyMA0KKyAgV3JpdGUoKixubWwpICEgRGlzcGxh eSBuYW1lbGlzdA0KKw0KK2VuZCBwcm9ncmFtIG1haW4NCmRpZmYgLS1naXQgYS9pbmNsdWRlL2R3 YXJmMi5kZWYgYi9pbmNsdWRlL2R3YXJmMi5kZWYNCmluZGV4IDFhZTZlMWRmMjk4Li42YjhiZTFm NmExNiAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvZHdhcmYyLmRlZg0KKysrIGIvaW5jbHVkZS9kd2Fy ZjIuZGVmDQpAQCAtMjg5LDcgKzI4OSw3IEBAIERXX0FUIChEV19BVF9mcmFtZV9iYXNlLCAweDQw KQ0KIERXX0FUIChEV19BVF9mcmllbmQsIDB4NDEpDQogRFdfQVQgKERXX0FUX2lkZW50aWZpZXJf Y2FzZSwgMHg0MikNCiBEV19BVCAoRFdfQVRfbWFjcm9faW5mbywgMHg0MykNCi1EV19BVCAoRFdf QVRfbmFtZWxpc3RfaXRlbXMsIDB4NDQpDQorRFdfQVQgKERXX0FUX25hbWVsaXN0X2l0ZW0sIDB4 NDQpDQogRFdfQVQgKERXX0FUX3ByaW9yaXR5LCAweDQ1KQ0KIERXX0FUIChEV19BVF9zZWdtZW50 LCAweDQ2KQ0KIERXX0FUIChEV19BVF9zcGVjaWZpY2F0aW9uLCAweDQ3KQ0KLS0gDQoyLjE3LjEN Cg0K --_004_MW2PR12MB46844ECA167D82F5A91E158E87C59MW2PR12MB4684namp_--