From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by sourceware.org (Postfix) with ESMTPS id 5C1003858C5E for ; Mon, 24 Jul 2023 13:36:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C1003858C5E Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=windriver.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=windriver.com Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 36OCA3tq028354; Mon, 24 Jul 2023 06:36:31 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=from:to:cc:subject:date:message-id:references:in-reply-to :content-type:mime-version; s=PPS06212021; bh=MytJ47krrsOK9KEPEV 7uMHwfsNIGBc2m687Jj8Gj4Os=; b=eFZ0kY/yE4EMj0lYXc9R+mNci0QI1SnTXH vofSuwrno/w06LQVsCPn7LBRR3TK0zdeQHh/1xNOB77LJCoG4O6ULo4Qc5ueHIdQ PBqIYJKTAG1WtC+Ro9guavxfuju2RnidX54FACLzdKrlXeWjzPiJS3i/d1/wPQyK 6stmRmJuQOfBRBCBXPcBD9rgBCuZZojiDCmQlZhgqD2FQnDu+uu71CaiiFZoq+ms MLxY9Codwx2e4+Wmv3mgwdDLI6p8vFLFdnRh4U4pYHaZA9dcqo5+qqA7APY0iFTe Y9Pm4aSclRkr9ecvm9jTpnWcH9ElUmXOlojrt/jsC91KqmBaQL5A== Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 3s0emfha7j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jul 2023 06:36:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=boy645IKb1m8aS11QLBJvHKChZDqeyT8spvuuUmiJtj0CanNgFE5a7UimU70yP2LmUAINP54SIVbs7ANC5VAfsJfW/zdRxv6bTVN0GEdTaw6lnGxRn0nytDQ3uXgtblc9rGRqBVHr3DUGgEC9yTu9/trBP3mr88pRr1wGmLPjamBM1fvlECZ96XPgUpC1GSa7CzfQypLTHTY3Zeqy8MgLJPacSIu4X89Hq9IyaM7daaI2CeArtppX3sq2DOBszrZFOl8riH5ZEy9LjdZ1G4Z4/ha5oHChRrvi0a9KOtVCRgW37X0uAgmGGVYN/ZbVNoPflQLfoLS1lG5PfmWGW3oSA== 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=MytJ47krrsOK9KEPEV7uMHwfsNIGBc2m687Jj8Gj4Os=; b=MPAsELAnnSAj04hv9eVtHIWuS18WpexjCppVSq3VFITcBbJ8iP/SG0YtwP02zW8hhUK1bDAbzPEMT0/Mghq2KrbAnBHKFJUjUCoI6v7X5Is0iZn5UoQs+flah3nVfSo9ljUpppw2g5S+Yo+lEL81101ZI5sW+lq7sJEjwRG2tLk7Su/71AT6xbriVDoEwSgQX3vC6d+E/Bq4P9hMJIGrie0uIhe7hktWcJCrKM8D9VfN8M9DTKfVdz3pa36BiC5U09RePe7ai8ahmWdoEiN7pgTXiiils6qMm1noXXi8OP5da7OMcNdNUdDxi0OnWUpcoGcaoLVKudYTjIj50rfCKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from DS0PR11MB6447.namprd11.prod.outlook.com (2603:10b6:8:c4::16) by PH8PR11MB7118.namprd11.prod.outlook.com (2603:10b6:510:216::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.31; Mon, 24 Jul 2023 13:36:25 +0000 Received: from DS0PR11MB6447.namprd11.prod.outlook.com ([fe80::ac37:b984:6529:cf0c]) by DS0PR11MB6447.namprd11.prod.outlook.com ([fe80::ac37:b984:6529:cf0c%7]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 13:36:25 +0000 From: "Yan, Zhiyong" To: Kevin Buettner CC: "gdb-patches@sourceware.org" , "luis.machado@arm.com" , "tom@tromey.com" Subject: RE: [PATCH] gdbserver: Install single-step breakpoint for a pending thread whose last_resume_kind is resume_step Thread-Topic: [PATCH] gdbserver: Install single-step breakpoint for a pending thread whose last_resume_kind is resume_step Thread-Index: AQHZvBTkPI/ep58SA0WKR0O2Y70Dha/I7Y0w Date: Mon, 24 Jul 2023 13:36:24 +0000 Message-ID: References: <20230712032540.3110113-1-zhiyong.yan@windriver.com> <20230721134940.1ee4be68@f37-zws-nv> In-Reply-To: <20230721134940.1ee4be68@f37-zws-nv> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR11MB6447:EE_|PH8PR11MB7118:EE_ x-ms-office365-filtering-correlation-id: 3afefd95-4100-46aa-0ba1-08db8c4af9e8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vH4PmWnFrg1z1QYnRiG4nv5Eofn+LIOXfi35yGTwJy2FbBOflLEol4QlQRkWIV0zd48Lago5BJkWSoSkWvMb9CJY2ciCtnBXtiw522lW3Z0zsHGdUseY7i+3TQVOxFXtJ7aL34ho9LKcR3x8K7ZT6Je7un8edY72C9nrFwAOy/Sd0gBMjVmrrj0rMbA/qbkKw2h6Hs0V/20hRCk6ZGUNDqnV+T3qNJQ1pOhJ8FtoHVWn0JIa6l8PCPuXbDBhZakx1Bnbql35uUGPgnBTsKNNzuVxfgVBcMIunHOQrtSnJJ/mq4/Y99qWy2bcSm1vPEQ7tO/wxpZM1xWlUAqR91zEWrNJA293NdeCnOxj/My32Y1t+YjmQnYLa7viJ3MOQjHdx0/ucdhv4QcAGUtkulb/cqXnI+C3xT5G/TEmZQC6F5I0YDPwRWjvqdBD0dsIChdRW+zdXrVE9nvcLXX5I6t1yIsCtKvwO0Z0soMvp+rkB41qxNhbMzeHDgsFZDAqazg72g5wEKuuiAyiY9kUPnMTS+UiIePOIyyYp5+D+gyrN3gjqOdYD9RR0rsLdnFI7RFbPx+24CxJ3Vh/OwKxa3Bzi5zLPpDzmDnAeaXizDg8VTk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB6447.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39850400004)(396003)(366004)(136003)(346002)(376002)(451199021)(2906002)(64756008)(76116006)(66946007)(66446008)(66476007)(66556008)(99936003)(6916009)(7696005)(33656002)(71200400001)(478600001)(9686003)(54906003)(83380400001)(86362001)(186003)(122000001)(26005)(38070700005)(53546011)(6506007)(38100700002)(55016003)(4326008)(41300700001)(8936002)(8676002)(52536014)(5660300002)(84970400001)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?PxaunZ+9/1hQfTcNXFXkcY186CMjXM5u4TKR2kMOyPs+Eh2MnOWGXXrDoVR5?= =?us-ascii?Q?HbZfi+dAmll2KmJHd6ldNzeBtNWYKzKPZvzfGyqjCS9sBH3+N8g45q4bmQ7o?= =?us-ascii?Q?1EOj1/a2PzzFnwHvq7vVKEBmP5UIY3spH8gpEu05hi9H9GBKiFf8Folt7q28?= =?us-ascii?Q?rg/h+my6bDzOQubd9kCETnHeRzPWhQCdQF+iynglT6ZWjmIj7G/8OdYLX5gt?= =?us-ascii?Q?GnoSbkVOTuTyJgOyP43mMUv3iOnu9ASh3cZwFeJGZgFgE0UlBF9txnDkk6Yh?= =?us-ascii?Q?QA2uHdpCaCFuTzVjoQku+YeSm+fLi7Wv1cNd6lMGEOulVpb2FVUr7XSWhf98?= =?us-ascii?Q?HI2f0OKpjqYOY+Na8rJYlPR9gc5Czj33wwfD+DD4tGBQZhhk7SQIBKJAlm2b?= =?us-ascii?Q?zjJt4qoZSgxy5N4Ldy8oFCDF/guRxdkNR7RkvMr3FdR8XYusb0jgVP6pL1ht?= =?us-ascii?Q?6utmBLCXV22tWEJfR+v2vqMoAyQGUoVtoTkJgyyFwsW4HZIAhNUfKfYJvIp8?= =?us-ascii?Q?loU6uPubdBRmxPftXRFn1UcMFSpgRhIOULlw8FkyaB4Ua70LIv7n7BlknMTi?= =?us-ascii?Q?szRN/AUZcqHE5S6I8CQKNwgLpVDzugNgiDDigVEoG008ApnjdapLBUZu8N1h?= =?us-ascii?Q?Gd3vq7sYCTpxAO3NiIiwUkybiv03CLxZok1PpRbNFZsMS+D2yDasODBFURO9?= =?us-ascii?Q?qW+YDjuZFZ2xfxowRqubIEb/oBcCLmP3LWa3vgOiVGSVFv9+5PQIOSn+/8f5?= =?us-ascii?Q?O3ha4iHfBbSwB50PDp5xoWSNQEvtEgnTcXBdHq+iKogby4Z4o6q8gEi0JJUD?= =?us-ascii?Q?IMq2+J3gpJOsgfOUyTqJW5h6/fK/9BKIVu14CzRt/QqlcEdQLKig7G7aEkfu?= =?us-ascii?Q?l1uPd/pfPkGtIgjTTwgILBnDz7Oci+w8ZtANR2Z2XxbJQJYYhxBUXC5c1/Ks?= =?us-ascii?Q?UNQ5twbdsXvs8nVw0XFeLmkb7iDDnEkmZ5W9tjOWI9exoYNNt7QteIswy9qQ?= =?us-ascii?Q?q5eiKWhvcdMpRfhdAygckBm7g7cdTsTX7RrrYVYef6HgIywIPgLICj0qBzqs?= =?us-ascii?Q?p6tB4211YzSFdiiJS+Qgx1ueGtikbXwCej9HrS0fHmsFjf9o4XjjnT/RDgfZ?= =?us-ascii?Q?wzmcygUNaUvkSh1c86XBbCOAxtLs9kO9ymHvgmGgoelxrF2cyhAYitgmS6oi?= =?us-ascii?Q?CJ6GfUUx5+LT14L27RtbuZJh6RdRZYR21FpYWLtxby/Qum78iSEGoJ+a9rAe?= =?us-ascii?Q?H5RC9FJOO03iflKFYSRLFuTeicO0qSr6m+f+hzD+qlubJ8CryCavH8lUhZUy?= =?us-ascii?Q?Nb6F7R6j/C5VO3eP42wUA6TrUt8lQB6OQdxJ/eCVg7nmsN4hUszc+9Tu9H5I?= =?us-ascii?Q?QU4hp85ZBgqLXuIZTICdyhkRaFe6W1KsZtiPQXRcgutdM3CBI4xbTm64LVnp?= =?us-ascii?Q?/NUc4eAWN5YJUTqb8tA9sIKLUoI3kXqXicJGdRSkSlYR3sw+KqLmXWsEH30s?= =?us-ascii?Q?IGtxVb5AXBMNhM5gjCPfeDzJUjyTTI0fFExSirmv91mmgLs/gvjtrDKKJfZH?= =?us-ascii?Q?z5hMJiGR+1rPTy8HW0tS+hlH4BiSKDOdN5ggv4h0?= Content-Type: multipart/mixed; boundary="_003_DS0PR11MB64476202F13833871C26D5DAE702ADS0PR11MB6447namp_" MIME-Version: 1.0 X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB6447.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3afefd95-4100-46aa-0ba1-08db8c4af9e8 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2023 13:36:25.0640 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: o75D1OkHpOvlrYDsHo5huguyNnU1h1/JgR9D/JeHyubaFXAuylXf980Tg/wD5bhvICr3/M4ayBIvCd5zg4N9zzaLFILh+nBkmviTtQzKnhg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7118 X-Proofpoint-ORIG-GUID: oV5jhMIciC5Tb_qCGAT680WqqbffNNTq X-Proofpoint-GUID: oV5jhMIciC5Tb_qCGAT680WqqbffNNTq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-24_10,2023-07-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 mlxlogscore=999 priorityscore=1501 impostorscore=0 lowpriorityscore=0 mlxscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2306200000 definitions=main-2307240121 X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_003_DS0PR11MB64476202F13833871C26D5DAE702ADS0PR11MB6447namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Kevin, The callstack of assert is attached. Please see attached gdbx2 which add more 'n' commands, on arm platform,= keep execute 'n' command, this test case can trigger assert error. Today, I didn't finish setting up test environments on RaspBerry Pi4. B= efore I produced this issue on Xilinx arm platform. Best Regards. Zhiyong -----Original Message----- From: Kevin Buettner =20 Sent: Saturday, July 22, 2023 4:50 AM To: Yan, Zhiyong Cc: gdb-patches@sourceware.org; luis.machado@arm.com; tom@tromey.com Subject: Re: [PATCH] gdbserver: Install single-step breakpoint for a pendin= g thread whose last_resume_kind is resume_step CAUTION: This email comes from a non Wind River email account! Do not click links or open attachments unless you recognize the sender and = know the content is safe. Hi Zhiyong, I set up a Raspberry Pi running a recent 32-bit Raspberry Pi OS so that I c= ould test your patch. I was able to build and run your test case, but I co= uld not reproduce the bug on the Pi. I tested gdb.threads/*.exp using --target_board=3Dnative-gdbserver both wit= h and without your patch. Some of these tests are racy, but my conclusion = from just looking at the PASSes and FAILs (after many test runs) is that there are no regressions. But then I remembered to enable core dumps on the Pi and after running gdb.= threads/pending-fork-event-detach/pending-fork-event-detach-main-vfork by itself, I saw that it left a core file... $ make check RUNTESTFLAGS=3D"--target_board=3Dnative-gdbserver" TESTS=3Dgdb= .threads/pending-fork-event-detach.exp ... =3D=3D=3D gdb Summary =3D=3D=3D # of unexpected core files 1 # of expected passes 240 The core file was from the running test case, not gdbserver, nor gdb. Looking at the core file in GDB shows... Program terminated with signal SIGTRAP, Trace/breakpoint trap. #0 0x00010624 in break_here () at /mesquite2/sourceware-git/rpi-gdbserver/= bld/../../worktree-gdbserver/gdb/testsuite/gdb.threads/pending-fork-event-d= etach.c:29 29 x++; [Current thread is 1 (Thread 0xf7e10440 (LWP 4835))] (gdb) x/i $pc =3D> 0x10624 : udf #16 (gdb) x/x $pc 0x10624 : 0xe7f001f0 ...and in gdbserver/linux-aarch32-low.cc: #define arm_eabi_breakpoint 0xe7f001f0UL I think what's happened here is that the breakpoint added by your patch is = left in place when GDB detaches the test case. When it starts running agai= n, it hits the software single step breakpoint and, since it's no longer un= der GDB control, it dies with a SIGTRAP. This core file is not created when I run the test using a gdbserver without= your patch. I'm suspicious of the assert in linux_process_target::maybe_hw_step. Currently, it looks like this: bool linux_process_target::maybe_hw_step (thread_info *thread) { if (supports_hardware_single_step ()) return true; else { /* GDBserver must insert single-step breakpoint for software single step. */ gdb_assert (has_single_step_breakpoints (thread)); return false; } } But, when Yao Qi introduced it back in June, 2016, it looked like this: static int maybe_hw_step (struct thread_info *thread) { if (can_hardware_single_step ()) return 1; else { struct process_info *proc =3D get_thread_process (thread); /* GDBserver must insert reinsert breakpoint for software single step. */ gdb_assert (has_reinsert_breakpoints (proc)); return 0; } } So, back is 2016, when it was introduced, it's clear that the assert was re= ferring to breakpoints which needed to be reinserted. Now, that's not at a= ll obvious. Also, back in 2016, maybe_hw_step() was only called from two locations; in = each case it was in a block in which the condition lwp->bp_reinsert !=3D 0 was true. But now there are two other calls; in one case, the software single step breakpoints have just been ins= erted, so that should be okay, but for the other case, in linux_process_tar= get::resume_stopped_resumed_lwps, I'm less certain. In any case, could you comment out (or delete) the assert in a version of t= he source without your patch and let me know what happens? Also, if possible, I'd like to see a backtrace from where the assert occurs= so that I can see which call to maybe_hw_step is responsible for triggerin= g the failing assert. Kevin --_003_DS0PR11MB64476202F13833871C26D5DAE702ADS0PR11MB6447namp_ Content-Type: text/plain; name="callstack.txt" Content-Description: callstack.txt Content-Disposition: attachment; filename="callstack.txt"; size=5798; creation-date="Mon, 24 Jul 2023 13:29:38 GMT"; modification-date="Mon, 24 Jul 2023 13:36:24 GMT" Content-Transfer-Encoding: base64 bWF5YmVfaHdfc3RlcDogQXNzZXJ0aW9uIGBoYXNfc2luZ2xlX3N0ZXBfYnJlYWtwb2ludHMgKHRo cmVhZCknIGZhaWxlZC4NCkFib3J0ZWQgKGNvcmUgZHVtcGVkKQ0KRUNAbXByMy4xPiBscyAtbA0K dG90YWwgNzQ2NA0KLXJ3LS0tLS0tLSAxIHJvb3Qgcm9vdCAgNjMwNzg0IEp1biAyOCAxMjoxNCBj b3JlLWdkYnNlcnZlci0xMTQ3NS0xNjU2NDE4NDc3DQotcnd4ci14ci14IDEgcm9vdCByb290IDcy NjU1NzIgSnVuIDI4IDEyOjEyIGdkYnNlcnZlcg0KRUNAbXByMy4xPiBnZGIgLi9nZGJzZXJ2ZXIg Li9jb3JlLWdkYnNlcnZlci0xMTQ3NS0xNjU2NDE4NDc3DQpHTlUgZ2RiIChHREIpIDEyLjENCkNv cHlyaWdodCAoQykgMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCkxpY2Vuc2Ug R1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5z ZXMvZ3BsLmh0bWw+DQpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFu Z2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4NClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0 ZW50IHBlcm1pdHRlZCBieSBsYXcuDQpUeXBlICJzaG93IGNvcHlpbmciIGFuZCAic2hvdyB3YXJy YW50eSIgZm9yIGRldGFpbHMuDQpUaGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAiYXJtLXdycy1s aW51eC1nbnVlYWJpIi4NClR5cGUgInNob3cgY29uZmlndXJhdGlvbiIgZm9yIGNvbmZpZ3VyYXRp b24gZGV0YWlscy4NCkZvciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9ucywgcGxlYXNlIHNlZToN CjxodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYi9idWdzLz4uDQpGaW5kIHRoZSBHREIg bWFudWFsIGFuZCBvdGhlciBkb2N1bWVudGF0aW9uIHJlc291cmNlcyBvbmxpbmUgYXQ6DQogICAg PGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+Lg0KDQpGb3Ig aGVscCwgdHlwZSAiaGVscCIuDQpUeXBlICJhcHJvcG9zIHdvcmQiIHRvIHNlYXJjaCBmb3IgY29t bWFuZHMgcmVsYXRlZCB0byAid29yZCIuLi4NClJlYWRpbmcgc3ltYm9scyBmcm9tIC4vZ2Ric2Vy dmVyLi4uDQpbTmV3IExXUCAxMTQ3NV0NCg0Kd2FybmluZzogVW5hYmxlIHRvIGZpbmQgbGlidGhy ZWFkX2RiIG1hdGNoaW5nIGluZmVyaW9yJ3MgdGhyZWFkIGxpYnJhcnksIHRocmVhZCBkZWJ1Z2dp bmcgd2lsbCBub3QgYmUgYXZhaWxhYmxlLg0KQ29yZSB3YXMgZ2VuZXJhdGVkIGJ5IGAuL2dkYnNl cnZlciAtLW9uY2UgLS1hdHRhY2ggOjEyMzQgMzI1Jy4NClByb2dyYW0gdGVybWluYXRlZCB3aXRo IHNpZ25hbCBTSUdBQlJULCBBYm9ydGVkLg0KIzAgIDB4NzZjYTYyMTYgaW4gPz8gKCkgZnJvbSAv bGliL2xpYmMuc28uNg0KKGdkYikgYnQNCiMwICAweDc2Y2E2MjE2IGluID8/ICgpIGZyb20gL2xp Yi9saWJjLnNvLjYNCiMxICAweDc2Y2I0OWQ0IGluIHJhaXNlICgpIGZyb20gL2xpYi9saWJjLnNv LjYNCiMyICAweDc2Y2E1Y2EwIGluIGFib3J0ICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCiMzICAw eDAwNGE4MjgwIGluIGFib3J0X29yX2V4aXQgKCkgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEw MjEvZ2Ric2VydmVyL3V0aWxzLmNjOjM5DQojNCAgaW50ZXJuYWxfdmVycm9yIChmaWxlPTxvcHRp bWl6ZWQgb3V0PiwgbGluZT1saW5lQGVudHJ5PTI0NDgsIGZtdD0weDAsIGZtdEBlbnRyeT0weDdl ZThjMmJjICJcMjEwXDMxNk4iLCBhcmdzPS4uLiwNCiAgICBhcmdzQGVudHJ5PS4uLikgYXQgLi4v Li4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL3V0aWxzLmNjOjEwOA0KIzUgIDB4MDA0 ZDgzY2UgaW4gaW50ZXJuYWxfZXJyb3JfbG9jIChmaWxlPTxvcHRpbWl6ZWQgb3V0PiwgbGluZT1s aW5lQGVudHJ5PTI0NDgsIGZtdD0weDRlNGJjOCAiJXM6IEFzc2VydGlvbiBgJXMnIGZhaWxlZC4i KQ0KICAgIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnN1cHBvcnQvZXJyb3JzLmNj OjU4DQojNiAgMHgwMDRjNWMyOCBpbiBsaW51eF9wcm9jZXNzX3RhcmdldDo6bWF5YmVfaHdfc3Rl cCAodGhpcz08b3B0aW1pemVkIG91dD4sIHRocmVhZD08b3B0aW1pemVkIG91dD4pDQogICAgYXQg Li4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYzoyNDQ4DQoj NyAgbGludXhfcHJvY2Vzc190YXJnZXQ6Om1heWJlX2h3X3N0ZXAgKHRoaXM9PG9wdGltaXplZCBv dXQ+LCB0aHJlYWQ9PG9wdGltaXplZCBvdXQ+KQ0KICAgIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIw MjIxMDIxL2dkYnNlcnZlci9saW51eC1sb3cuY2M6MjQ0MA0KIzggIDB4MDA0YzY2MGEgaW4gbGlu dXhfcHJvY2Vzc190YXJnZXQ6OnJlc3VtZV9zdG9wcGVkX3Jlc3VtZWRfbHdwcyAodGhpcz10aGlz QGVudHJ5PTB4NTBhM2NjIDx0aGVfYXJtX3RhcmdldD4sIHRocmVhZD0weDIwOWZiMjgpDQogICAg YXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYzoyNDY2 DQojOSAgMHgwMDRjNzYxNCBpbiA8bGFtYmRhKHRocmVhZF9pbmZvKik+OjpvcGVyYXRvcigpIChf X2Nsb3N1cmU9PHN5bnRoZXRpYyBwb2ludGVyPiwgdGhyZWFkPTxvcHRpbWl6ZWQgb3V0PikNCiAg ICBhdCAuLi8uLi9nZGItMTMuMC41MC4yMDIyMTAyMS9nZGJzZXJ2ZXIvbGludXgtbG93LmNjOjI2 MDYNCiMxMCBmb3JfZWFjaF90aHJlYWQ8bGludXhfcHJvY2Vzc190YXJnZXQ6OndhaXRfZm9yX2V2 ZW50X2ZpbHRlcmVkKHB0aWRfdCwgcHRpZF90LCBpbnQqLCBpbnQpOjo8bGFtYmRhKHRocmVhZF9p bmZvKik+ID4gKGZ1bmM9Li4uKQ0KICAgIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dk YnNlcnZlci9nZGJ0aHJlYWQuaDoxNTkNCiMxMSBsaW51eF9wcm9jZXNzX3RhcmdldDo6d2FpdF9m b3JfZXZlbnRfZmlsdGVyZWQgKHRoaXM9dGhpc0BlbnRyeT0weDUwYTNjYyA8dGhlX2FybV90YXJn ZXQ+LCB3YWl0X3B0aWQ9Li4uLCBmaWx0ZXJfcHRpZD0uLi4sDQogICAgd3N0YXRwPTB4N2VlOGM1 NDQsIG9wdGlvbnM9MTA3Mzc0MTgyNCkgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ri c2VydmVyL2xpbnV4LWxvdy5jYzoyNjA0DQojMTIgMHgwMDRjOTQyNiBpbiBsaW51eF9wcm9jZXNz X3RhcmdldDo6d2FpdF9mb3JfZXZlbnQgKG9wdGlvbnM9MTA3OTAyNjg1Miwgd3N0YXRwPTB4N2Vl OGM1NDQsIHB0aWQ9Li4uLA0KICAgIHRoaXM9MHg1MGEzY2MgPHRoZV9hcm1fdGFyZ2V0PikgYXQg Li4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL2xpbnV4LWxvdy5jYzoyNjc2DQoj MTMgbGludXhfcHJvY2Vzc190YXJnZXQ6OndhaXRfMSAodGhpcz10aGlzQGVudHJ5PTB4NTBhM2Nj IDx0aGVfYXJtX3RhcmdldD4sIHB0aWQ9Li4uLA0KICAgIG91cnN0YXR1cz1vdXJzdGF0dXNAZW50 cnk9MHg1MGM5ZjggPGdfY2xpZW50X3N0YXRlKzEyODg+LCB0YXJnZXRfb3B0aW9ucz0uLi4sIHRh cmdldF9vcHRpb25zQGVudHJ5PS4uLikNCiAgICBhdCAuLi8uLi9nZGItMTMuMC41MC4yMDIyMTAy MS9nZGJzZXJ2ZXIvbGludXgtbG93LmNjOjI5NzANCiMxNCAweDAwNGNhYjZjIGluIGxpbnV4X3By b2Nlc3NfdGFyZ2V0Ojp3YWl0ICh0aGlzPTB4NTBhM2NjIDx0aGVfYXJtX3RhcmdldD4sIHB0aWQ9 Li4uLCBvdXJzdGF0dXM9MHg1MGM5ZjggPGdfY2xpZW50X3N0YXRlKzEyODg+LA0KICAgIHRhcmdl dF9vcHRpb25zPS4uLikgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL2xp bnV4LWxvdy5jYzozNjI0DQojMTUgMHgwMDRiOTc3OCBpbiB0YXJnZXRfd2FpdCAob3B0aW9ucz0u Li4sIHN0YXR1cz0weDUwYzlmOCA8Z19jbGllbnRfc3RhdGUrMTI4OD4sIHB0aWQ9Li4uKQ0KICAg IGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnNlcnZlci90YXJnZXQuY2M6MTk3DQoj MTYgbXl3YWl0IChwdGlkPS4uLiwgb3Vyc3RhdHVzPW91cnN0YXR1c0BlbnRyeT0weDUwYzlmOCA8 Z19jbGllbnRfc3RhdGUrMTI4OD4sIG9wdGlvbnM9Li4uLA0KICAgIGNvbm5lY3RlZF93YWl0PWNv bm5lY3RlZF93YWl0QGVudHJ5PTEpIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnNl cnZlci90YXJnZXQuY2M6MTQyDQojMTcgMHgwMDRiMzQyOCBpbiByZXN1bWUgKGFjdGlvbnM9PG9w dGltaXplZCBvdXQ+LCBudW1fYWN0aW9ucz08b3B0aW1pemVkIG91dD4pDQotLVR5cGUgPFJFVD4g Zm9yIG1vcmUsIHEgdG8gcXVpdCwgYyB0byBjb250aW51ZSB3aXRob3V0IHBhZ2luZy0tYw0KICAg IGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnNlcnZlci9zZXJ2ZXIuY2M6MjkxNg0K IzE4IHJlc3VtZSAoYWN0aW9ucz0weDIwYTY3NzgsIG51bV9hY3Rpb25zPTxvcHRpbWl6ZWQgb3V0 PikgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL3NlcnZlci5jYzoyODg4 DQojMTkgMHgwMDRiM2VkMCBpbiBoYW5kbGVfdl9jb250IChvd25fYnVmPTB4MjBhNjc3OCAiRVww MDEiKSBhdCAuLi8uLi9nZGItMTMuMC41MC4yMDIyMTAyMS9nZGJzZXJ2ZXIvc2VydmVyLmNjOjI4 NzUNCiMyMCBoYW5kbGVfdl9yZXF1ZXN0cyAob3duX2J1Zj1vd25fYnVmQGVudHJ5PTB4MjA4YjBh OCAidkNvbnQ7cjQ1YjQ0NCw0NWI0NGM6cDE0NS4xOGE7YzpwMTQ1Li0xIiwgcGFja2V0X2xlbj1w YWNrZXRfbGVuQGVudHJ5PTM5LCBuZXdfcGFja2V0X2xlbj1uZXdfcGFja2V0X2xlbkBlbnRyeT0w eDdlZThjOGFjKSBhdCAuLi8uLi9nZGItMTMuMC41MC4yMDIyMTAyMS9nZGJzZXJ2ZXIvc2VydmVy LmNjOjMxMzUNCiMyMSAweDAwNGI2Yjc2IGluIHByb2Nlc3Nfc2VyaWFsX2V2ZW50ICgpIGF0IC4u Ly4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnNlcnZlci9zZXJ2ZXIuY2M6NDQ4MQ0KIzIyIGhh bmRsZV9zZXJpYWxfZXZlbnQgKGVycj08b3B0aW1pemVkIG91dD4sIGNsaWVudF9kYXRhPTxvcHRp bWl6ZWQgb3V0PikgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL3NlcnZl ci5jYzo0NTEzDQojMjMgMHgwMDRkODkwNCBpbiBnZGJfd2FpdF9mb3JfZXZlbnQgKGJsb2NrPWJs b2NrQGVudHJ5PTEpIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnN1cHBvcnQvZXZl bnQtbG9vcC5jYzo2OTQNCiMyNCAweDAwNGQ5MDM0IGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxv Y2s9MSkgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric3VwcG9ydC9ldmVudC1sb29w LmNjOjU5Mw0KIzI1IGdkYl9kb19vbmVfZXZlbnQgKG1zdGltZW91dD1tc3RpbWVvdXRAZW50cnk9 LTEpIGF0IC4uLy4uL2dkYi0xMy4wLjUwLjIwMjIxMDIxL2dkYnN1cHBvcnQvZXZlbnQtbG9vcC5j YzoyNjQNCiMyNiAweDAwNGE4YTZjIGluIHN0YXJ0X2V2ZW50X2xvb3AgKCkgYXQgLi4vLi4vZ2Ri LTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVyL3NlcnZlci5jYzozNTExDQojMjcgY2FwdHVyZWRf bWFpbiAoYXJndj08b3B0aW1pemVkIG91dD4sIGFyZ2M9NSkgYXQgLi4vLi4vZ2RiLTEzLjAuNTAu MjAyMjEwMjEvZ2Ric2VydmVyL3NlcnZlci5jYzozOTkxDQojMjggbWFpbiAoYXJnYz01LCBhcmd2 PTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vZ2RiLTEzLjAuNTAuMjAyMjEwMjEvZ2Ric2VydmVy L3NlcnZlci5jYzo0MDc3DQooZ2RiKQ0KKGdkYikNCihnZGIpIGluZm8gdGhyZWFkDQogIElkICAg VGFyZ2V0IElkICAgICAgICAgRnJhbWUNCiogMSAgICBMV1AgMTE0NzUgICAgICAgICAweDc2Y2E2 MjE2IGluID8/ICgpIGZyb20gL2xpYi9saWJjLnNvLjYNCihnZGIpDQo= --_003_DS0PR11MB64476202F13833871C26D5DAE702ADS0PR11MB6447namp_ Content-Type: application/octet-stream; name="gdbx2" Content-Description: gdbx2 Content-Disposition: attachment; filename="gdbx2"; size=415; creation-date="Tue, 25 Apr 2023 01:55:34 GMT"; modification-date="Mon, 24 Jul 2023 13:36:24 GMT" Content-Transfer-Encoding: base64 IyBnZGJzZXJ2ZXIgLS1vbmNlIC0tYXR0YWNoIDoxMjM0ICQocGdyZXAgZXFwdENudHJsKQoKc2V0 IHBhZ2luYXRpb24gb2ZmCgojdGFyZ2V0IHJlbW90ZSAxMjguMjI0LjE3Ni45NDoxMjM0CnRhcmdl dCByZW1vdGUgMTI4LjIyNC4xNzguMTIzOjEyMzQKCiNzZXQgbG9nZ2luZyBmaWxlIHByMjk3NDIt aG9zdC5sb2cKI3NldCBsb2dnaW5nIGVuYWJsZWQKCiNzZXQgZGVidWcgcmVtb3RlIDEKI3NldCBk ZWJ1ZyByZW1vdGUtcGFja2V0LW1heC1jaGFycyB1bmxpbWl0ZWQKCmhhbmRsZSBTSUczMiBub3N0 b3Agbm9wcmludApoYW5kbGUgU0lHU1RPUCBub3N0b3Agbm9wcmludAoKYiBscHVkYXRlZC5jOjky CgpjCm4KbgpuCm4KbgpuCm4KbgpuCm4KbgpuCm4KbgpuCm4KbgpuCm4KbgpuCm4KbgpuCm4Kbgpu Cm4KbgpuCm4KbgpuCm4Kbg== --_003_DS0PR11MB64476202F13833871C26D5DAE702ADS0PR11MB6447namp_--