From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2073.outbound.protection.outlook.com [40.107.100.73]) by sourceware.org (Postfix) with ESMTPS id 0DCD43858D28 for ; Mon, 25 Apr 2022 06:34:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0DCD43858D28 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G4ShzaAJVRY5w6xQo42wrw6I/Sox/e/pBP8Tt0jr253JIC55/Er4a9BTcPbRO28SFEe3sBUcbFoZJWUb3nqmRAYyVSFPpW2w0Ul/FVO5CtT7ZXijoX9CdtBC8E+qurtiiB1813WPscreV/jlhtN1D3qCQ9v5/tJ2IyL6rh4kN+NYYEUS9y/RjC4apKB/wWoOVDlmUiGql8LqJqSCZQbRNDvBSulAS5EZb4sHQUuLgO9Bjo9UyFQEuHk0GUQKOpC9kRNm80OgT6r2H5xKksoBh5pdBVgnbBGWhqOXgh4ZjfNe+cydgq+XzsIkzmaDudefmntgSeFG+XLebG/ALGapPQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NN1TszktLIdlH66jMZWlRcz/1ceWoS1Qh8hPHFOiZEw=; b=GDW2w1GgYjfvPbhUbnSzAeQd90jEujB/lIHY0m7KFIQwmh5dhehvTTp/5XLN6SCp++rM2z291iLzbPC1jxCDfosqGtcIwRiGOt/cfweaB2nJbWB8QV8fS1ufh4BzGraKKXaBYWJk76RdFyeb0UGCDIGNJZDLfAsAbtzLUi9590TQH7f6WleLDI/3BsMNGHoMeWLDnXXdDJskgniNL6oXkDUhnStL13Z4XwsUPNF90sX5HsYRqCHpQWHD3KEkkDO0Zjsyy+D8Ud0xYDnOpJlj0RBbXg6Q5xx2PEYx5NC+Rj8RTXyGSaF3eaA+2ruHH2XtaLKxjJImW8zaCCOU8ngugw== 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 DM6PR12MB4219.namprd12.prod.outlook.com (2603:10b6:5:217::14) by DM5PR12MB1324.namprd12.prod.outlook.com (2603:10b6:3:76::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Mon, 25 Apr 2022 06:33:57 +0000 Received: from DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::1811:c817:6ced:7312]) by DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::1811:c817:6ced:7312%5]) with mapi id 15.20.5186.021; Mon, 25 Apr 2022 06:33:57 +0000 From: "Potharla, Rupesh" To: Andrew Burgess , Tom Tromey , "Potharla, Rupesh via Gdb-patches" CC: "George, Jini Susan" , "Parasuraman, Hariharan" , "Sharma, Alok Kumar" Subject: RE: GDB/Fortran: Support for Assumed Rank Zero. Thread-Topic: GDB/Fortran: Support for Assumed Rank Zero. Thread-Index: AdhPHIhtItVA7FXxR1mxw9qPo/2AqgAR6eyAACFjbwAAFzg+gAAf2jGgAA5VbwAAD8E6UAB6jVG8AAPcHNAAZJiUgAAHAtRwAFwMRIAAhddqwA== Date: Mon, 25 Apr 2022 06:33:57 +0000 Message-ID: References: <20220413112753.4c6f1128@f35-zws-1> <20220414142845.281b878d@f35-zws-1> <20220415123112.697ff872@f35-zws-1> <87tuaqy0uz.fsf@tromey.com> <87sfq7rd94.fsf@redhat.com> <87a6cdqj2q.fsf@redhat.com> In-Reply-To: <87a6cdqj2q.fsf@redhat.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-04-25T06:30:55Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=fe22d467-f5ce-40a7-8e6e-e657df1f5e4a; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_enabled: true msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_setdate: 2022-04-25T06:33:53Z msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_method: Standard msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_name: General msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_actionid: 3388ebbd-6026-4596-95a1-e7ab4af0757d msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_contentbits: 0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d3b60900-ef8f-4a7d-f6ab-08da26859383 x-ms-traffictypediagnostic: DM5PR12MB1324:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eRg4o/Sg/9QFtYDmiZNJzCmzmApTmKXT+Z9s78vYJJkcvm+WrkBTohaAe5LczeBemkSxtDRAGLbyZg212OnA5I80fnFDPzxQeOCt2waxYQxaoSPHQa0xcJqvqdXNIM1/3rWQu/F9Duish9onFGTpKOhfSjWvfstWLgf4jobMQgnPDJrGLR66u26nd0LW7e2CjqG0D0Sw+sfQMQK2JJP2zY1W7tEkK5lTtZZBFeeG3kBRQJeKVndpimMqI3ApBlHvDkqE16uDAHh66C75C6GqEi1yMG5SkKNyT657uJrqmtGe+swP/V9vUUN0v2jL0RpX8R+aCmrOMs8hVn9eLh1vOa1YzUiuhOmbmrU3zchSb89/k4/FtyHmuFa/iAR1HrVQxWncoGB/K06Yz17QRLXNfLlh5qmsnjHv9BBp0Kt1yEbNnMTquttYpkhL4ZZIavOLt1ak/w0XExwN2Yn3ll81aldnz7Go556pudXiaG5zxbnBS0RdLE91WAXP8oIW5kKOX70nOUkRiHxczoZQ5vpOqNx+7Qp3yC2yp0oROclzZbrLLsDaOm3Zk+3DNaSPvZcPAhGJlffE3tQi4DAmcKr5YPMJ2zrJWvPX+5amkvtZ3QrGmW16nXB6DjugdKe67FikT0ozQjxIxAHZBYHwfo2AJmrTt6V7nihk1ebqr+I5FHibpkxsh2QWlL+E4GNzTP/Z4UwoUbOs5xgX3DLZvlXmkQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4219.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(186003)(66446008)(83380400001)(9686003)(7696005)(86362001)(6506007)(26005)(66476007)(76116006)(122000001)(66556008)(8676002)(4326008)(53546011)(64756008)(66946007)(2906002)(33656002)(52536014)(99936003)(8936002)(54906003)(110136005)(71200400001)(38100700002)(38070700005)(55016003)(5660300002)(508600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?W84DLDg090aiDMlk1YfTN2CeiKavZsqQz7orPDeQCuBmq237Rt/OBK3glEHQ?= =?us-ascii?Q?ouqXaV4mFEUFnMqQDXkp6QMW8jOxJLND0tDvRCkvHq8NS6v5N9pHIXhpFDy7?= =?us-ascii?Q?BeOlp8uR+PVko996j16hxl42xWZmRlUaO1IJ8HsRvDVvU+O1KsABl0IhtXrP?= =?us-ascii?Q?ifn9XTuAWWSUfLyywxXTkGHiKGlrifpfa/K869Jn53hMsWpq/t1GvpUFSJMD?= =?us-ascii?Q?vyLTSeohARWKl13zJYmiQQSESbiCk0wEvc8ufd0jq/L2DnC6pCh1nKBPOnfy?= =?us-ascii?Q?pf++wU8yMO2C0XfODrIJSZCvsB8xganXZn5Ap2mj2ZaBJ6sn4vMqVWSHS81c?= =?us-ascii?Q?96BwBvQtvImgtVZEO4EmR1nMtyhNovbIpMd2Ii7Hw+BEkceKlKQxYtuW9GfG?= =?us-ascii?Q?p+9dMUPKzl6m1fXakk+J7DUsJ69xOfRNNl9OsGEBhLq4hZV8QYI9WOcjJKQp?= =?us-ascii?Q?a0JEOhlN1kVD44Q+FQra7g+SaxhQJq6NsLgqKHgAWTi0bLc29j071fZPl//y?= =?us-ascii?Q?6eRjCvCPs24mm4e4WVjMtBv749sPVWUEwW1mJkzzKW/lluvXCb/rPLRegc3S?= =?us-ascii?Q?/pMHIryJLwaDMpM+Cz3gEpKFC8Nz3lRykMhiNi+dic4988IsHKH36WZKk3aj?= =?us-ascii?Q?FnV/hc1APb/q8ZY+mPQbWIuoqMZqSvSjlSRR8i49gBkt5I1k8//S/joP3+Ab?= =?us-ascii?Q?KjhvYXfonpdjFUU3bQ4tP7EYYqabRllEylQVe/muYnkXtpBmFcRSsK8d2t8N?= =?us-ascii?Q?b45qyJMnQQUf7N06A/63gIEdInWhEj8Awq7VGMtH/9HDIjq1wnZo/ZPVP2OE?= =?us-ascii?Q?FfbdQFuIqSuQuOk4sCikYxC8yRB7Bt9LbQRYxe34IT9qPjYgcmrG1yWgEK3V?= =?us-ascii?Q?jLKLdU493QE2q7WRWL+3d9T3ndR4vZEJjilaMK1t4NbPQFxay6pF2k0bEoFT?= =?us-ascii?Q?ySncNxdnJHEfd+apM/dYF7nLc2uypf/RH8pTfQF5p9Y6+uF/bgw12KIOI/+B?= =?us-ascii?Q?JrxcBQYc5yAkDTl4N8Z5ew78IQEnU62mZTSjvFKLD6EMbMBrLPFXJ81OpKEA?= =?us-ascii?Q?sx1AE/mgTdxR/HsVJ+IrRnq76rypOxAiuFcys2Zwm0l65/fK4B1ne214k+EN?= =?us-ascii?Q?BKLPaV2IbXU71c6G/8JMJmyeiziTVKZCpKX/s3BBZ68JBPIPs/hePIbHNqbR?= =?us-ascii?Q?mQgC3yImGEyE5sOc1H8AdZTZuKS9gVv068CSxYtCiz9zC7KD0/GLQJP0e7Fo?= =?us-ascii?Q?VsY73lQ7ra26o8yBkfFb1KlR4xLx/95D7pr8ce8FIGyqT03utTyhuWJ377Ds?= =?us-ascii?Q?0ZVtow/vlvGXYLKREj5M0sN7Gib9v5GJ4YWXSTsYd1OOl5A7tqb9VbO/UAgo?= =?us-ascii?Q?Jqf5PfQLEOt1kWNOdmZWSU9CSWoGIKBOzvxcHYVl70dOSzw/3ShaqXBvj5Il?= =?us-ascii?Q?aj5/VpsfdHlMY3LOODbEE5l7cmoT0jnRj+313Dt+jfYZA8zEoHQIQPH9OWWP?= =?us-ascii?Q?h0Bs6CosJ0LK+rHVwdzdDlhBlyW4H+fagJLntqOas6HiVUES+/NnJ+S1FYRI?= =?us-ascii?Q?ZQfsjGejdmYPRTTy9034a4SvP/5fw90bNm2BybSwoAGD5RTpLSxxLIBQyeUf?= =?us-ascii?Q?N/O5k50P+FEs7LV1OjH8zc9D0QKWrQEgTEUAlemdtoeNgQ7wG8hfxuphzLIh?= =?us-ascii?Q?N+3AK+2hjwn5NSD7PYKqYHvTQLhOznWO9JB502c6yEphO2LzUuPzv2UcjBPf?= =?us-ascii?Q?aZvXz+whKA=3D=3D?= Content-Type: multipart/mixed; boundary="_002_DM6PR12MB421919BD97FFA68445838BABE7F89DM6PR12MB4219namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4219.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3b60900-ef8f-4a7d-f6ab-08da26859383 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2022 06:33:57.3126 (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: cxeSmV2iVuk1YK91KZv3+Psd9NHb75NgZwPxjIqCulZ7TkFKJiZ8N1a7jfwItAmqaA0r37GrJhp/ANc7F32vEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1324 X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP 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-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: Mon, 25 Apr 2022 06:34:02 -0000 --_002_DM6PR12MB421919BD97FFA68445838BABE7F89DM6PR12MB4219namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Thanks Andrew, >> -static struct dynamic_prop_list * >> +struct dynamic_prop_list * >> copy_dynamic_prop_list (struct obstack *objfile_obstack, >> struct dynamic_prop_list *list) { > >Please leave this as 'static', and just add a forward declaration within t= he >gdbtypes.c. > >With that change, this is OK to commit. Made the code changes suggested and attached the patch which I am planning = to commit.=20 Regards, Rupesh P >-----Original Message----- >From: Andrew Burgess >Sent: Friday, April 22, 2022 8:09 PM >To: Potharla, Rupesh ; Tom Tromey >; Potharla, Rupesh via Gdb-patches patches@sourceware.org> >Cc: George, Jini Susan ; Parasuraman, >Hariharan ; Sharma, Alok Kumar > >Subject: RE: GDB/Fortran: Support for Assumed Rank Zero. > >[CAUTION: External Email] > >"Potharla, Rupesh via Gdb-patches" writes: > >> [AMD Official Use Only] >> >> Thanks, Andrew, >> >> Made suggested code changes and attached the updated patch. Requesting >> to review the code changes. > >Thanks, this all looks fine to me, except for one small issue... > >> From fbfa2f4c26eeef7547603aafafb9525d66d1b172 Mon Sep 17 00:00:00 >2001 >> From: rupothar >> Date: Fri, 8 Apr 2022 16:05:41 +0530 >> Subject: [PATCH] gdb/fortran: Support for assumed rank zero >> >> If a variable is passed to function in FORTRAN as an argument the >> variable is treated as an array with rank zero. GDB currently does >> not support the case for assumed rank 0. This patch provides support >> for assumed rank 0 and updates the testcase as well. >> >> Without patch: >> Breakpoint 1, arank::sub1 (a=3D> failed to resolve dynamic array rank>) at assumedrank.f90:11 >> 11 PRINT *, RANK(a) >> (gdb) p a >> failed to resolve dynamic array rank >> (gdb) p rank(a) >> failed to resolve dynamic array rank >> >> With patch: >> Breakpoint 1, arank::sub1 (a=3D0) at assumedrank.f90:11 >> 11 PRINT *, RANK(a) >> (gdb) p a >> $1 =3D 0 >> (gdb) p rank(a) >> $2 =3D 0 >> --- >> gdb/gdbtypes.c | 21 ++++++++++++++++----- >> gdb/gdbtypes.h | 4 +++- >> gdb/testsuite/gdb.fortran/assumedrank.exp | 6 ++++++ >> gdb/testsuite/gdb.fortran/assumedrank.f90 | 3 +++ >> 4 files changed, 28 insertions(+), 6 deletions(-) >> >> diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index >> 49ecb199b07..47cf442a2d5 100644 >> --- a/gdb/gdbtypes.c >> +++ b/gdb/gdbtypes.c >> @@ -2398,10 +2398,21 @@ resolve_dynamic_array_or_string (struct type >> *type, >> >> if (rank =3D=3D 0) >> { >> - /* The dynamic property list juggling below was from the origina= l >> - patch. I don't understand what this is all about, so I've >> - commented it out for now and added the following error. */ >> - error (_("failed to resolve dynamic array rank")); >> + /* Rank is zero, if a variable is passed as an argument to a >> + function. In this case the resolved type should not be an >> + array, but should instead be that of an array element. */ >> + struct type *dynamic_array_type =3D type; >> + type =3D copy_type (TYPE_TARGET_TYPE (dynamic_array_type)); >> + struct dynamic_prop_list *prop_list >> + =3D TYPE_MAIN_TYPE (dynamic_array_type)->dyn_prop_list; >> + if (prop_list !=3D nullptr) >> + { >> + struct obstack *obstack >> + =3D &type->objfile_owner ()->objfile_obstack; >> + TYPE_MAIN_TYPE (type)->dyn_prop_list >> + =3D copy_dynamic_prop_list (obstack, prop_list); >> + } >> + return type; >> } >> else if (type->code () =3D=3D TYPE_CODE_STRING && rank !=3D 1) >> { >> @@ -5589,7 +5600,7 @@ create_copied_types_hash (struct objfile >> *objfile) >> >> /* Recursively copy (deep copy) a dynamic attribute list of a type. >> */ >> >> -static struct dynamic_prop_list * >> +struct dynamic_prop_list * >> copy_dynamic_prop_list (struct obstack *objfile_obstack, >> struct dynamic_prop_list *list) { > >Please leave this as 'static', and just add a forward declaration within t= he >gdbtypes.c. > >With that change, this is OK to commit. > >Thanks, >Andrew > >> diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index >> 769328cc9cd..99273d14c1f 100644 >> --- a/gdb/gdbtypes.h >> +++ b/gdb/gdbtypes.h >> @@ -2092,7 +2092,6 @@ extern void allocate_gnat_aux_type (struct type >> *); #define TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type >> #define TYPE_RVALUE_REFERENCE_TYPE(thistype) >> (thistype)->rvalue_reference_type #define TYPE_CHAIN(thistype) >> (thistype)->chain -#define TYPE_DYN_PROP(thistype) >> TYPE_MAIN_TYPE(thistype)->dyn_prop_list >> /* * Note that if thistype is a TYPEDEF type, you have to call check_ty= pedef. >> But check_typedef does set the TYPE_LENGTH of the TYPEDEF type, >> so you only have to call check_typedef once. Since allocate_value >> @@ -2882,6 +2881,9 @@ extern struct type *copy_type_recursive (struct >objfile *objfile, >> struct type *type, >> htab_t copied_types); >> >> +extern struct dynamic_prop_list * copy_dynamic_prop_list >> + (struct obstack *objfile_obstack, struct dynamic_prop_list *list); >> + >> extern struct type *copy_type (const struct type *type); >> >> extern bool types_equal (struct type *, struct type *); diff --git >> a/gdb/testsuite/gdb.fortran/assumedrank.exp >> b/gdb/testsuite/gdb.fortran/assumedrank.exp >> index 69cd168125f..e9429b44a9a 100644 >> --- a/gdb/testsuite/gdb.fortran/assumedrank.exp >> +++ b/gdb/testsuite/gdb.fortran/assumedrank.exp >> @@ -58,6 +58,12 @@ while { $test_count < 500 } { >> } >> } >> >> + # Currently, flang does not support rank0. >> + if {$test_count =3D=3D 1 && [test_compiler_info {clang-*}]} { >> + unsupported "compiler does not support rank 0" >> + continue >> + } >> + >> if ($found_final_breakpoint) { >> break >> } >> diff --git a/gdb/testsuite/gdb.fortran/assumedrank.f90 >> b/gdb/testsuite/gdb.fortran/assumedrank.f90 >> index 7f077c3f014..7f7cf2c1f3e 100644 >> --- a/gdb/testsuite/gdb.fortran/assumedrank.f90 >> +++ b/gdb/testsuite/gdb.fortran/assumedrank.f90 >> @@ -19,16 +19,19 @@ >> >> PROGRAM arank >> >> + REAL :: array0 >> REAL :: array1(10) >> REAL :: array2(1, 2) >> REAL :: array3(3, 4, 5) >> REAL :: array4(4, 5, 6, 7) >> >> + array0 =3D 0 >> array1 =3D 1.0 >> array2 =3D 2.0 >> array3 =3D 3.0 >> array4 =3D 4.0 >> >> + call test_rank (array0) >> call test_rank (array1) >> call test_rank (array2) >> call test_rank (array3) >> -- >> 2.17.1 --_002_DM6PR12MB421919BD97FFA68445838BABE7F89DM6PR12MB4219namp_ Content-Type: application/octet-stream; name="0001-gdb-fortran-Support-for-assumed-rank-zero.patch" Content-Description: 0001-gdb-fortran-Support-for-assumed-rank-zero.patch Content-Disposition: attachment; filename="0001-gdb-fortran-Support-for-assumed-rank-zero.patch"; size=4467; creation-date="Mon, 25 Apr 2022 06:31:44 GMT"; modification-date="Mon, 25 Apr 2022 06:33:56 GMT" Content-Transfer-Encoding: base64 RnJvbSA5MTk4ODgxNzI1NmJlNjg1YTRiMWVjN2RiN2VmNDA4NDkyYmU2ZmY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBydXBvdGhhciA8cnVwZXNoLnBvdGhhcmxhQGFtZC5jb20+CkRh dGU6IEZyaSwgOCBBcHIgMjAyMiAxNjowNTo0MSArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIGdkYi9m b3J0cmFuOiBTdXBwb3J0IGZvciBhc3N1bWVkIHJhbmsgemVybwoKSWYgYSB2YXJpYWJsZSBpcyBw YXNzZWQgdG8gZnVuY3Rpb24gaW4gRk9SVFJBTiBhcyBhbiBhcmd1bWVudCB0aGUKdmFyaWFibGUg aXMgdHJlYXRlZCBhcyBhbiBhcnJheSB3aXRoIHJhbmsgemVyby4gIEdEQiBjdXJyZW50bHkgZG9l cwpub3Qgc3VwcG9ydCB0aGUgY2FzZSBmb3IgYXNzdW1lZCByYW5rIDAuICBUaGlzIHBhdGNoIHBy b3ZpZGVzIHN1cHBvcnQKZm9yIGFzc3VtZWQgcmFuayAwIGFuZCB1cGRhdGVzIHRoZSB0ZXN0Y2Fz ZSBhcyB3ZWxsLgoKV2l0aG91dCBwYXRjaDoKQnJlYWtwb2ludCAxLCBhcmFuazo6c3ViMSAoYT08 ZXJyb3IgcmVhZGluZyB2YXJpYWJsZToKICBmYWlsZWQgdG8gcmVzb2x2ZSBkeW5hbWljIGFycmF5 IHJhbms+KSBhdCBhc3N1bWVkcmFuay5mOTA6MTEKMTEgICAgICAgUFJJTlQgKiwgUkFOSyhhKQoo Z2RiKSBwIGEKZmFpbGVkIHRvIHJlc29sdmUgZHluYW1pYyBhcnJheSByYW5rCihnZGIpIHAgcmFu ayhhKQpmYWlsZWQgdG8gcmVzb2x2ZSBkeW5hbWljIGFycmF5IHJhbmsKCldpdGggcGF0Y2g6CkJy ZWFrcG9pbnQgMSwgYXJhbms6OnN1YjEgKGE9MCkgYXQgYXNzdW1lZHJhbmsuZjkwOjExCjExICAg ICAgIFBSSU5UICosIFJBTksoYSkKKGdkYikgcCBhCiQxID0gMAooZ2RiKSBwIHJhbmsoYSkKJDIg PSAwCi0tLQogZ2RiL2dkYnR5cGVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMiAr KysrKysrKysrKysrKysrKystLS0tCiBnZGIvZ2RidHlwZXMuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAxIC0KIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZXhw IHwgIDYgKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fzc3VtZWRyYW5rLmY5MCB8 ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKaW5kZXggNDll Y2IxOTliMDcuLjJhNTEzNzJhMDM3IDEwMDY0NAotLS0gYS9nZGIvZ2RidHlwZXMuYworKysgYi9n ZGIvZ2RidHlwZXMuYwpAQCAtNDcsNiArNDcsOSBAQAogLyogVGhlIHZhbHVlIG9mIGFuIGludmFs aWQgY29udmVyc2lvbiBiYWRuZXNzLiAgKi8KICNkZWZpbmUgSU5WQUxJRF9DT05WRVJTSU9OIDEw MAogCitzdGF0aWMgc3RydWN0IGR5bmFtaWNfcHJvcF9saXN0ICoKK2NvcHlfZHluYW1pY19wcm9w X2xpc3QgKHN0cnVjdCBvYnN0YWNrICosIHN0cnVjdCBkeW5hbWljX3Byb3BfbGlzdCAqKTsKKwog LyogSW5pdGlhbGl6ZSBCQURORVNTIGNvbnN0YW50cy4gICovCiAKIGNvbnN0IHN0cnVjdCByYW5r IExFTkdUSF9NSVNNQVRDSF9CQURORVNTID0ge0lOVkFMSURfQ09OVkVSU0lPTiwwfTsKQEAgLTIz OTgsMTAgKzI0MDEsMjEgQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5X29yX3N0cmluZyAoc3RydWN0 IHR5cGUgKnR5cGUsCiAKICAgICAgIGlmIChyYW5rID09IDApCiAJewotCSAgLyogVGhlIGR5bmFt aWMgcHJvcGVydHkgbGlzdCBqdWdnbGluZyBiZWxvdyB3YXMgZnJvbSB0aGUgb3JpZ2luYWwKLQkg ICAgIHBhdGNoLiAgSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQgdGhpcyBpcyBhbGwgYWJvdXQsIHNv IEkndmUKLQkgICAgIGNvbW1lbnRlZCBpdCBvdXQgZm9yIG5vdyBhbmQgYWRkZWQgdGhlIGZvbGxv d2luZyBlcnJvci4gICovCi0JICBlcnJvciAoXygiZmFpbGVkIHRvIHJlc29sdmUgZHluYW1pYyBh cnJheSByYW5rIikpOworCSAgLyogUmFuayBpcyB6ZXJvLCBpZiBhIHZhcmlhYmxlIGlzIHBhc3Nl ZCBhcyBhbiBhcmd1bWVudCB0byBhCisJICAgICBmdW5jdGlvbi4gIEluIHRoaXMgY2FzZSB0aGUg cmVzb2x2ZWQgdHlwZSBzaG91bGQgbm90IGJlIGFuCisJICAgICBhcnJheSwgYnV0IHNob3VsZCBp bnN0ZWFkIGJlIHRoYXQgb2YgYW4gYXJyYXkgZWxlbWVudC4gICovCisJICBzdHJ1Y3QgdHlwZSAq ZHluYW1pY19hcnJheV90eXBlID0gdHlwZTsKKwkgIHR5cGUgPSBjb3B5X3R5cGUgKFRZUEVfVEFS R0VUX1RZUEUgKGR5bmFtaWNfYXJyYXlfdHlwZSkpOworCSAgc3RydWN0IGR5bmFtaWNfcHJvcF9s aXN0ICpwcm9wX2xpc3QKKwkgICAgPSBUWVBFX01BSU5fVFlQRSAoZHluYW1pY19hcnJheV90eXBl KS0+ZHluX3Byb3BfbGlzdDsKKwkgIGlmIChwcm9wX2xpc3QgIT0gbnVsbHB0cikKKwkgICAgewor CSAgICAgIHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrCisJCT0gJnR5cGUtPm9iamZpbGVfb3duZXIg KCktPm9iamZpbGVfb2JzdGFjazsKKwkgICAgICBUWVBFX01BSU5fVFlQRSAodHlwZSktPmR5bl9w cm9wX2xpc3QKKwkJPSBjb3B5X2R5bmFtaWNfcHJvcF9saXN0IChvYnN0YWNrLCBwcm9wX2xpc3Qp OworCSAgICB9CisJICByZXR1cm4gdHlwZTsKIAl9CiAgICAgICBlbHNlIGlmICh0eXBlLT5jb2Rl ICgpID09IFRZUEVfQ09ERV9TVFJJTkcgJiYgcmFuayAhPSAxKQogCXsKZGlmZiAtLWdpdCBhL2dk Yi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKaW5kZXggNzY5MzI4Y2M5Y2QuLjc0MzdlMWRi OGFiIDEwMDY0NAotLS0gYS9nZGIvZ2RidHlwZXMuaAorKysgYi9nZGIvZ2RidHlwZXMuaApAQCAt MjA5Miw3ICsyMDkyLDYgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3Ry dWN0IHR5cGUgKik7CiAjZGVmaW5lIFRZUEVfUkVGRVJFTkNFX1RZUEUodGhpc3R5cGUpICh0aGlz dHlwZSktPnJlZmVyZW5jZV90eXBlCiAjZGVmaW5lIFRZUEVfUlZBTFVFX1JFRkVSRU5DRV9UWVBF KHRoaXN0eXBlKSAodGhpc3R5cGUpLT5ydmFsdWVfcmVmZXJlbmNlX3R5cGUKICNkZWZpbmUgVFlQ RV9DSEFJTih0aGlzdHlwZSkgKHRoaXN0eXBlKS0+Y2hhaW4KLSNkZWZpbmUgVFlQRV9EWU5fUFJP UCh0aGlzdHlwZSkgIFRZUEVfTUFJTl9UWVBFKHRoaXN0eXBlKS0+ZHluX3Byb3BfbGlzdAogLyog KiBOb3RlIHRoYXQgaWYgdGhpc3R5cGUgaXMgYSBUWVBFREVGIHR5cGUsIHlvdSBoYXZlIHRvIGNh bGwgY2hlY2tfdHlwZWRlZi4KICAgIEJ1dCBjaGVja190eXBlZGVmIGRvZXMgc2V0IHRoZSBUWVBF X0xFTkdUSCBvZiB0aGUgVFlQRURFRiB0eXBlLAogICAgc28geW91IG9ubHkgaGF2ZSB0byBjYWxs IGNoZWNrX3R5cGVkZWYgb25jZS4gIFNpbmNlIGFsbG9jYXRlX3ZhbHVlCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fzc3VtZWRyYW5rLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZXhwCmluZGV4IDY5Y2QxNjgxMjVmLi5lOTQyOWI0NGE5 YSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5leHAK KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5leHAKQEAgLTU4LDYg KzU4LDEyIEBAIHdoaWxlIHsgJHRlc3RfY291bnQgPCA1MDAgfSB7CiAJICAgIH0KIAl9CiAKKwkj IEN1cnJlbnRseSwgZmxhbmcgZG9lcyBub3Qgc3VwcG9ydCByYW5rMC4KKwlpZiB7JHRlc3RfY291 bnQgPT0gMSAmJiBbdGVzdF9jb21waWxlcl9pbmZvIHtjbGFuZy0qfV19IHsKKwkgICB1bnN1cHBv cnRlZCAiY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCByYW5rIDAiCisJICAgY29udGludWUKKwl9 CisKIAlpZiAoJGZvdW5kX2ZpbmFsX2JyZWFrcG9pbnQpIHsKIAkgICAgYnJlYWsKIAl9CmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fzc3VtZWRyYW5rLmY5MCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZjkwCmluZGV4IDdmMDc3YzNmMDE0Li43 ZjdjZjJjMWYzZSAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVk cmFuay5mOTAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5mOTAK QEAgLTE5LDE2ICsxOSwxOSBAQAogCiBQUk9HUkFNICBhcmFuawogCisgIFJFQUwgOjogYXJyYXkw CiAgIFJFQUwgOjogYXJyYXkxKDEwKQogICBSRUFMIDo6IGFycmF5MigxLCAyKQogICBSRUFMIDo6 IGFycmF5MygzLCA0LCA1KQogICBSRUFMIDo6IGFycmF5NCg0LCA1LCA2LCA3KQogCisgIGFycmF5 MCA9IDAKICAgYXJyYXkxID0gMS4wCiAgIGFycmF5MiA9IDIuMAogICBhcnJheTMgPSAzLjAKICAg YXJyYXk0ID0gNC4wCiAKKyAgY2FsbCB0ZXN0X3JhbmsgKGFycmF5MCkKICAgY2FsbCB0ZXN0X3Jh bmsgKGFycmF5MSkKICAgY2FsbCB0ZXN0X3JhbmsgKGFycmF5MikKICAgY2FsbCB0ZXN0X3Jhbmsg KGFycmF5MykKLS0gCjIuMTcuMQoK --_002_DM6PR12MB421919BD97FFA68445838BABE7F89DM6PR12MB4219namp_--