From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 408F83858439 for ; Tue, 19 Jul 2022 15:54:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 408F83858439 Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26JFai72012711; Tue, 19 Jul 2022 15:53:57 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3hdydc0say-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jul 2022 15:53:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aZKkcASoyPtJAGXF65JPhQD8Jbv/hhS9Nv4KXc9Q8jD3qxqARCHYGiIRjklx4+Zy9dwd053p+JJmumoo3H3yD13xCFCS9GvNS5mhpHaRG7Ncp6ghSmX4cf0W8fhxMjkbLjeQ4PttAKLXWcQchioErlCpHKP/oGLxS+XLUFIqHdwy3J+5snftvHyP32vjIifMXE9PPIm2DOxmyCzyds3zzzFrvFjMMM6T6alilvvBEKpbPRiuxNW/Q2/5hfjyMk1Et25w3pn9OfqbJ6Q7q7zbc516psaRWkpmKpx/f2+/aUsZxm/NLQMM1VzeYR3MZmjP6PSS4iUmyhtKaKnNmXBaVg== 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=sthTGeTwQazRkgKzZjL7sYFC8x4XQHuT2oX2Q26iB58=; b=gEl1+m1Rn3dI3rL6orGKWBMvnwfZh+jN5BvgViWFZBDUG7oR1iBu7EUhT66mqdYnyet71Eos53+cQgrGfMWzp1RtA6/zicR9wrPYnkl3y1xOH2xbpgBd9j9EoYQee5yU7b91h/RXwWGyTMfwZHh0hkzAKFnNZ8NBaQfs0q1maE4/wY5rqU99wkUVmLQ5ZVhLyCd57Tk3Zr6GOaecS2ZQz80Y1RSRTU2soq9Fn2rsUjlwo5sXUJ/efh4KKN/58Cz6LEL6c2gjjALfHNrmpWcHOYuAdNCtzx8Rqv40yB2q2UafRaAwaXRyQVmXaXw8HlDwqxQvCZJWYTuz6YOpsi5w3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by MN2PR15MB4799.namprd15.prod.outlook.com (2603:10b6:208:185::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.23; Tue, 19 Jul 2022 15:53:53 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::b831:7c28:bc34:6404]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::b831:7c28:bc34:6404%7]) with mapi id 15.20.5438.023; Tue, 19 Jul 2022 15:53:52 +0000 From: Aditya Kamath1 To: Ulrich Weigand , "simark@simark.ca" , Aditya Kamath1 via Gdb-patches CC: Sangamesh Mallayya Subject: [PATCH] Enable multi process debugging for AIX Thread-Topic: [PATCH] Enable multi process debugging for AIX Thread-Index: AQHYm4bOcAeVu+roE0qom9FKwssVZg== Date: Tue, 19 Jul 2022 15:53:52 +0000 Message-ID: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2bbbe0d2-da8c-4a40-1684-08da699ee121 x-ms-traffictypediagnostic: MN2PR15MB4799:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j/1Icb3vHxZzdFDQ6xe4wr4G0+pc+sefDlXTSbSRZf19UMw0Vx6YSeNthy4F3J5QfFxabmJcutPk40y8jY59fS58svrwe1xd+7InZhLmuZKwfvfCA1QkZSoljdvi03OrokPV2OiTqMgtZTueKiMhtHdHFrm9W6m67h4c6ih+f9BPWjH1c0EwjKiUTF9otQ57gA8D2yS7HJRgSbDTSqNC2iMV3q8AzJuu1wOK2EgMJGVQxWnzPljedJBqbVavNUaHMZPNmBJIJc82AuhTSBYr10eKu5AQk1kjyx2eg9v6ADQZxNYJw75rhlBPa7HnQf5/clK/VjEmHAsPZrjCBxGT02Q+MceKWjkOEXSkYCQ7tyyXaILI+yGG/Uu6X0zs4LRHH/FypoeAV4EQA5vU18+4TYGHrQLQTdUzIyelcDZT0WtCJVnr1JljqVXzF1wNMPeBiVA7kCZpv+K5emWgDEbrDaVz8HEAnr4E8/UtxllbbP5fAC2BTCADfGpZlLGi6aaUD6NX+udlzjNCmcS5ihQvmTY5BWutqdsVm5VCWZ2c9SRsqtJp/Ia/5uBaeAmpiqkGraVNtjT9pTBAk7MjSzOge+/XbzFQHy8MJVKkPezntCFYMpMmliHIQynqaGExibdOIQ0IAyor7DFKB3bvOnCrz6ruImEEIO3RycOGBIS9QFXNZnNMZIsICMLqnHfauQStRVpEBoSW3MTSsPcHGgaX7HXsCja6yHk6zX7s25+ZSfLcbKzeGYokl50L5kK2hoijKBsFYNVxi9lxeMRktl5t45S2EX/khZiBAOvvhcu00Wmvdv8TmmILRxiHEnr8z7S7 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR15MB3544.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(136003)(376002)(39860400002)(396003)(366004)(346002)(66556008)(110136005)(478600001)(8936002)(8676002)(4326008)(19627405001)(66476007)(66946007)(76116006)(86362001)(52536014)(71200400001)(64756008)(91956017)(66446008)(316002)(38070700005)(7696005)(99936003)(2906002)(122000001)(26005)(41300700001)(186003)(83380400001)(33656002)(5660300002)(9686003)(6506007)(38100700002)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?FRcTVoEA/2JvYJf8Dav5qPgIMqfglF0irRMHbAchM2GKzUj/eQ9rCC+F?= =?Windows-1252?Q?RwDeZ+vmz4tEUtDmgSaippZXyd4y3qhj/ZT7yd9wVElNNVcKd+FB5uYX?= =?Windows-1252?Q?HNnx9/EBdp24QzuX9fr1VCvJqONo0tVgpCBge3wQy/uQ705UzlUUrvvO?= =?Windows-1252?Q?6xJEdDcIrHLUwxAobmH8RuuCA5hoiQDTe+tN7Hxr4KVlN8VaXSQDnC24?= =?Windows-1252?Q?ez0MYZj3vTq7hmUptX3eGEBOISbu8F8JAtZXWlD0R7X74K4v1CMlYQv/?= =?Windows-1252?Q?dt0vAum7bph0+7/HWiRriXA8SfH0KileatJ2SWGbSBRYkNDVR4Y9eoxX?= =?Windows-1252?Q?ogaIIf0zrMHMAdB1Knnt2E9gVJ5JGqEot3Jr8UdTevFRXQeOwUF2UoI9?= =?Windows-1252?Q?wS6wpqFgiAbdLehxJFJDWxU+m3dTvp4UBDcPl1d7BeuppJQwti8oaYV5?= =?Windows-1252?Q?aL7CDUbh7Ob79DInXy2sstK8uJajq2aU/Ah1PjrlTquqV6l4Gf/E5BTT?= =?Windows-1252?Q?Hag0efvO6Fudof8T4vGB0FjSVaQo868MZ1nFE2huQ/YFwW4TjaUB7Im/?= =?Windows-1252?Q?pt5T8nXTQOfB8fjzd2HTYyo271HvMbimJZZJZE9J5/cgv4PpNmHxF85X?= =?Windows-1252?Q?5ck1BXOQ3jYTnzPUfalu+9ijArkLV8lahSbl8xc14vhhaQCiKLklImxi?= =?Windows-1252?Q?nvj/4G+XXUHWomFFU3EWudr9/U4HXm72uOygmyWaxa7WnssQtOzPTvxD?= =?Windows-1252?Q?Wg+RXI4v8MMmmUoDNThyPevRPL9PdYNnExrDzbKSMgAdvZS4MCBV6zfG?= =?Windows-1252?Q?/GIIZtl+ls78yajDcga0eiDdEfO1gAFp5uaxZV/0Wi8ek1Or/tzW5a0v?= =?Windows-1252?Q?1p/8mZO7HUo716k95sdgUCFHZUecq6jpzLlu5jXukK5fJfpINXgF7l6g?= =?Windows-1252?Q?9h9xRac9JyrLUXJBRwagT6MS3QsUpG7tdInEYQCJIGwkiY3CUcksHGZ2?= =?Windows-1252?Q?85GKaKqI95KSusKaaMoe2iQNiEqyw3qldvTUEYGu/rjuM+ZA3HKE92uT?= =?Windows-1252?Q?ldH58+9j+GROlc0HrD5fZgpCodVTmSqT3NcJTpR4pmtklHbhPOr+6xXR?= =?Windows-1252?Q?lf5LykFeT+a+tmvZkAN0EfeEEAlirgzXvzIQsIFcZYTnEym/NNX3iP/Y?= =?Windows-1252?Q?/LCS+WTGcFYLXXKJzFOCK0g3TnHiLoa8Z4c99ZA4DlUu1bse/kD29Ucr?= =?Windows-1252?Q?X+7JWp/Z0F9ScSiXVvYnWej3qhLdOp+MoRmGIl2pncsIOUiMng4+yyyg?= =?Windows-1252?Q?e0YsdzE1XAY+J7sP81HDp5+fjlxivuocNJOcq7MuWOoZsHR5V8GcVjDa?= =?Windows-1252?Q?nUD8qNkw8WNG7oqIBw/zHLbRPp/7hGLWsuj0xJUYDHi+vNeq05jEHBrW?= =?Windows-1252?Q?b3x0rFb/nQm8Po+tCO6vuN0CGmITki0Wl/FhCjXKsbQMUSm2g9qON8jA?= =?Windows-1252?Q?9Rq40vHSMwSt9yfFAXXIPL3GjMcJ6WTi7lnl2nR8qQ+lKqznpcIsA9XV?= =?Windows-1252?Q?yITS2nXhqrFgXOZe3BdpDFsbLHZNj7z5MbFlou7qVJARTIe9kMDbIrOX?= =?Windows-1252?Q?qSK2FJu2zXQ3WTStMKmmTmlAMaKjUSg3zQIy16RACJui7xxcWnfnX4yu?= =?Windows-1252?Q?ZmG97SQ+xYZSrQTlQfWLvhXMRF0BFnOi?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB354483D4F55BCF7DEB83D9B7D68F9CH2PR15MB3544namp_" MIME-Version: 1.0 X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2bbbe0d2-da8c-4a40-1684-08da699ee121 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2022 15:53:52.8512 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: g5fIahNtXBSpZQeUa/TddOKgLH0gtkLEH+XhKd7hCAeYh10FrmmEGw1WabqgTcV8xIKYfklF7ypErqwGyiGbQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR15MB4799 X-Proofpoint-GUID: -pJDIGsHGr3baQTAK7wXZcxFclt6mkkv X-Proofpoint-ORIG-GUID: -pJDIGsHGr3baQTAK7wXZcxFclt6mkkv X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-19_04,2022-07-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 priorityscore=1501 spamscore=0 impostorscore=0 clxscore=1015 mlxlogscore=303 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207190064 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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, 19 Jul 2022 15:54:02 -0000 --_004_CH2PR15MB354483D4F55BCF7DEB83D9B7D68F9CH2PR15MB3544namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi, The attached proposed patch adds multi process debugging feature in AIX.=94 Till now AIX supported debugging only one inferior at a time, now we can be= able to debug multi process. Users can use set follow fork mode in child or parent and set detach on for= k on or off to enable/disable simultaneous debugging of parent/child. An example program is written below as follows with the gdb output: #include #include #include void hello_from_child(){ printf("Hello from child \n"); } void hello_from_parent(){ printf("Hello from Parent \n"); } int main(){ pid_t childpid; printf("I should not be printed after fork as I am executed \n"); childpid =3D fork(); if (childpid =3D=3D 0) hello_from_child(); else hello_from_parent(); return 0; } GDB Output:- (gdb) b hello_from_child Breakpoint 1 at 0x10000584: file test_fork.c, line 6. (gdb) set follow-fork-mode child (gdb) set detach-on-fork off (gdb) r Starting program: /home/test_fork I should not be printed after fork as I am executed [Attaching after process 23331156 fork to child process 23134700] [New inferior 2 (process 23134700)] [Switching to process 23134700] Thread 2.1 hit Breakpoint 1, hello_from_child () at test_fork.c:6 6 printf("Hello from child \n"); (gdb) c Continuing. Hello from child [Inferior 2 (process 23134700) exited normally] (gdb) The following are the results after running the "gdb.base" test suite:- With patch # of expected passes 26584 # of unexpected failures 3968 # of unexpected successes 1 # of expected failures 17 # of known failures 26 # of unresolved testcases 109 # of untested testcases 79 # of unsupported tests 62 # of paths in test names 1 # of duplicate test names 2 Without patch # of expected passes 26244 # of unexpected failures 4230 # of unexpected successes 1 # of expected failures 17 # of known failures 26 # of unresolved testcases 110 # of untested testcases 79 # of unsupported tests 62 # of paths in test names 1 # of duplicate test names 4 Please find attached the patch [See file: 0001-Enable-multi-process-debuggi= ng-for-AIX.patch] I have left comments in my patch to make it easy to understand and justify = [code lines] the same. Let me know what you think. Kindly give us feedback at the earliest. Have a nice day ahead. Thanks and regards, Aditya. Bye. --_004_CH2PR15MB354483D4F55BCF7DEB83D9B7D68F9CH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Enable-multi-process-debugging-for-AIX.patch" Content-Description: 0001-Enable-multi-process-debugging-for-AIX.patch Content-Disposition: attachment; filename="0001-Enable-multi-process-debugging-for-AIX.patch"; size=4303; creation-date="Tue, 19 Jul 2022 15:51:52 GMT"; modification-date="Tue, 19 Jul 2022 15:52:11 GMT" Content-Transfer-Encoding: base64 RnJvbSAxZWFiMGJiMDViMWRiMDlkZmI5OGQzMWNjNjMwNzIyYjQwYzA4MWM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0 aDFAaWJtLmNvbT4KRGF0ZTogVHVlLCAxOSBKdWwgMjAyMiAxMDozOTowMCAtMDUwMApTdWJqZWN0 OiBbUEFUQ0hdIEVuYWJsZSBtdWx0aSBwcm9jZXNzIGRlYnVnZ2luZyBmb3IgQUlYCgpUaGUgYXR0 YWNoZWQgcHJvcG9zZWQgcGF0Y2ggYWRkcyBtdWx0aSBwcm9jZXNzIGRlYnVnZ2luZyBmZWF0dXJl IGluIEFJWC4KClRpbGwgbm93IEFJWCBzdXBwb3J0ZWQgZGVidWdnaW5nIG9ubHkgb25lIGluZmVy aW9yIGF0IGEgdGltZSwKCm5vdyB3ZSBjYW4gYmUgYWJsZSB0byBkZWJ1ZyBtdWx0aSBwcm9jZXNz LgoKVXNlcnMgY2FuIHVzZSBzZXQgZm9sbG93IGZvcmsgbW9kZSBpbiBjaGlsZCBvciBwYXJlbnQg YW5kCgpzZXQgZGV0YWNoIG9uIGZvcmsgb24gb3Igb2ZmIHRvIGVuYWJsZS9kaXNhYmxlIHNpbXVs dGFuZW91cyBkZWJ1Z2dpbmcgb2YgcGFyZW50L2NoaWxkLgotLS0KIGdkYi9haXgtdGhyZWFkLmMg ICAgIHwgIDQgKysrKwogZ2RiL3JzNjAwMC1haXgtbmF0LmMgfCA0OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dkYi9haXgtdGhyZWFkLmMgYi9n ZGIvYWl4LXRocmVhZC5jCmluZGV4IGQ0N2Y1MTMyNTkyLi5mNjZiNTkwNGFlOCAxMDA2NDQKLS0t IGEvZ2RiL2FpeC10aHJlYWQuYworKysgYi9nZGIvYWl4LXRocmVhZC5jCkBAIC0xMDg4LDYgKzEw ODgsMTAgQEAgYWl4X3RocmVhZF90YXJnZXQ6OndhaXQgKHB0aWRfdCBwdGlkLCBzdHJ1Y3QgdGFy Z2V0X3dhaXRzdGF0dXMgKnN0YXR1cywKICAgICAgcGlkLW9ubHkgcHRpZHMuICAqLwogICBnZGJf YXNzZXJ0IChwdGlkLmlzX3BpZCAoKSk7CiAKKyAgLyogSW4gcGRfYWN0aXZhdGUgdG8gZ2V0IFBU SEJfU1VDQ0VTUyBpbiBwdGhyZWFkIGRlYnVnIHNlc3Npb24gaW5pdAorICAgICB3ZSBuZWVkIGlu ZmVyaW9yX3B0aWQgc2V0IHRvIHVwZGF0ZSBtdWx0aXBsZSB0aHJlYWRzLiAqLworICBpbmZlcmlv cl9wdGlkID0gcHRpZDsKKwogICAvKiBDaGVjayB3aGV0aGVyIGxpYnB0aGRlYnVnIG1pZ2h0IGJl IHJlYWR5IHRvIGJlIGluaXRpYWxpemVkLiAgKi8KICAgaWYgKCFwZF9hY3RpdmUgJiYgc3RhdHVz LT5raW5kICgpID09IFRBUkdFVF9XQUlUS0lORF9TVE9QUEVECiAgICAgICAmJiBzdGF0dXMtPnNp ZyAoKSA9PSBHREJfU0lHTkFMX1RSQVApCmRpZmYgLS1naXQgYS9nZGIvcnM2MDAwLWFpeC1uYXQu YyBiL2dkYi9yczYwMDAtYWl4LW5hdC5jCmluZGV4IGY2MDRmN2Q1MDNlLi41NTg0NGNhNmRhYiAx MDA2NDQKLS0tIGEvZ2RiL3JzNjAwMC1haXgtbmF0LmMKKysrIGIvZ2RiL3JzNjAwMC1haXgtbmF0 LmMKQEAgLTkxLDEwICs5MSwxNiBAQCBjbGFzcyByczYwMDBfbmF0X3RhcmdldCBmaW5hbCA6IHB1 YmxpYyBpbmZfcHRyYWNlX3RhcmdldAogCiAgIHB0aWRfdCB3YWl0IChwdGlkX3QsIHN0cnVjdCB0 YXJnZXRfd2FpdHN0YXR1cyAqLCB0YXJnZXRfd2FpdF9mbGFncykgb3ZlcnJpZGU7CiAKKyAgLyog Rm9yayBkZXRlY3Rpb24gcmVsYXRlZCBmdW5jdGlvbnMsIEZvciBhZGRpbmcgbXVsdGkgcHJvY2Vz cyBkZWJ1Z2dpbmcKKyAgICAgc3VwcG9ydC4gKi8gCisgIHZvaWQgZm9sbG93X2ZvcmsgKGluZmVy aW9yICosIHB0aWRfdCwgdGFyZ2V0X3dhaXRraW5kLCBib29sLCBib29sKSBvdmVycmlkZTsKKwor ICB2b2lkIG1vdXJuX2luZmVyaW9yICgpIG92ZXJyaWRlOworCiBwcm90ZWN0ZWQ6CiAKLSAgdm9p ZCBwb3N0X3N0YXJ0dXBfaW5mZXJpb3IgKHB0aWRfdCBwdGlkKSBvdmVycmlkZQotICB7IC8qIE5v dGhpbmcuICAqLyB9CisgIHZvaWQgcG9zdF9zdGFydHVwX2luZmVyaW9yIChwdGlkX3QgcHRpZCkg b3ZlcnJpZGU7CisgIC8veyAvKiBOb3RoaW5nLiAgKi8gfQogCiBwcml2YXRlOgogICBlbnVtIHRh cmdldF94ZmVyX3N0YXR1cwpAQCAtMjQ2LDYgKzI1MiwyMiBAQCBmZXRjaF9yZWdpc3RlciAoc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ25vKQogICAgIH0KIH0KIAordm9pZCByczYw MDBfbmF0X3RhcmdldDo6cG9zdF9zdGFydHVwX2luZmVyaW9yKHB0aWRfdCBwdGlkKXsKKyAgcnM2 MDAwX3B0cmFjZTY0KFBUX01VTFRJLHB0aWQucGlkKCksTlVMTCwxLE5VTEwpOworfQorCit2b2lk CityczYwMDBfbmF0X3RhcmdldDo6Zm9sbG93X2ZvcmsgKGluZmVyaW9yICpjaGlsZF9pbmYsIHB0 aWRfdCBjaGlsZF9wdGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfd2FpdGtp bmQgZm9ya19raW5kLCBib29sIGZvbGxvd19jaGlsZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZGV0YWNoX2ZvcmspCit7CisgIGlu Zl9wdHJhY2VfdGFyZ2V0Ojpmb2xsb3dfZm9yayhjaGlsZF9pbmYsIGNoaWxkX3B0aWQsIGZvcmtf a2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfY2hp bGQsIGRldGFjaF9mb3JrKTsKK30KKwordm9pZCByczYwMDBfbmF0X3RhcmdldDo6bW91cm5faW5m ZXJpb3IoKXsKKyAgaW5mX3B0cmFjZV90YXJnZXQ6Om1vdXJuX2luZmVyaW9yKCk7Cit9CiAvKiBT dG9yZSByZWdpc3RlciBSRUdOTyBiYWNrIGludG8gdGhlIGluZmVyaW9yLiAgKi8KIAogc3RhdGlj IHZvaWQKQEAgLTUzOSw4ICs1NjEsMjggQEAgcnM2MDAwX25hdF90YXJnZXQ6OndhaXQgKHB0aWRf dCBwdGlkLCBzdHJ1Y3QgdGFyZ2V0X3dhaXRzdGF0dXMgKm91cnN0YXR1cywKICAgaWYgKHN0YXR1 cyA9PSAweDU3YykKICAgICBvdXJzdGF0dXMtPnNldF9sb2FkZWQgKCk7CiAgIC8qIHNpZ25hbCAw LiAgSSBoYXZlIG5vIGlkZWEgd2h5IHdhaXQoMikgcmV0dXJucyB3aXRoIHRoaXMgc3RhdHVzIHdv cmQuICAqLwotICBlbHNlIGlmIChzdGF0dXMgPT0gMHg3ZikKKyAgLyogMHgxN2YgYW5kIDB4MTM3 ZiBpbiBoZXhhZGVjaW1hbCBhcmUgc3RhdHVzIHJldHVybmVkIGlmIAorICAgICBpZiB3ZSBmb2xs b3cgcGFyZW50LAorICAgICBhIHN3aXRjaCBpcyBtYWRlIHRvIGEgY2hpbGQgcG9zdCBwYXJlbnQg ZXhlY3V0aW9uCisgICAgIGFuZCBjaGlsZCBjb250aW51ZXMgaXRzIGV4ZWN1dGlvbiBbdXNlciBz d2l0Y2hlcyB0byBjaGlsZCBhbmQgCisgICAgIHByZXNzZXMgY29udGludWVdLiAqLworICBlbHNl IGlmIChzdGF0dXMgPT0gMHg3ZiAgfHwgc3RhdHVzID09IDB4MTdmIHx8IHN0YXR1cyA9PSAweDEz N2YpCiAgICAgb3Vyc3RhdHVzLT5zZXRfc3B1cmlvdXMgKCk7CisgIC8qIFdoZW4gYSBwcm9jZXNz IGNvbXBsZXRlcyBleGVjdXRpb24gYW5kIGFueSBmb3JrIHByb2Nlc3MgZXhpdHMgc3RhdHVzLiAq LworICBlbHNlIGlmIChXSUZFWElURUQoc3RhdHVzKSkKKyAgICBvdXJzdGF0dXMtPnNldF9leGl0 ZWQoMCk7CisgIC8qIDU3ZSBpcyB0aGUgc3RhdHVzIG51bWJlciBpbiBBSVggZm9yIGZvcmsgZXZl bnQuCisgICAgIElmIGEgYnJlYWtwb2ludCBpcyBhdHRhY2hlZCB0byBhIHBhcmVudCBvciBjaGls ZCB0aGVuIG9uIGZvcmssCisgICAgIG9yIGFmdGVyIGZvcmssIG9uY2UgYSBicmVha3BvaW50IGhp dHMgYW5kIHRoZSBuZXh0IG9yIGNvbnRpbnVlIGlzIAorICAgICBwcmVzc2VkLCBwb3N0IGJyZWFr cG9pbnQgc3RhdHVzIGlzIDE0MDYgYnV0IHdlIG5lZWQgbm90IHNldCBzdGF0dXMgCisgICAgIHRv IHNldF9mb3JrZWQoKSwgaGVuY2UgdGhlIGNvbmRpdGlvbiBmaW5kX2luZmVyaW9yX3BpZCgpIHRv IHNldCAKKyAgICAgZm9yayBzdGF0dXMgb25seSBpZiBhIGNoaWxkIGlzIGJvcm4uICovCisgIGVs c2UgaWYgKHN0YXR1cyA9PSAweDU3ZSAmJiBmaW5kX2luZmVyaW9yX3BpZCh0aGlzLHBpZCk9PSBu dWxscHRyKQorICB7CisgICAgb3Vyc3RhdHVzLT5zZXRfZm9ya2VkIChwdGlkX3QocGlkKSk7Cisg ICAgLyogT24gYSBmb3JrIGV2ZW50IHJldHVybiBwYXJlbnQgcHJvY2VzcyBJRCB0byB0YXJnZXQg d2FpdCAqLworICAgIHJldHVybiBwdGlkX3QoY3VycmVudF9pbmZlcmlvcigpLT5waWQpOworICB9 CiAgIC8qIEEgbm9ybWFsIHdhaXRzdGF0dXMuICBMZXQgdGhlIHVzdWFsIG1hY3JvcyBkZWFsIHdp dGggaXQuICAqLwogICBlbHNlCiAgICAgKm91cnN0YXR1cyA9IGhvc3Rfc3RhdHVzX3RvX3dhaXRz dGF0dXMgKHN0YXR1cyk7Ci0tIAoyLjMxLjEKCg== --_004_CH2PR15MB354483D4F55BCF7DEB83D9B7D68F9CH2PR15MB3544namp_--