From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2135.outbound.protection.outlook.com [40.107.117.135]) by sourceware.org (Postfix) with ESMTPS id 7D3183858D1E for ; Sat, 22 Oct 2022 12:53:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7D3183858D1E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=espressif.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=espressif.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BmzopRWXhFIa0QLh4Vx/MsrVftxHIXfxerg25HcWkHIe+yQNqNT0bFp/d6uEKcn4R7ePYOETPC+ioJ2uUV2h6Nb4oaoEvzXC+rHAcoj1GqkYjUhfdwC0XxwuSh0EFaXPyUHp7MkTLIIDJJwUPxHHJCNlHTIIfXuXnMmT3fmv8FqNPHD/O4Evg8z1jf6031zO9LkvXS4raZQjOzjyvAxUd1GhNtoodToomaZHLn0i5Kj5jbUh7Gxl6eSiSHhn2M0GGeYC1JVXbeqR6w0XZUO62FeQqAbtmjMo91VDep2/Zl+c1V8SdNFEwtz5rvXkE8UCkwsCsNL0DwkPy1fzQ2yP/A== 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=WKyMH9Gl81PXxRYYFZZWE/sipUoAbi+XuR4p4T/0bqs=; b=AQdJY9VvCqohs9OQtJMBUMH7AnxxTrILPlksrasPt8PMSLRciat9qHmFiArv/Or91bbFaZO1eJJk8JrPUyOahZzrgkh0CL3VGrOxCNaiR/xBX6wdKYvSaGogyd6g1G4hJGAL85PIUg4rPR/jX7nvprs1zKv4SueaOj1O43E+s3rzdYToVhGGNuJsDpEvYmIwtJoJBtnCHy2SDyHo9bZYId8bz3TwQseDc6GmeEyjtuK00wEuNgySrgGs16b7kHezPAkslhikPK+YDmMDmGuYLOuE72KSWsdFDPqa2xASVhdESoL40ri601v5KICRA0JaZZEGPDY9nRhsrAzmL9K6Pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=espressif.com; dmarc=pass action=none header.from=espressif.com; dkim=pass header.d=espressif.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=espressifsystems.onmicrosoft.com; s=selector1-espressifsystems-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WKyMH9Gl81PXxRYYFZZWE/sipUoAbi+XuR4p4T/0bqs=; b=YkGWu47c4bi5vwAIcQ79BCW2M2atEzTtqtJTD+uImhghOlI+9ZCJRDEKFUkX0CDlecVkMayfb4bCejIvX7N0j3c/qpg1VAso5tGC/Y/DDnOUxJWgnBFbGjIFZ/G7RAKuezyFqHV+Qy4m5WEzr6Af+oXgHCzOGD3T2AN7Bcq0fQ4= Received: from TYZPR04MB5736.apcprd04.prod.outlook.com (2603:1096:400:1fa::7) by SEYPR04MB5908.apcprd04.prod.outlook.com (2603:1096:101:68::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.35; Sat, 22 Oct 2022 12:53:54 +0000 Received: from TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::e64d:5c85:a83c:5898]) by TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::e64d:5c85:a83c:5898%4]) with mapi id 15.20.5723.032; Sat, 22 Oct 2022 12:53:54 +0000 From: Alexey Lapshin To: "binutils@sourceware.org" CC: Alexey Gerenkov , Ivan Grokhotkov , Anton Maklakov Subject: [PATCH 1/5] bfd: xtensa: move common code from ld and gas Thread-Topic: [PATCH 1/5] bfd: xtensa: move common code from ld and gas Thread-Index: AQHY5hVX62/elafWOEG/L275K1abuw== Date: Sat, 22 Oct 2022 12:53:54 +0000 Message-ID: <7e53b7980f2b3b74d2250bc87f5db94b1d888a2d.camel@espressif.com> References: <94fd668465b77e94f3c000982c694e7da8f828f1.camel@espressif.com> In-Reply-To: <94fd668465b77e94f3c000982c694e7da8f828f1.camel@espressif.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=espressif.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR04MB5736:EE_|SEYPR04MB5908:EE_ x-ms-office365-filtering-correlation-id: a5e1773e-a224-4992-1813-08dab42c7a08 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gvya13aeniUEm9wfUN8XL7VFSTVZWuY7LX0XTAQfa/aG/riKbYLXbGS8cJMOIFAB6EiLCMg0qc/u1OgxEWYIVNVZ4erzZWNwLffcP7FbJ4Ega7RITa85KNe9WeYbZoeBJmYpUd/7+jfo5dYNIcKYCooonAe6pjaAhW8zH/ST3CunFCL94e4uRfSsmXHccVgrFq1p/Sc7Up6qhdLFWMYpvxC1EMqkG82K+F/HwS/7+EjhP22TahzqZX3M020d31LSV3tOuTDg1bP92RviLlqUKF2NPtJDtl5Efbm5H0zfaCfXfmrK7bGoFTztYrYqDG2iR0/GBXFxgrp9Y4JAygPIADByjbOX4xNUuhhnHs/mUuKIFKO9v9Gt9+Uo1TJCTE7jHq1Ucl2XsUCntQzyEJgwjk1LCWRPcpX9pH1DNydFW21d1Q1nYZBgcxLLpyxQFZi/fbnbure29herXV/TQKWyOuzz346+IZeT6dwM0VuIeFb05IVX+YlXmd6l46wGPPs0oB+f9Cgga0X2II8K7KRa/q4RbHGoR0PRg6s/OfOhTA2j2cEWJ1J0SwKH5TmgP/rABe0oF1JRvaHKIPN4HEj+lM1QvlH9cx3CqOfSx4lsRTgk3wfchQQcVH4639RxJX1bXz/6dgeILnSWLmxFOS1dwOHdIbRhld+A1vPiuAl1L58DHN8v00iXBlA9FqqtpgCnlOnZiuoZAjUogjLbKfjrJPL+mKM/zrqTgw5oBl1Ly6xh8zOPar/S4e8lpbDxD/JH2Q6gikjnDhVchK7u4n6Qmw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR04MB5736.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39840400004)(136003)(366004)(396003)(346002)(451199015)(91956017)(2906002)(107886003)(8676002)(38070700005)(5660300002)(76116006)(4326008)(66476007)(66446008)(6506007)(122000001)(54906003)(66556008)(6916009)(38100700002)(64756008)(66946007)(86362001)(83380400001)(6512007)(8936002)(26005)(36756003)(41300700001)(186003)(2616005)(6486002)(44832011)(478600001)(316002)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UG02cTlBWDBzeVdHWEZrR29wb3hyeHdxckZYZDVJK0krQjlwNXFyRDNndWYz?= =?utf-8?B?WFlQYzd5NEZLYU9VRUQ2MXIzOE1OdWZCQ0txN1l0TjlEcGdRRE9BcTFxSTBI?= =?utf-8?B?bVRINld4OVhXWC9yNy9mZXE3ZFlQRy9WcnpHNW15WHdzZStRU3c3emFmc1VI?= =?utf-8?B?bzUrTEZlWHhTMldQcW4zSEJTQVR1cUU5Y3dPTUgzRUVWcEV6SGVPZXFxd1BM?= =?utf-8?B?ZHB3SFhHVm5sL1hQOXprcHFjYzhZckQxdllnellrYXZoUk0xRE5tamRsYmdo?= =?utf-8?B?UTFHMURNUFJlelUxdXErcFhmMUFWVSs4a2dRRmlCY1BsUVVvREpTcnJrQlVa?= =?utf-8?B?Y1hkU1YrNWdQY2RFU3hnUjJMVWhQQnQrYWxBNnR2SVhwZGV2SXpidmp4U0VV?= =?utf-8?B?T09NcDM1MHJxTTV0SWVIVVAzNjhRZ1JvUWxFaDdURERiclF0TDlNRTZTclU1?= =?utf-8?B?OGp1Sjc3QmpycnFnVUd6Tlg2ZFVVY2pvbGMzSE4zTGNIVDhvQWVCZUMwcWc0?= =?utf-8?B?dEo2V1QwZ0lHV0dHVW41ODU1UkFtMzRMdTdkMUpsWFBSN2FJd3VOSDBKbDYy?= =?utf-8?B?UUg2NjM2c0N5TmZ3a0d5aHIrQ3FDclNXMllZUk1STDVPeU5SSHRhL1dJdFdC?= =?utf-8?B?dGJnb2pHbG5jcXp3TWptWGpoRXdPWU1JRzB3VDdqdmNGNWlVSS85dlgxeGZv?= =?utf-8?B?ZmVUVzBCNDhndHBVeWtGektqd0dPcUpFZGhFOU5heDh5ZGIvOVdHaHhFM1Ja?= =?utf-8?B?cGQyajVXLzdIL1V1dXdEeEQzTTlpclhEaDNSQm9mUDhLZmNlbWdzcVBNMmh2?= =?utf-8?B?czNSd3FZdXVMMGRyQjJNTFFZd0RkNjNQMGFtUDA1RHY3YWVhY1JFOWJWT1lY?= =?utf-8?B?SVJTa3krU0VXWUZ2aUR1aVlhQmhwMlVVcEJaa0NJbHVnak93YUVXT1luWVRS?= =?utf-8?B?QnRpUDc5QVBJQ3V1SkJmLzBhdFFPejJWSGFNVVZBYktIUXlTTjU3bU9aM1Zh?= =?utf-8?B?QURyMGQxcmFROTJvUzhXQ2VmbmJrVnBwVzZyRkNGWGNaeGhUM09NcGV5cWdt?= =?utf-8?B?QjljUjMySmlGRThFaUJsS3pnRWgxZHJ6Um94UHpvTHNmNjdDeFI1eGhRVUFx?= =?utf-8?B?QTlmRHZndHFvZVpLdDB6eUkrbm8ydFBLZXVrVUpWbTZRdEwzVWxkdzdWekFs?= =?utf-8?B?V0JGTDI1OUhBbHVoSng1TnArYytaRmM3NTZ5anBkLzBhdjBTMSt0ODZGTEg0?= =?utf-8?B?MGdsVmZPemtlMjNpRmdXbDh4Z1pXUWpSVmFDUk5TcFphRXgyWUxrM04rdnVM?= =?utf-8?B?WTV0WXpZK3FwWkRVczlNTjBIZHh0cEl0NTgxVXNtdkpRd3hUcWplTE5sc2NR?= =?utf-8?B?YUs3aUk0SHgrR1RJelVvNGpmbG5URFM4eXRtUWRTa252ZUVVZ09iUXRzUFJs?= =?utf-8?B?U1I1enN3WUtEcVpRbTIxdDU1UE1Pb0NzNGZkbXhiV0NteEFSVnFNeFpEOU54?= =?utf-8?B?bGxXaTR2aFpmMWtyWi9LNm9udDY2MjBLZWlhOWNLZ3Zaem9KZUJ2ajRoS2ZG?= =?utf-8?B?NHdiTHlnRFNza3oxQXRtR05jcGcvSkdadGZ5WGxaTFRQaWZ0dk10OWc1OHox?= =?utf-8?B?S0NxbDFSY1ZkS0xFK25iREFBOGZvM3kyMUhrZ0RQL1Flck1YaERqNk9vVDFa?= =?utf-8?B?VVlrc3RORGVFUStBc0N0YkdNT2JXenhSc3A2U3pMT0lXWENKZ0V5WEdRZjhH?= =?utf-8?B?RE9aVFdVR1ZyM2dnWThHeXZqMGRPQ1NScFhHbWVqd2hTYTFSMUw4dkJjTjVU?= =?utf-8?B?ZkNjMGJzRHM1ci9HUERTdE91TXBOMExEYXRQOXRKYnpITEtMaVFONWNiZi9E?= =?utf-8?B?MzNhaFF3eWdxNDdjbTZVcGhpQW1ORHpvQ1FmV29XMGEvNzRWdWpRU1pXUFFI?= =?utf-8?B?bEtxd2h1TmYrU1ZVcUhZamJyUUw5eGxQM0FGYzYybno2S1dQZjlsaFFaVCs5?= =?utf-8?B?eEtqZXQ2ekJvWXl4T1dDQzh4N010TVdOQ1ZQK0ZHZDNDWkZFeVNKdUlsbmVJ?= =?utf-8?B?a055Rlp1SlFENWRYcEVFRmh6Vi9hUkU0SWZScC9EL2VqQ2tYME9rOFpwdEpt?= =?utf-8?B?bnhvSm1ZYTlqTXRuaUl4ckRJdkNYV1dQZExxYytwdEg5R3JHbWhzYXBad0xQ?= =?utf-8?Q?bG/Gy9gxXXjmpIl8PECPtCo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <5EA4C2632911854986176229B22A9E02@apcprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: espressif.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR04MB5736.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5e1773e-a224-4992-1813-08dab42c7a08 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2022 12:53:54.4945 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5faf27fd-3557-4294-9545-8ea74a409f39 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: D+xT/0LRAwNgS1oCITQXPrY6A7J9NRtiYVnYf5I2G5p1buGBm9z4HzbedGeiXLfrWbIwdbU6pWgu8wO3CfSPQeTgKDaq1sHCdy4nYtB9UP8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR04MB5908 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SnVzdCByZWZhY3RvciB0aGUgY29tbW9uIGNvZGUgdG8gZWFzeSBtYWludGFpbi4NCg0KLS0tDQog YmZkL2VsZjMyLXh0ZW5zYS5jICAgICAgICB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKw0KIGdhcy9jb25maWcvdGMteHRlbnNhLmMgICAgfCAgIDcgKy0tDQogaW5jbHVk ZS9lbGYveHRlbnNhLmggICAgICB8ICAxOCArKysrKysNCiBsZC9lbXVsdGVtcGwveHRlbnNhZWxm LmVtIHwgMTE2ICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogNCBmaWxl cyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwgMTA1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0t Z2l0IGEvYmZkL2VsZjMyLXh0ZW5zYS5jIGIvYmZkL2VsZjMyLXh0ZW5zYS5jDQppbmRleCBjYjY1 ODQ4M2NhNi4uNzdmZjRkNjMzODEgMTAwNjQ0DQotLS0gYS9iZmQvZWxmMzIteHRlbnNhLmMNCisr KyBiL2JmZC9lbGYzMi14dGVuc2EuYw0KQEAgLTExNDk1LDYgKzExNDk1LDExNCBAQCB4dGVuc2Ff Y2FsbGJhY2tfcmVxdWlyZWRfZGVwZW5kZW5jZSAoYmZkDQoqYWJmZCwNCiAgIHJldHVybiBvazsN CiB9DQogDQorc3RhdGljIHZvaWQNCit4dGVuc2FfaW5mb19zZXRfZW50cnkgKGNoYXIgKmtleSwg aW50IHZhbHVlLCB4dGVuc2FfaW5mb19lbnRyaWVzDQoqZW50cmllcykNCit7DQorICBpZiAoISBz dHJjbXAgKGtleSwgIkFCSSIpKQ0KKyAgICB7DQorICAgICAgZW50cmllcy0+YWJpID0gdmFsdWU7 DQorICAgIH0NCisgIGVsc2UgaWYgKCEgc3RyY21wIChrZXksICJVU0VfQUJTT0xVVEVfTElURVJB TFMiKSkNCisgICAgew0KKyAgICAgIGVudHJpZXMtPnVzZV9hYnNvbHV0ZV9saXRlcmFscyA9IHZh bHVlOw0KKyAgICB9DQorfQ0KKw0KK3N0YXRpYyBib29sDQoreHRlbnNhX2luZm9fcGFyc2UgKGNo YXIgKmRhdGEsIHh0ZW5zYV9pbmZvX2VudHJpZXMgKmVudHJpZXMpDQorew0KKyAgY2hhciAqZCwg KmtleTsNCisNCisgIGQgPSBkYXRhOw0KKyAgd2hpbGUgKCpkKQ0KKyAgICB7DQorICAgICAga2V5 ID0gZDsNCisgICAgICBkID0gc3RyY2hyIChkLCAnPScpOw0KKyAgICAgIGlmICghIGQpDQorICAg ICAgICBnb3RvIGVycm9yOw0KKw0KKyAgICAgIC8qIE92ZXJ3cml0ZSB0aGUgZXF1YWwgc2lnbi4g ICovDQorICAgICAgKmQrKyA9IDA7DQorDQorICAgICAgLyogQ2hlY2sgaWYgdGhpcyBpcyBhIHF1 b3RlZCBzdHJpbmcgb3IgYSBudW1iZXIuICAqLw0KKyAgICAgIGlmICgqZCA9PSAnIicpDQorICAg ICAgICB7DQorICAgICAgICAgIC8qIE5vIHN0cmluZyB2YWx1ZXMgYXJlIGN1cnJlbnRseSBjaGVj a2VkIGJ5IExEOw0KKyAgICAgICAgICAgICBqdXN0IHNraXAgb3ZlciB0aGUgcXVvdGVzLiAgKi8N CisgICAgICAgICAgZCsrOw0KKyAgICAgICAgICBkID0gc3RyY2hyIChkLCAnIicpOw0KKyAgICAg ICAgICBpZiAoISBkKQ0KKyAgICAgICAgICAgIGdvdG8gZXJyb3I7DQorICAgICAgICAgIC8qIFNr aXAgdGhlIHRyYWlsaW5nIHF1b3RlLiAgKi8NCisgICAgICAgICAgZCsrOw0KKyAgICAgICAgfQ0K KyAgICAgIGVsc2UgaWYoICpkID49ICcwJyAmJiAqZCA8PSAnOScgKQ0KKyAgICAgICAgew0KKyAg ICAgICAgICBpbnQgdmFsdWUgPSBzdHJ0b3VsIChkLCAmZCwgMCk7DQorICAgICAgICAgIHh0ZW5z YV9pbmZvX3NldF9lbnRyeSAoa2V5LCB2YWx1ZSwgZW50cmllcyk7DQorICAgICAgICB9DQorICAg ICAgZWxzZQ0KKyAgICAgICAgZ290byBlcnJvcjsNCisNCisgICAgICBpZiAoKmQrKyAhPSAnXG4n KQ0KKyAgICAgICAgZ290byBlcnJvcjsNCisgICAgfQ0KKw0KKyAgcmV0dXJuIHRydWU7DQorDQor ZXJyb3I6DQorICByZXR1cm4gZmFsc2U7DQorfQ0KKw0KK2Jvb2wNCityZWFkX3h0ZW5zYV9pbmZv IChiZmQgKmFiZmQsIGFzZWN0aW9uICppbmZvX3NlYywgeHRlbnNhX2luZm9fZW50cmllcw0KKmVu dHJpZXMpDQorew0KKyAgYm9vbCByZXQgPSBmYWxzZTsNCisgIGNoYXIgKmRhdGEgPSAoY2hhciAq KSBiZmRfbWFsbG9jIChpbmZvX3NlYy0+c2l6ZSk7DQorDQorICAvKiBpbml0aWFsaXplIHZhbHVl cyAgKi8NCisgIGVudHJpZXMtPmFiaSA9IFhTSEFMX0FCSTsNCisgIGVudHJpZXMtPnVzZV9hYnNv bHV0ZV9saXRlcmFscyA9IFhTSEFMX1VTRV9BQlNPTFVURV9MSVRFUkFMUzsNCisNCisgIGlmICgh IGJmZF9nZXRfc2VjdGlvbl9jb250ZW50cyAoYWJmZCwgaW5mb19zZWMsIGRhdGEsIDAsIGluZm9f c2VjLQ0KPnNpemUpKQ0KKyAgICB7DQorICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCIlcEI6IGNh bm5vdCByZWFkIGNvbnRlbnRzIG9mIHNlY3Rpb24NCiVwQVxuIiksDQorICAgICAgICAgICAgICAg YWJmZCwgaW5mb19zZWMpOw0KKyAgICAgIGdvdG8gZXhpdDsNCisgICAgfQ0KKw0KKyAgaWYgKCEg KGluZm9fc2VjLT5zaXplID4gMjQNCisgICAgICAgICAmJiBpbmZvX3NlYy0+c2l6ZSA+PSAyNCAr IGJmZF9nZXRfMzIgKGFiZmQsIGRhdGEgKyA0KQ0KKyAgICAgICAgICYmIGJmZF9nZXRfMzIgKGFi ZmQsIGRhdGEgKyAwKSA9PSBYVElORk9fTkFNRVNaDQorICAgICAgICAgJiYgYmZkX2dldF8zMiAo YWJmZCwgZGF0YSArIDgpID09IFhUSU5GT19UWVBFDQorICAgICAgICAgJiYgc3RyY21wIChkYXRh ICsgMTIsIFhUSU5GT19OQU1FKSA9PSAwDQorICAgICAgICAgJiYgeHRlbnNhX2luZm9fcGFyc2Ug KGRhdGEgKyAxMiArIFhUSU5GT19OQU1FU1osIGVudHJpZXMpDQorICAgICAgICApDQorICAgICAp DQorICAgIHsNCisgICAgICBmcHJpbnRmIChzdGRlcnIsDQorICAgICAgICAgICAgICAgXygiJXBC OiB3YXJuaW5nOiBjYW5ub3QgcGFyc2UgLnh0ZW5zYS5pbmZvIHNlY3Rpb25cbiIpLA0KKyAgICAg ICAgICAgICAgIGFiZmQpOw0KKyAgICAgIGdvdG8gZXhpdDsNCisgICAgfQ0KKw0KKyAgcmV0ID0g dHJ1ZTsNCisNCitleGl0Og0KKyAgZnJlZSAoZGF0YSk7DQorICByZXR1cm4gcmV0Ow0KK30NCisN Cit2b2lkDQorZmlsbF94dGVuc2FfaW5mbyAoY2hhciAqKmRhdGEpDQorew0KKyAgc3ByaW50ZiAo KmRhdGEsDQorICAgICAgICAgICAiVVNFX0FCU09MVVRFX0xJVEVSQUxTPSVkXG4iDQorICAgICAg ICAgICAiQUJJPSVkXG4iLA0KKyAgICAgICAgICAgWFNIQUxfVVNFX0FCU09MVVRFX0xJVEVSQUxT LA0KKyAgICAgICAgICAgeHRlbnNhX2FiaV9jaG9pY2UgKCkpOw0KK30NCisNCiAvKiBUaGUgZGVm YXVsdCBsaXRlcmFsIHNlY3Rpb25zIHNob3VsZCBhbHdheXMgYmUgbWFya2VkIGFzICJjb2RlIg0K KGkuZS4sDQogICAgU0hGX0VYRUNJTlNUUikuICBUaGlzIGlzIHBhcnRpY3VsYXJseSBpbXBvcnRh bnQgZm9yIHRoZSBMaW51eA0Ka2VybmVsDQogICAgbW9kdWxlIGxvYWRlciBzbyB0aGF0IHRoZSBs aXRlcmFscyBhcmUgbm90IHBsYWNlZCBhZnRlciB0aGUgdGV4dC4gDQoqLw0KZGlmZiAtLWdpdCBh L2dhcy9jb25maWcvdGMteHRlbnNhLmMgYi9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jDQppbmRleCAz ZTNkZWI1ZGQzNi4uZGY2YTNjZWM4YTEgMTAwNjQ0DQotLS0gYS9nYXMvY29uZmlnL3RjLXh0ZW5z YS5jDQorKysgYi9nYXMvY29uZmlnL3RjLXh0ZW5zYS5jDQpAQCAtODk4MiwxMCArODk4Miw2IEBA IGlzX2xvY2FsX2ZvcndhcmRfbG9vcCAoY29uc3QgVEluc24gKmluc24sIGZyYWdTDQoqZnJhZ1Ap DQogICByZXR1cm4gZmFsc2U7DQogfQ0KIA0KLSNkZWZpbmUgWFRJTkZPX05BTUUgIlh0ZW5zYV9J bmZvIg0KLSNkZWZpbmUgWFRJTkZPX05BTUVTWiAxMg0KLSNkZWZpbmUgWFRJTkZPX1RZUEUgMQ0K LQ0KIHN0YXRpYyB2b2lkDQogeHRlbnNhX2FkZF9jb25maWdfaW5mbyAodm9pZCkNCiB7DQpAQCAt ODk5Nyw4ICs4OTkzLDcgQEAgeHRlbnNhX2FkZF9jb25maWdfaW5mbyAodm9pZCkNCiAgIGJmZF9z ZXRfc2VjdGlvbl9mbGFncyAoaW5mb19zZWMsIFNFQ19IQVNfQ09OVEVOVFMgfCBTRUNfUkVBRE9O TFkpOw0KIA0KICAgZGF0YSA9IFhORVdWRUMgKGNoYXIsIDEwMCk7DQotICBzcHJpbnRmIChkYXRh LCAiVVNFX0FCU09MVVRFX0xJVEVSQUxTPSVkXG5BQkk9JWRcbiIsDQotCSAgIFhTSEFMX1VTRV9B QlNPTFVURV9MSVRFUkFMUywgeHRlbnNhX2FiaV9jaG9pY2UgKCkpOw0KKyAgZmlsbF94dGVuc2Ff aW5mbyAoJmRhdGEpOw0KICAgc3ogPSBzdHJsZW4gKGRhdGEpICsgMTsNCiANCiAgIC8qIEFkZCBl bm91Z2ggbnVsbCB0ZXJtaW5hdG9ycyB0byBwYWQgdG8gYSB3b3JkIGJvdW5kYXJ5LiAgKi8NCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2VsZi94dGVuc2EuaCBiL2luY2x1ZGUvZWxmL3h0ZW5zYS5oDQpp bmRleCA1NDI4MjFiMGRjOS4uNmQ5MTZmOGZkNjQgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2VsZi94 dGVuc2EuaA0KKysrIGIvaW5jbHVkZS9lbGYveHRlbnNhLmgNCkBAIC0xMzgsNiArMTM4LDE4IEBA IHR5cGVkZWYgc3RydWN0IHByb3BlcnR5X3RhYmxlX2VudHJ5X3QNCiAgIGZsYWd3b3JkIGZsYWdz Ow0KIH0gcHJvcGVydHlfdGFibGVfZW50cnk7DQogDQorLyogLnh0ZW5zYS5pbmZvIHNlY3Rpb24g cmVsYXRlZCBkZWZpbml0aW9ucyAgKi8NCisNCisjZGVmaW5lIFhUSU5GT19OQU1FICJYdGVuc2Ff SW5mbyINCisjZGVmaW5lIFhUSU5GT19OQU1FU1ogc2l6ZW9mKFhUSU5GT19OQU1FKQ0KKyNkZWZp bmUgWFRJTkZPX1RZUEUgMQ0KKw0KK3R5cGVkZWYgc3RydWN0IHh0ZW5zYV9pbmZvX2VudHJpZXNf dA0KK3sNCisgIGludCBhYmk7DQorICBpbnQgdXNlX2Fic29sdXRlX2xpdGVyYWxzOw0KK30geHRl bnNhX2luZm9fZW50cmllczsNCisNCiAvKiBGbGFncyBpbiB0aGUgcHJvcGVydHkgdGFibGVzIHRv IHNwZWNpZnkgd2hldGhlciBibG9ja3Mgb2YgbWVtb3J5DQphcmUNCiAgICBsaXRlcmFscywgaW5z dHJ1Y3Rpb25zLCBkYXRhLCBvciB1bnJlYWNoYWJsZS4gIEZvciBpbnN0cnVjdGlvbnMsDQogICAg YmxvY2tzIHRoYXQgYmVnaW4gbG9vcCB0YXJnZXRzIGFuZCBicmFuY2ggdGFyZ2V0cyBhcmUgZGVz aWduYXRlZC4NCkBAIC0yMjgsNiArMjQwLDEyIEBAIHh0ZW5zYV9jb21wdXRlX2ZpbGxfZXh0cmFf c3BhY2UNCihwcm9wZXJ0eV90YWJsZV9lbnRyeSAqZW50cnkpOw0KIGV4dGVybiBpbnQNCiB4dGVu c2FfYWJpX2Nob2ljZSAodm9pZCk7DQogDQorZXh0ZXJuIHZvaWQNCitmaWxsX3h0ZW5zYV9pbmZv IChjaGFyICoqZGF0YSk7DQorDQorZXh0ZXJuIGJvb2wNCityZWFkX3h0ZW5zYV9pbmZvIChiZmQg KmFiZmQsIGFzZWN0aW9uICppbmZvX3NlYywgeHRlbnNhX2luZm9fZW50cmllcw0KKmVudHJpZXMp Ow0KKw0KICNpZmRlZiBfX2NwbHVzcGx1cw0KIH0NCiAjZW5kaWYNCmRpZmYgLS1naXQgYS9sZC9l bXVsdGVtcGwveHRlbnNhZWxmLmVtIGIvbGQvZW11bHRlbXBsL3h0ZW5zYWVsZi5lbQ0KaW5kZXgg OWQ1MjdkYWVhOTUuLmVkMjk0NWI4NTBkIDEwMDY0NA0KLS0tIGEvbGQvZW11bHRlbXBsL3h0ZW5z YWVsZi5lbQ0KKysrIGIvbGQvZW11bHRlbXBsL3h0ZW5zYWVsZi5lbQ0KQEAgLTMxMiwxMDggKzMx MiwyNSBAQCBlbGZfeHRlbnNhX2FmdGVyX29wZW4gKHZvaWQpDQogfQ0KIA0KIA0KLXN0YXRpYyBi b29sDQoteHRfY29uZmlnX2luZm9fdW5wYWNrX2FuZF9jaGVjayAoY2hhciAqZGF0YSwNCi0JCQkJ IGJvb2wgKnBtaXNtYXRjaCwNCi0JCQkJIGNoYXIgKipwbXNnKQ0KK3N0YXRpYyB2b2lkDQorY2hl Y2tfeHRlbnNhX2luZm8gKGJmZCAqYWJmZCwgeHRlbnNhX2luZm9fZW50cmllcyAqZW50cmllcykN CiB7DQotICBjaGFyICpkLCAqa2V5Ow0KLSAgaW50IG51bTsNCi0NCi0gICpwbWlzbWF0Y2ggPSBm YWxzZTsNCi0NCi0gIGQgPSBkYXRhOw0KLSAgd2hpbGUgKCpkKQ0KKyAgLyogQ2hlY2sgQUJJICov DQorICBpZiAoZWxmMzJ4dGVuc2FfYWJpID09IFhUSEFMX0FCSV9VTkRFRklORUQpDQogICAgIHsN Ci0gICAgICBrZXkgPSBkOw0KLSAgICAgIGQgPSBzdHJjaHIgKGQsICc9Jyk7DQotICAgICAgaWYg KCEgZCkNCi0JZ290byBlcnJvcjsNCi0NCi0gICAgICAvKiBPdmVyd3JpdGUgdGhlIGVxdWFsIHNp Z24uICAqLw0KLSAgICAgICpkKysgPSAwOw0KLQ0KLSAgICAgIC8qIENoZWNrIGlmIHRoaXMgaXMg YSBxdW90ZWQgc3RyaW5nIG9yIGEgbnVtYmVyLiAgKi8NCi0gICAgICBpZiAoKmQgPT0gJyInKQ0K LQl7DQotCSAgLyogTm8gc3RyaW5nIHZhbHVlcyBhcmUgY3VycmVudGx5IGNoZWNrZWQgYnkgTEQ7 DQotCSAgICAganVzdCBza2lwIG92ZXIgdGhlIHF1b3Rlcy4gICovDQotCSAgZCsrOw0KLQkgIGQg PSBzdHJjaHIgKGQsICciJyk7DQotCSAgaWYgKCEgZCkNCi0JICAgIGdvdG8gZXJyb3I7DQotCSAg LyogT3ZlcndyaXRlIHRoZSB0cmFpbGluZyBxdW90ZS4gICovDQotCSAgKmQrKyA9IDA7DQotCX0N Ci0gICAgICBlbHNlDQotCXsNCi0JICBpZiAoKmQgPT0gMCkNCi0JICAgIGdvdG8gZXJyb3I7DQot CSAgbnVtID0gc3RydG91bCAoZCwgJmQsIDApOw0KLQ0KLQkgIGlmICghIHN0cmNtcCAoa2V5LCAi QUJJIikpDQotCSAgICB7DQotCSAgICAgIGlmIChlbGYzMnh0ZW5zYV9hYmkgPT0gWFRIQUxfQUJJ X1VOREVGSU5FRCkNCi0JCXsNCi0JCSAgZWxmMzJ4dGVuc2FfYWJpID0gbnVtOw0KLQkJfQ0KLQkg ICAgICBlbHNlIGlmIChudW0gIT0gZWxmMzJ4dGVuc2FfYWJpKQ0KLQkJew0KLQkJICAqcG1pc21h dGNoID0gdHJ1ZTsNCi0JCSAgKnBtc2cgPSAiQUJJIGRvZXMgbm90IG1hdGNoIjsNCi0JCX0NCi0J ICAgIH0NCi0JICBlbHNlIGlmICghIHN0cmNtcCAoa2V5LCAiVVNFX0FCU09MVVRFX0xJVEVSQUxT IikpDQotCSAgICB7DQotCSAgICAgIGlmIChudW0gIT0gWFNIQUxfVVNFX0FCU09MVVRFX0xJVEVS QUxTKQ0KLQkJew0KLQkJICAqcG1pc21hdGNoID0gdHJ1ZTsNCi0JCSAgKnBtc2cgPSAiaW5jb21w YXRpYmxlIHVzZSBvZiB0aGUgRXh0ZW5kZWQgTDMyUg0Kb3B0aW9uIjsNCi0JCX0NCi0JICAgIH0N Ci0JfQ0KLQ0KLSAgICAgIGlmICgqZCsrICE9ICdcbicpDQotCWdvdG8gZXJyb3I7DQorICAgICAg ZWxmMzJ4dGVuc2FfYWJpID0gZW50cmllcy0+YWJpOw0KICAgICB9DQotDQotICByZXR1cm4gdHJ1 ZTsNCi0NCi0gZXJyb3I6DQotICByZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLQ0KLSNkZWZpbmUgWFRJ TkZPX05BTUUgIlh0ZW5zYV9JbmZvIg0KLSNkZWZpbmUgWFRJTkZPX05BTUVTWiAxMg0KLSNkZWZp bmUgWFRJTkZPX1RZUEUgMQ0KLQ0KLXN0YXRpYyB2b2lkDQotY2hlY2tfeHRlbnNhX2luZm8gKGJm ZCAqYWJmZCwgYXNlY3Rpb24gKmluZm9fc2VjKQ0KLXsNCi0gIGNoYXIgKmRhdGEsICplcnJtc2cg PSAiIjsNCi0gIGJvb2wgbWlzbWF0Y2g7DQotDQotICBkYXRhID0geG1hbGxvYyAoaW5mb19zZWMt PnNpemUpOw0KLSAgaWYgKCEgYmZkX2dldF9zZWN0aW9uX2NvbnRlbnRzIChhYmZkLCBpbmZvX3Nl YywgZGF0YSwgMCwgaW5mb19zZWMtDQo+c2l6ZSkpDQotICAgIGVpbmZvIChfKCIlRiVQOiAlcEI6 IGNhbm5vdCByZWFkIGNvbnRlbnRzIG9mIHNlY3Rpb24gJXBBXG4iKSwNCmFiZmQsIGluZm9fc2Vj KTsNCi0NCi0gIGlmIChpbmZvX3NlYy0+c2l6ZSA+IDI0DQotICAgICAgJiYgaW5mb19zZWMtPnNp emUgPj0gMjQgKyBiZmRfZ2V0XzMyIChhYmZkLCBkYXRhICsgNCkNCi0gICAgICAmJiBiZmRfZ2V0 XzMyIChhYmZkLCBkYXRhICsgMCkgPT0gWFRJTkZPX05BTUVTWg0KLSAgICAgICYmIGJmZF9nZXRf MzIgKGFiZmQsIGRhdGEgKyA4KSA9PSBYVElORk9fVFlQRQ0KLSAgICAgICYmIHN0cmNtcCAoZGF0 YSArIDEyLCBYVElORk9fTkFNRSkgPT0gMA0KLSAgICAgICYmIHh0X2NvbmZpZ19pbmZvX3VucGFj a19hbmRfY2hlY2sgKGRhdGEgKyAxMiArIFhUSU5GT19OQU1FU1osDQotCQkJCQkgICZtaXNtYXRj aCwgJmVycm1zZykpDQorICBlbHNlIGlmIChlbnRyaWVzLT5hYmkgIT0gZWxmMzJ4dGVuc2FfYWJp KQ0KICAgICB7DQotICAgICAgaWYgKG1pc21hdGNoKQ0KLQllaW5mbyAoXygiJVA6ICVwQjogd2Fy bmluZzogaW5jb21wYXRpYmxlIFh0ZW5zYSBjb25maWd1cmF0aW9uDQooJXMpXG4iKSwNCi0JICAg ICAgIGFiZmQsIGVycm1zZyk7DQorICAgICAgZWluZm8gKF8oIiVQOiAlcEI6IHdhcm5pbmc6IFh0 ZW5zYSBBQkkgZG9lcyBub3QgbWF0Y2hcbiIpLA0KYWJmZCk7DQogICAgIH0NCi0gIGVsc2UNCi0g ICAgZWluZm8gKF8oIiVQOiAlcEI6IHdhcm5pbmc6IGNhbm5vdCBwYXJzZSAueHRlbnNhLmluZm8g c2VjdGlvblxuIiksDQphYmZkKTsNCiANCi0gIGZyZWUgKGRhdGEpOw0KKyAgLyogQ2hlY2sgVVNF X0FCU09MVVRFX0xJVEVSQUxTICovDQorICBpZiAoZW50cmllcy0+dXNlX2Fic29sdXRlX2xpdGVy YWxzICE9IFhTSEFMX1VTRV9BQlNPTFVURV9MSVRFUkFMUykNCisgICAgew0KKyAgICAgIGVpbmZv IChfKCIlUDogJXBCOiB3YXJuaW5nOiBYdGVuc2EgaW5jb21wYXRpYmxlIHVzZSBvZiB0aGUNCkV4 dGVuZGVkIEwzMlIgb3B0aW9uICglZCAhPSAlZClcbiIpLA0KKyAgICAgICAgICAgICBhYmZkLCBl bnRyaWVzLT51c2VfYWJzb2x1dGVfbGl0ZXJhbHMsDQpYU0hBTF9VU0VfQUJTT0xVVEVfTElURVJB TFMpOw0KKyAgICB9DQogfQ0KIA0KIA0KQEAgLTQyMyw2ICszNDAsNyBAQCBjaGVja194dGVuc2Ff aW5mbyAoYmZkICphYmZkLCBhc2VjdGlvbiAqaW5mb19zZWMpDQogc3RhdGljIHZvaWQNCiBlbGZf eHRlbnNhX2JlZm9yZV9hbGxvY2F0aW9uICh2b2lkKQ0KIHsNCisgIHh0ZW5zYV9pbmZvX2VudHJp ZXMgeHRlbnNhX2luZm87DQogICBhc2VjdGlvbiAqaW5mb19zZWMsICpmaXJzdF9pbmZvX3NlYzsN CiAgIGJmZCAqZmlyc3RfYmZkOw0KICAgYm9vbCBpc19iaWdfZW5kaWFuID0gWENIQUxfSEFWRV9C RTsNCkBAIC00NzcsNyArMzk1LDggQEAgZWxmX3h0ZW5zYV9iZWZvcmVfYWxsb2NhdGlvbiAodm9p ZCkNCiANCiAgICAgICAvKiBVbnBhY2sgdGhlIC54dGVuc2EuaW5mbyBzZWN0aW9uIGFuZCBjaGVj ayBpdCBhZ2FpbnN0IHRoZQ0KY3VycmVudA0KIAkgWHRlbnNhIGNvbmZpZ3VyYXRpb24uICAqLw0K LSAgICAgIGNoZWNrX3h0ZW5zYV9pbmZvIChmLT50aGVfYmZkLCBpbmZvX3NlYyk7DQorICAgICAg aWYgKHJlYWRfeHRlbnNhX2luZm8gKGYtPnRoZV9iZmQsIGluZm9fc2VjLCAmeHRlbnNhX2luZm8p KQ0KKwljaGVja194dGVuc2FfaW5mbyAoZi0+dGhlX2JmZCwgJnh0ZW5zYV9pbmZvKTsNCiANCiAg ICAgICAvKiBEbyBub3QgaW5jbHVkZSB0aGlzIGNvcHkgb2YgLnh0ZW5zYS5pbmZvIGluIHRoZSBv dXRwdXQuICAqLw0KICAgICAgIGluZm9fc2VjLT5zaXplID0gMDsNCkBAIC01MDQsOCArNDIzLDcg QEAgZWxmX3h0ZW5zYV9iZWZvcmVfYWxsb2NhdGlvbiAodm9pZCkNCiAgICAgICBpbmZvX3NlYy0+ ZmxhZ3MgfD0gU0VDX0lOX01FTU9SWTsNCiANCiAgICAgICBkYXRhID0geG1hbGxvYyAoMTAwKTsN Ci0gICAgICBzcHJpbnRmIChkYXRhLCAiVVNFX0FCU09MVVRFX0xJVEVSQUxTPSVkXG5BQkk9JWRc biIsDQotCSAgICAgICBYU0hBTF9VU0VfQUJTT0xVVEVfTElURVJBTFMsIHh0ZW5zYV9hYmlfY2hv aWNlICgpKTsNCisgICAgICBmaWxsX3h0ZW5zYV9pbmZvICgmZGF0YSk7DQogICAgICAgeHRlbnNh X2luZm9fc2l6ZSA9IHN0cmxlbiAoZGF0YSkgKyAxOw0KIA0KICAgICAgIC8qIEFkZCBlbm91Z2gg bnVsbCB0ZXJtaW5hdG9ycyB0byBwYWQgdG8gYSB3b3JkIGJvdW5kYXJ5LiAgKi8NCi0tIA0KMi4z NC4xDQoNCg==