From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2064.outbound.protection.outlook.com [40.107.104.64]) by sourceware.org (Postfix) with ESMTPS id A27D83858288 for ; Tue, 13 Jun 2023 09:15:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A27D83858288 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=95EzPEg7tu3x+J7lcHweyUfW/HhNALsyy1nsJZMQemM=; b=C+WjGawTLPkofgF/hJxFut3w0UoTdDgudJqXZKhkFGJb//j2hLhKR5I1Id1Pnf/bIDdwfpwAbm6BfLmm8Kac0J6L14HAGL5FVRLcWfbrwFSa63Me/JTlgNjRpZy/3woP1tg99nHpuIHRo77JhAdbBIYW/DoCddxkJ1P5vLDT4kY= Received: from FR3P281CA0107.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::17) by AS8PR08MB6375.eurprd08.prod.outlook.com (2603:10a6:20b:31b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Tue, 13 Jun 2023 09:15:23 +0000 Received: from VI1EUR03FT046.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:a3:cafe::bd) by FR3P281CA0107.outlook.office365.com (2603:10a6:d10:a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.21 via Frontend Transport; Tue, 13 Jun 2023 09:15:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VI1EUR03FT046.mail.protection.outlook.com (100.127.144.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.21 via Frontend Transport; Tue, 13 Jun 2023 09:15:23 +0000 Received: ("Tessian outbound e13c2446394c:v136"); Tue, 13 Jun 2023 09:15:23 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 62b5acc79162c542 X-CR-MTA-TID: 64aa7808 Received: from 419bfa90d7e3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E4DD4A49-E46E-469A-935A-C761E860E1FC.1; Tue, 13 Jun 2023 09:15:15 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 419bfa90d7e3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Jun 2023 09:15:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zzh5VDrprb6MXdf0Rlj6E0RiMrE8JrlNZoCEPr2hyZfzYlNtcbFlxxNyuS5PVgDkDlJgNcrbzmz0np0514CifYdibTSO/3UbMUofEwdCk2LzbkO8lLybY8q9IjdWXkJU+MfgqfO9xumc0s1BEj5bv+LkwcNdU7HDtO5CSEMEG+/r5QzkTpdPVM2CDkGx6rFaOVJ7KSZrweF3yYZTHiEU8pqYxLjs/SilxxsSCJ6NyYQa2QIh5jfOiug4+Q4/wXUTRcH21rtVSmppAaBKB4MKKUv/d8KDaVFY0RsWDRBdNT7HfVzlA8MdTT1P4ox+oS4z9+Z/4uIuOlowx9s+m6wsog== 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=95EzPEg7tu3x+J7lcHweyUfW/HhNALsyy1nsJZMQemM=; b=a0ZyRsGAJcLAYtPgFIYcuUjl8u1hU8IPJjZ/eyFLrTy0ixtVyJ34PVaiHSsq5yHYrAzCU9blla+auZ63ZtZeEENN+UOZsiwamawxjPDSJyzMW+U6XVq/FhWiWm3MV3vui/gvxrdwGiZ5FfjKMJJAA38dOb+uiW9hSZMNaWoiz0PMbyjhQ0lnqh19mxOgB6U5ifJ7bFG8BHE5ckIDQNi6b7i586HafdPK5uifcYz38MYW/mit5CLeuSp1L3ccINdErJkmu8hQdhYSHnPALpMzW4Q3t1V+yak0wMvOWmHb2/ifqnGmR36Zcix2ZWAdCqPtkXvKfxkNtYepX2RGD4F1og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=95EzPEg7tu3x+J7lcHweyUfW/HhNALsyy1nsJZMQemM=; b=C+WjGawTLPkofgF/hJxFut3w0UoTdDgudJqXZKhkFGJb//j2hLhKR5I1Id1Pnf/bIDdwfpwAbm6BfLmm8Kac0J6L14HAGL5FVRLcWfbrwFSa63Me/JTlgNjRpZy/3woP1tg99nHpuIHRo77JhAdbBIYW/DoCddxkJ1P5vLDT4kY= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PAWPR08MB10135.eurprd08.prod.outlook.com (2603:10a6:102:35a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.46; Tue, 13 Jun 2023 09:15:10 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8%5]) with mapi id 15.20.6477.028; Tue, 13 Jun 2023 09:15:10 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][committed] arm: Extend -mtp= arguments Thread-Topic: [PATCH][committed] arm: Extend -mtp= arguments Thread-Index: Admd14YmhCiK9rIxQg2uZ4yDBSCdJg== Date: Tue, 13 Jun 2023 09:15:10 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|PAWPR08MB10135:EE_|VI1EUR03FT046:EE_|AS8PR08MB6375:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c1b060f-5bdc-4b47-f332-08db6beeb80a x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 1pwyF2GclvrR7tpDbEg7Sf3e27biQtU1MW/ASmUfyNYjCfEcyRhX4ZXbJS1lja1tVGoKM9So5ga0bGhXo9mlr+x8laaLWAjQ+MaxvXI9Wj/wCUPG+t4LC+3L1nzVBs2QvJoN/Zj413tjcl/W8ikx20FZDNk055FjmKpCw9y6hiz5zXjhMPkgUSVlipSDsjnrz6i9a1FyHqcMVvYF59S7NQsPPIlTp2LzOvuQYEweILEI3M75PRsM4Ad/V1rYB+PkD80SJsWwYoB0CABmnU6C20AVuo0vVDEIlv6kzb+qbjR0oKMIYu/54FiyctqvdHOZPEC+ySVINYAUQ6XKvvHYsubFKCTY26SaKWflGTq0SFvaUeNDENJudISoljiLfj025GMr9G1d8+D/8kZ7s4tx9zlDYFgqc5PVGnuh12Ac+FsFb+WCrVtxIlhjjPpcVEmMl+lo/Ym783CLMzw295bSyQ4bAiAQtT5+TQd5W9W4mwW85nSg4T0MYaa5cgJjiwfIVF8TfFABllLmb7ccU1QBnXP8nXFNF0Z35exUAY0a36rI/VLd8Jr55q1TmFW5KNbeAa/8Ktkp4w9IB3L3UVhW4w6XqXZhyVXdk2y74DbZaVJ3Dlns9Rs74ijbt536IHIIY/HA1spougP/CzcJjaDxXg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199021)(7696005)(86362001)(33656002)(55016003)(38100700002)(122000001)(99936003)(38070700005)(478600001)(71200400001)(966005)(84970400001)(8936002)(8676002)(52536014)(5660300002)(6916009)(66946007)(66556008)(66476007)(66446008)(64756008)(316002)(41300700001)(2906002)(83380400001)(6506007)(76116006)(26005)(9686003)(186003);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB6926AB62E0F3E81EB9E318489355APAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10135 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR03FT046.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 47e97d09-e776-49ad-690c-08db6beeb02a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N49fzuerhuCXqSjISHUPqkFwZ3kI1p4xd1f7evUQmTid4Ng+jov//anXxkYKRH3Z2WGOVsblwrpaYOFxdhJs4pRkeCiUBfTA+3lxjk1I8o+nbdF9kI00HdGiKlV3Ev2YeLjAelUKkWdWJrFFXjjd2RMV4413L/phz1kDNa/j7MwfWds5Nx4+C4fkMc9qmXvAt/88nT1GwYdJBP5f1oHBbeXeCYDv2WsQOKimRfQcfyiO4XQZL7/hkfi9ULGqQwlQT/s/M6zvfCCLxxmMwI6oh3KKSTczzQCs/obJOzRpiZ2TER3DhHkVa76k98jB07H64Tnvuf1KHvY61slBitEl7GX23NEYBn/8j6LHILSV51iJprHXLdI1J/1eCAFhCUnaP89wxKpSfYOIATZxBU6LAQjunnPBrB3049og45RtsrUM9sTU3xTqCSE/8BmI41J3+LiYrSKAUiTk1hn3EShvP62huRjVlL5fFNhfgUg2MDXdZWG7HPRIsDGsNCQW1mmH0HKO3NO4WTQbDsbttwPeqVf8pqoDeeCaxFHxVctXn/U+M6d9SNLJnByk2MaiBc674RCGWZQEb/wJzIQP52uCvzujA9hoVKjdCAIerVVaq0w5+DufK8UalYV9DNntOLcHmRXTt+jh7IzxpLnWAeh/UpbDHkP1kZt7RuS7saWEY6fGYZnBhqWS1kJR5Vy1FiZu4yfAh3cqQ3GXgGDZV7Gltv3BeG1CsRTZJafAzc5aONMOPagzAoF4L/lXxiaqZiHAiop4wOBZo+u5Dn93CsY6UA== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(136003)(39860400002)(346002)(451199021)(40470700004)(46966006)(36840700001)(6916009)(8936002)(8676002)(52536014)(5660300002)(70586007)(70206006)(84970400001)(478600001)(235185007)(41300700001)(40460700003)(966005)(7696005)(316002)(81166007)(82740400003)(356005)(336012)(55016003)(6506007)(186003)(9686003)(47076005)(86362001)(40480700001)(83380400001)(36860700001)(82310400005)(26005)(2906002)(33656002)(99936003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2023 09:15:23.5764 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1c1b060f-5bdc-4b47-f332-08db6beeb80a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR03FT046.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6375 X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_PAXPR08MB6926AB62E0F3E81EB9E318489355APAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, After discussing the -mtp=3D option with Arm's LLVM developers we'd like to= extend the functionality of the option somewhat. There are actually 3 system registers that can be accessed for the thread p= ointer in aarch32: tpidrurw, tpidruro, tpidrprw. They are all read through the CP= 15 co-processor mechanism. The current -mtp=3Dcp15 option reads the tpidruro register. This patch extends -mtp to allow for the above three explicit tpidr names a= nd keeps -mtp=3Dcp15 as an alias of -mtp=3Dtpidruro for backwards compatibilit= y. There is more relevant discussion of the options at https://reviews.llvm.or= g/D152433 if you're interested. Bootstrapped and tested on arm-none-linux-gnueabihf. Pushing to trunk. Thanks, Kyrill gcc/ChangeLog: * config/arm/arm-opts.h (enum arm_tp_type): Remove TP_CP15. Add TP_TPIDRURW, TP_TPIDRURO, TP_TPIDRPRW values. * config/arm/arm-protos.h (arm_output_load_tpidr): Declare prototype. * config/arm/arm.cc (arm_option_reconfigure_globals): Replace TP_CP15 with TP_TPIDRURO. (arm_output_load_tpidr): Define. * config/arm/arm.h (TARGET_HARD_TP): Define in terms of TARGET_SOFT_TP. * config/arm/arm.md (load_tp_hard): Call arm_output_load_tpidr to output assembly. (reload_tp_hard): Likewise. * config/arm/arm.opt (tpidrurw, tpidruro, tpidrprw): New values for arm_tp_type. * doc/invoke.texi (Arm Options, mtp): Document new values. gcc/testsuite/ChangeLog: * gcc.target/arm/mtp.c: New test. * gcc.target/arm/mtp_1.c: New test. * gcc.target/arm/mtp_2.c: New test. * gcc.target/arm/mtp_3.c: New test. * gcc.target/arm/mtp_4.c: New test. --_002_PAXPR08MB6926AB62E0F3E81EB9E318489355APAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="mtp-arm.patch" Content-Description: mtp-arm.patch Content-Disposition: attachment; filename="mtp-arm.patch"; size=8224; creation-date="Tue, 13 Jun 2023 09:14:43 GMT"; modification-date="Tue, 13 Jun 2023 09:15:10 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS1vcHRzLmggYi9nY2MvY29uZmlnL2FybS9h cm0tb3B0cy5oCmluZGV4IDk5NjRmZDJkYmI1ODM2MGI4NmZlZDhkMDIwODlmY2IzNGEwYjUxZTYu LjE3NGRiYzUwNWUwNWY2ZGI5YTRjNDZmMjhjZWZjY2VjMzhiNzAxNzQgMTAwNjQ0Ci0tLSBhL2dj Yy9jb25maWcvYXJtL2FybS1vcHRzLmgKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLW9wdHMuaApA QCAtNjEsNyArNjEsOSBAQCBlbnVtIGZsb2F0X2FiaV90eXBlCiBlbnVtIGFybV90cF90eXBlIHsK ICAgVFBfQVVUTywKICAgVFBfU09GVCwKLSAgVFBfQ1AxNQorICBUUF9UUElEUlVSVywKKyAgVFBf VFBJRFJVUk8sCisgIFRQX1RQSURSUFJXCiB9OwogCiAvKiBXaGljaCBUTFMgc2NoZW1lIHRvIHVz ZS4gICovCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9hcm0tcHJvdG9zLmggYi9nY2MvY29u ZmlnL2FybS9hcm0tcHJvdG9zLmgKaW5kZXggNjFmY2Q2NzE0Mzc1MGVkNzI5YTI1Mzg3N2UxMjFj NTMzZWVlNTliYS4uN2Q3M2M2NmExNWQwM2E4NmY4ODM4ZGY0YjY3YzFlYzk2ZDIwYjIzNyAxMDA2 NDQKLS0tIGEvZ2NjL2NvbmZpZy9hcm0vYXJtLXByb3Rvcy5oCisrKyBiL2djYy9jb25maWcvYXJt L2FybS1wcm90b3MuaApAQCAtMTgyLDYgKzE4Miw3IEBAIGV4dGVybiBib29sIGFybV9pc19sb25n X2NhbGxfcCAodHJlZSk7CiBleHRlcm4gaW50ICAgIGFybV9lbWl0X3ZlY3Rvcl9jb25zdCAoRklM RSAqLCBydHgpOwogZXh0ZXJuIHZvaWQgYXJtX2VtaXRfZnAxNl9jb25zdCAocnR4IGMpOwogZXh0 ZXJuIGNvbnN0IGNoYXIgKiBhcm1fb3V0cHV0X2xvYWRfZ3IgKHJ0eCAqKTsKK2V4dGVybiBjb25z dCBjaGFyICogYXJtX291dHB1dF9sb2FkX3RwaWRyIChydHgsIGJvb2wpOwogZXh0ZXJuIGNvbnN0 IGNoYXIgKnZmcF9vdXRwdXRfdnN0bWQgKHJ0eCAqKTsKIGV4dGVybiB2b2lkIGFybV9vdXRwdXRf bXVsdGlyZWdfcG9wIChydHggKiwgYm9vbCwgcnR4LCBib29sLCBib29sKTsKIGV4dGVybiB2b2lk IGFybV9zZXRfcmV0dXJuX2FkZHJlc3MgKHJ0eCwgcnR4KTsKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvYXJtL2FybS5oIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLmgKaW5kZXggN2Q0MGI4YjdlMDBiYzNi NGRjZmY3ZWM2ODViYTg2NGNhMzg4NTA1Mi4uNGY1NDUzMGFkY2I2MTY0MTNiZjIxMGRmZjhjNDNm MGYyMDQ2ZmQzZCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hcm0vYXJtLmgKKysrIGIvZ2NjL2Nv bmZpZy9hcm0vYXJtLmgKQEAgLTE1Miw4ICsxNTIsOCBAQCBlbWlzc2lvbiBvZiBmbG9hdGluZyBw b2ludCBwY3MgYXR0cmlidXRlcy4gICovCiAjZGVmaW5lIFRBUkdFVF9BQVBDU19CQVNFRCBcCiAg ICAgKGFybV9hYmkgIT0gQVJNX0FCSV9BUENTICYmIGFybV9hYmkgIT0gQVJNX0FCSV9BVFBDUykK IAotI2RlZmluZSBUQVJHRVRfSEFSRF9UUAkJCSh0YXJnZXRfdGhyZWFkX3BvaW50ZXIgPT0gVFBf Q1AxNSkKICNkZWZpbmUgVEFSR0VUX1NPRlRfVFAJCQkodGFyZ2V0X3RocmVhZF9wb2ludGVyID09 IFRQX1NPRlQpCisjZGVmaW5lIFRBUkdFVF9IQVJEX1RQCQkJIVRBUkdFVF9TT0ZUX1RQCiAjZGVm aW5lIFRBUkdFVF9HTlUyX1RMUwkJCSh0YXJnZXRfdGxzX2RpYWxlY3QgPT0gVExTX0dOVTIpCiAK IC8qIE9ubHkgMTYtYml0IHRodW1iIGNvZGUuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9h cm0vYXJtLmNjIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLmNjCmluZGV4IGMzZTczMWI4OTgyM2QyYzkw N2ZjODY2YzgzMjg3MDkyMjUxZjViZGUuLjM4ZjA4MzlkZTFjNzU1NDdjMjU5YWMzZDY1NWZjZmMx NGU3MjA4YTIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYXJtL2FybS5jYworKysgYi9nY2MvY29u ZmlnL2FybS9hcm0uY2MKQEAgLTM5MjcsNyArMzkyNyw3IEBAIGFybV9vcHRpb25fcmVjb25maWd1 cmVfZ2xvYmFscyAodm9pZCkKICAgaWYgKHRhcmdldF90aHJlYWRfcG9pbnRlciA9PSBUUF9BVVRP KQogICAgIHsKICAgICAgIGlmIChhcm1fYXJjaDZrICYmICFUQVJHRVRfVEhVTUIxKQotCXRhcmdl dF90aHJlYWRfcG9pbnRlciA9IFRQX0NQMTU7CisJdGFyZ2V0X3RocmVhZF9wb2ludGVyID0gVFBf VFBJRFJVUk87CiAgICAgICBlbHNlCiAJdGFyZ2V0X3RocmVhZF9wb2ludGVyID0gVFBfU09GVDsK ICAgICB9CkBAIC0zNDY0OCw0ICszNDY0OCwzNCBAQCBhcm1fZ2V0X21hc2tfbW9kZSAobWFjaGlu ZV9tb2RlIG1vZGUpCiAgIHJldHVybiBkZWZhdWx0X2dldF9tYXNrX21vZGUgKG1vZGUpOwogfQog CisvKiBPdXRwdXQgYXNzZW1ibHkgdG8gcmVhZCB0aGUgdGhyZWFkIHBvaW50ZXIgZnJvbSB0aGUg YXBwcm9wcmlhdGUgVFBJRFIKKyAgIHJlZ2lzdGVyIGludG8gREVTVC4gIElmIFBSRURfUCBhbHNv IGVtaXQgdGhlICU/IHRoYXQgY2FuIGJlIHVzZWQgdG8KKyAgIG91dHB1dCB0aGUgcHJlZGljYXRp b24gY29kZS4gICovCisKK2NvbnN0IGNoYXIgKgorYXJtX291dHB1dF9sb2FkX3RwaWRyIChydHgg ZHN0LCBib29sIHByZWRfcCkKK3sKKyAgY2hhciBidWZbNjRdOworICBpbnQgdHBpZHJfY29wcm9j X251bSA9IC0xOworICBzd2l0Y2ggKHRhcmdldF90aHJlYWRfcG9pbnRlcikKKyAgICB7CisgICAg Y2FzZSBUUF9UUElEUlVSVzoKKyAgICAgIHRwaWRyX2NvcHJvY19udW0gPSAyOworICAgICAgYnJl YWs7CisgICAgY2FzZSBUUF9UUElEUlVSTzoKKyAgICAgIHRwaWRyX2NvcHJvY19udW0gPSAzOwor ICAgICAgYnJlYWs7CisgICAgY2FzZSBUUF9UUElEUlBSVzoKKyAgICAgIHRwaWRyX2NvcHJvY19u dW0gPSA0OworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIGdjY191bnJlYWNoYWJs ZSAoKTsKKyAgICB9CisgIHNucHJpbnRmIChidWYsIHNpemVvZiAoYnVmKSwKKwkgICAgIm1yYyVz XHRwMTUsIDAsICUlMCwgYzEzLCBjMCwgJWRcdEAgbG9hZF90cF9oYXJkIiwKKwkgICAgcHJlZF9w ID8gIiU/IiA6ICIiLCB0cGlkcl9jb3Byb2NfbnVtKTsKKyAgb3V0cHV0X2FzbV9pbnNuIChidWYs ICZkc3QpOworICByZXR1cm4gIiI7Cit9CisKICNpbmNsdWRlICJndC1hcm0uaCIKZGlmZiAtLWdp dCBhL2djYy9jb25maWcvYXJtL2FybS5tZCBiL2djYy9jb25maWcvYXJtL2FybS5tZAppbmRleCAy YzcyNDlmMDE5MzdlYWZjYWIxNzVlNzMxNDk4ODFiMDZhOTI5ODcyLi4yYWM5NzIzMmZmZDJjMDMw Y2MzZjIzMWNiMjFlNGZjYzQyZjVkNWI4IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FybS9hcm0u bWQKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLm1kCkBAIC0xMjI3NSw3ICsxMjI3NSw3IEBAIChk ZWZpbmVfaW5zbiAibG9hZF90cF9oYXJkIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQogCSh1bnNwZWM6U0kgWyhjb25zdF9pbnQgMCldIFVOU1BF Q19UTFMpKV0KICAgIlRBUkdFVF9IQVJEX1RQIgotICAibXJjJT9cXHRwMTUsIDAsICUwLCBjMTMs IGMwLCAzXFx0QCBsb2FkX3RwX2hhcmQiCisgICIqIHJldHVybiBhcm1fb3V0cHV0X2xvYWRfdHBp ZHIgKG9wZXJhbmRzWzBdLCB0cnVlKTsiCiAgIFsoc2V0X2F0dHIgInByZWRpY2FibGUiICJ5ZXMi KQogICAgKHNldF9hdHRyICJ0eXBlIiAibXJzIildCiApCkBAIC0xMjI4NSw3ICsxMjI4NSw3IEBA IChkZWZpbmVfaW5zbiAicmVsb2FkX3RwX2hhcmQiCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNJ IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCiAJKHVuc3BlY192b2xhdGlsZTpTSSBbKGNvbnN0 X2ludCAwKV0gVlVOU1BFQ19NUkMpKV0KICAgIlRBUkdFVF9IQVJEX1RQIgotICAibXJjXFx0cDE1 LCAwLCAlMCwgYzEzLCBjMCwgM1xcdEAgcmVsb2FkX3RwX2hhcmQiCisgICIqIHJldHVybiBhcm1f b3V0cHV0X2xvYWRfdHBpZHIgKG9wZXJhbmRzWzBdLCBmYWxzZSk7IgogICBbKHNldF9hdHRyICJ0 eXBlIiAibXJzIildCiApCiAKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS5vcHQgYi9n Y2MvY29uZmlnL2FybS9hcm0ub3B0CmluZGV4IDNhNDliNTFlY2UwZTM3MTFkNDllZTVmYjk0ZTJi ZmRhYzNhMDVlMzguLjg4Mjk5ZGFiYzNhZWZhMzU2NTAxZTBkNzIwYTEwNGE1NzFlMTFkZmIgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvYXJtL2FybS5vcHQKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJt Lm9wdApAQCAtMjMwLDcgKzIzMCwxNiBAQCBFbnVtVmFsdWUKIEVudW0oYXJtX3RwX3R5cGUpIFN0 cmluZyhhdXRvKSBWYWx1ZShUUF9BVVRPKQogCiBFbnVtVmFsdWUKLUVudW0oYXJtX3RwX3R5cGUp IFN0cmluZyhjcDE1KSBWYWx1ZShUUF9DUDE1KQorRW51bShhcm1fdHBfdHlwZSkgU3RyaW5nKHRw aWRydXJ3KSBWYWx1ZShUUF9UUElEUlVSVykKKworRW51bVZhbHVlCitFbnVtKGFybV90cF90eXBl KSBTdHJpbmcoY3AxNSkgVmFsdWUoVFBfVFBJRFJVUk8pCisKK0VudW1WYWx1ZQorRW51bShhcm1f dHBfdHlwZSkgU3RyaW5nKHRwaWRydXJvKSBWYWx1ZShUUF9UUElEUlVSTykKKworRW51bVZhbHVl CitFbnVtKGFybV90cF90eXBlKSBTdHJpbmcodHBpZHJwcncpIFZhbHVlKFRQX1RQSURSUFJXKQog CiBtdHBjcy1mcmFtZQogVGFyZ2V0IE1hc2soVFBDU19GUkFNRSkKZGlmZiAtLWdpdCBhL2djYy9k b2MvaW52b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCmluZGV4IGM1ODkxMzM1ZDJlNGE2 YTMwZWNjYjE4YWZjYWQzNWFlZWI1OThlOWQuLjc1OGMxZTRjOWZkZTI4NGZmOWIxYTI2MWUwMDQz YmI4ZmVlNDY3ZDkgMTAwNjQ0Ci0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKKysrIGIvZ2NjL2Rv Yy9pbnZva2UudGV4aQpAQCAtMjI2NDksMTIgKzIyNjQ5LDE1IEBAIGJ5IGRlZmF1bHQuCiAKIEBv cGluZGV4IG10cAogQGl0ZW0gLW10cD1AdmFye25hbWV9Ci1TcGVjaWZ5IHRoZSBhY2Nlc3MgbW9k ZWwgZm9yIHRoZSB0aHJlYWQgbG9jYWwgc3RvcmFnZSBwb2ludGVyLiAgVGhlIHZhbGlkCi1tb2Rl bHMgYXJlIEBzYW1we3NvZnR9LCB3aGljaCBnZW5lcmF0ZXMgY2FsbHMgdG8gQGNvZGV7X19hZWFi aV9yZWFkX3RwfSwKLUBzYW1we2NwMTV9LCB3aGljaCBmZXRjaGVzIHRoZSB0aHJlYWQgcG9pbnRl ciBmcm9tIEBjb2Rle2NwMTV9IGRpcmVjdGx5Ci0oc3VwcG9ydGVkIGluIHRoZSBhcm02ayBhcmNo aXRlY3R1cmUpLCBhbmQgQHNhbXB7YXV0b30sIHdoaWNoIHVzZXMgdGhlCi1iZXN0IGF2YWlsYWJs ZSBtZXRob2QgZm9yIHRoZSBzZWxlY3RlZCBwcm9jZXNzb3IuICBUaGUgZGVmYXVsdCBzZXR0aW5n IGlzCi1Ac2FtcHthdXRvfS4KK1NwZWNpZnkgdGhlIGFjY2VzcyBtb2RlbCBmb3IgdGhlIHRocmVh ZCBsb2NhbCBzdG9yYWdlIHBvaW50ZXIuICBUaGUgbW9kZWwKK0BzYW1we3NvZnR9IGdlbmVyYXRl cyBjYWxscyB0byBAY29kZXtfX2FlYWJpX3JlYWRfdHB9LiAgT3RoZXIgYWNjZXB0ZWQKK21vZGVs cyBhcmUgQHNhbXB7dHBpZHJ1cnd9LCBAc2FtcHt0cGlkcnVyb30gYW5kIEBzYW1we3RwaWRycHJ3 fSB3aGljaCBmZXRjaAordGhlIHRocmVhZCBwb2ludGVyIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcg c3lzdGVtIHJlZ2lzdGVyIGRpcmVjdGx5Cisoc3VwcG9ydGVkIGZyb20gdGhlIGFybTZrIGFyY2hp dGVjdHVyZSBhbmQgbGF0ZXIpLiAgVGhlc2Ugc3lzdGVtIHJlZ2lzdGVycworYXJlIGFjY2Vzc2Vk IHRocm91Z2ggdGhlIENQMTUgY28tcHJvY2Vzc29yIGludGVyZmFjZSBhbmQgdGhlIGFyZ3VtZW50 CitAc2FtcHtjcDE1fSBpcyBhbHNvIGFjY2VwdGVkIGFzIGEgY29udmVuaWVuY2UgYWxpYXMgb2Yg QHNhbXB7dHBpZHJ1cm99LgorVGhlIGFyZ3VtZW50IEBzYW1we2F1dG99IHVzZXMgdGhlIGJlc3Qg YXZhaWxhYmxlIG1ldGhvZCBmb3IgdGhlIHNlbGVjdGVkCitwcm9jZXNzb3IuICBUaGUgZGVmYXVs dCBzZXR0aW5nIGlzIEBzYW1we2F1dG99LgogCiBAb3BpbmRleCBtdGxzLWRpYWxlY3QKIEBpdGVt IC1tdGxzLWRpYWxlY3Q9QHZhcntkaWFsZWN0fQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FybS9tdHAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXRwLmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uZDk5NGMzNzdmZDM2ZmUyMTk1NThhMGM4ZmUzOTMxNTQyMWExMzE4OAotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXRwLmMKQEAgLTAs MCArMSw4IEBACitfX3RocmVhZCBpbnQgaTsKKworaW50Citmb28gKHZvaWQpCit7CisgIHJldHVy biBpOworfQorCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL210cF8x LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL210cF8xLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc4 ZDI3ZDkyMzQ0MDVhYmRkZmVmNmQ1NzEzMjhiYjdjMTBmYmEzYQotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXRwXzEuYwpAQCAtMCwwICsxLDcgQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB0 bHNfbmF0aXZlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLW10cD1jcDE1IiB9ICovCisKKyNp bmNsdWRlICJtdHAuYyIKKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtt cmNcdHAxNSwgMCwgcjMsIGMxMywgYzAsIDN9IDEgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYXJtL210cF8yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YXJtL210cF8yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNiMzA4ZjI2MzdjNmQ2ZDZjNmM3NTA3ZWQxNjEyODU4 MWJhNjE3OQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0v bXRwXzIuYwpAQCAtMCwwICsxLDcgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB0bHNfbmF0aXZlIH0gKi8KKy8qIHsgZGctb3B0aW9u cyAiLU8gLW10cD10cGlkcnBydyIgfSAqLworCisjaW5jbHVkZSAibXRwLmMiCisKKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7bXJjXHRwMTUsIDAsIHIzLCBjMTMsIGMwLCA0 fSAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdHBf My5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9tdHBfMy5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdk NWNlYTNjYWI2MWRkYjlkYTYwYjQxOGNmYWY0MDhlMTA2MGI1OGYKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL210cF8zLmMKQEAgLTAsMCArMSw3IEBACisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQg dGxzX25hdGl2ZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PIC1tdHA9dHBpZHJ1cm8iIH0gKi8K KworI2luY2x1ZGUgIm10cC5jIgorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge21yY1x0cDE1LCAwLCByMywgYzEzLCBjMCwgM30gMSB9IH0gKi8KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vbXRwXzQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hcm0vbXRwXzQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjgwNzhkZjg0ZWQ2NTYwMDcyZWRhY2Y0YmYy MDY0YjExNWY2YjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FybS9tdHBfNC5jCkBAIC0wLDAgKzEsNyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHRsc19uYXRpdmUgfSAqLworLyogeyBkZy1v cHRpb25zICItTyAtbXRwPXRwaWRydXJ3IiB9ICovCisKKyNpbmNsdWRlICJtdHAuYyIKKworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHttcmNcdHAxNSwgMCwgcjMsIGMxMywg YzAsIDJ9IDEgfSB9ICovCg== --_002_PAXPR08MB6926AB62E0F3E81EB9E318489355APAXPR08MB6926eurp_--