From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107413 invoked by alias); 15 Aug 2019 19:47:41 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 107404 invoked by uid 89); 15 Aug 2019 19:47:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR03-VE1-obe.outbound.protection.outlook.com Received: from mail-oln040092072039.outbound.protection.outlook.com (HELO EUR03-VE1-obe.outbound.protection.outlook.com) (40.92.72.39) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 15 Aug 2019 19:47:38 +0000 Received: from VE1EUR03FT021.eop-EUR03.prod.protection.outlook.com (10.152.18.51) by VE1EUR03HT178.eop-EUR03.prod.protection.outlook.com (10.152.19.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.18; Thu, 15 Aug 2019 19:47:35 +0000 Received: from AM6PR10MB2566.EURPRD10.PROD.OUTLOOK.COM (10.152.18.59) by VE1EUR03FT021.mail.protection.outlook.com (10.152.18.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2178.16 via Frontend Transport; Thu, 15 Aug 2019 19:47:35 +0000 Received: from AM6PR10MB2566.EURPRD10.PROD.OUTLOOK.COM ([fe80::4056:d9d8:9ce5:1976]) by AM6PR10MB2566.EURPRD10.PROD.OUTLOOK.COM ([fe80::4056:d9d8:9ce5:1976%4]) with mapi id 15.20.2157.022; Thu, 15 Aug 2019 19:47:35 +0000 From: Bernd Edlinger To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Ramana Radhakrishnan , Kyrill Tkachov , Eric Botcazou , Jeff Law , "Jakub Jelinek" Subject: [PATCH] Sanitizing the middle-end interface to the back-end for strict alignment Date: Thu, 15 Aug 2019 21:27:00 -0000 Message-ID: References: In-Reply-To: x-microsoft-original-message-id: Content-Type: multipart/mixed; boundary="_002_AM6PR10MB2566CF3F93327C1666133CF4E4AC0AM6PR10MB2566EURP_" MIME-Version: 1.0 X-SW-Source: 2019-08/txt/msg01132.txt.bz2 --_002_AM6PR10MB2566CF3F93327C1666133CF4E4AC0AM6PR10MB2566EURP_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Content-length: 1212 SGksDQoNCnRoaXMgaXMgdGhlIHNwbGl0IG91dCBwYXJ0IGZyb20gdGhlICJG aXggbm90IDgtYnl0ZSBhbGlnbmVkIGxkcmQvc3RyZCBvbiBBUk12NSAoUFIg ODk1NDQpIg0Kd2hpY2ggaXMgc2FuaXRpemluZyB0aGUgbWlkZGxlLWVuZCBp bnRlcmZhY2UgdG8gdGhlIGJhY2stZW5kIGZvciBzdHJpY3QgYWxpZ25tZW50 LA0KYW5kIGEgY291cGxlIG9mIGJ1Zy1maXhlcyB0aGF0IGFyZSBuZWNlc3Nh cnkgdG8gc3Vydml2ZSBib290LXN0cmFwLg0KSXQgaXMgaW50ZW5kZWQgdG8g YmUgYXBwbGllZCBhZnRlciB0aGUgUFIgODk1NDQgZml4Lg0KDQpJIHRoaW5r IGl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgZGVmYXVsdCBp bXBsZW1lbnRhdGlvbiBvZiBTVEFDS19TTE9UX0FMSUdOTUVOVA0KdG8gbWFr ZSBhbGwgc3RhY2sgdmFyaWFibGVzIGFsd2F5cyBuYXR1cmFsbHkgYWxpZ25l ZCBpbnN0ZWFkIG9mIGRvaW5nIHRoYXQgb25seQ0KaW4gYXNzaWduX3Bhcm1f c2V0dXBfc3RhY2ssIGJ1dCB3b3VsZCBzdGlsbCBsaWtlIHRvIGF2b2lkIGNo YW5naW5nIHRvbyBtYW55IHRoaW5ncw0KdGhhdCBkbyBub3Qgc2VlbSB0byBo YXZlIGEgcHJvYmxlbS4gIFNpbmNlIHRoaXMgd291bGQgYWZmZWN0IG1hbnkg dGFyZ2V0cywgYW5kIG1vcmUNCmtpbmRzIG9mIHZhcmlhYmxlcyB0aGF0IG1h eSBwcm9iYWJseSBub3QgaGF2ZSBhIHN0cmljdCBhbGlnbm1lbnQgcHJvYmxl bS4NCkJ1dCBJIGFtIHJlYWR5IHRvIHRha2UgeW91ciBhZHZpY2UgdGhvdWdo Lg0KDQoNCkJvb3Qtc3RyYXBwZWQgYW5kIHJlZy10ZXN0ZWQgb24geDg2XzY0 LXBjLWxpbnV4LWdudSBhbmQgYXJtLWxpbnV4LWdudWVhYmloZg0KSXMgaXQg T0sgZm9yIHRydW5rPw0KDQoNClRoYW5rcw0KQmVybmQuDQoNCg== --_002_AM6PR10MB2566CF3F93327C1666133CF4E4AC0AM6PR10MB2566EURP_ Content-Type: text/x-patch; name="patch-strict-align.diff" Content-Description: patch-strict-align.diff Content-Disposition: attachment; filename="patch-strict-align.diff"; size=9187; creation-date="Thu, 15 Aug 2019 19:47:34 GMT"; modification-date="Thu, 15 Aug 2019 19:47:34 GMT" Content-ID: <717A38BEDF06AD41B6ABE0BFDA2CA1D9@EURPRD10.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 Content-length: 12457 MjAxOS0wOC0xNSAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBo b3RtYWlsLmRlPgoJICAgIFJpY2hhcmQgQmllbmVyICA8cmd1ZW50aGVyQHN1 c2UuZGU+CgoJKiBleHByLmMgKGV4cGFuZF9hc3NpZ25tZW50KTogSGFuZGxl IG1pc2FsaWduZWQgREVDTHMuCgkoZXhwYW5kX2V4cHJfcmVhbF8xKTogSGFu ZGxlIEZVTkNUSU9OX0RFQ0wgYXMgdW5hbGlnbmVkLgoJKiBmdW5jdGlvbi5j IChhc3NpZ25fcGFybV9hZGp1c3Rfc3RhY2tfcnRsKTogQ2hlY2sgbW92bWlz YWxpZ24gb3B0YWIKCXRvby4KCShhc3NpZ25fcGFybV9zZXR1cF9zdGFjayk6 IEFsbG9jYXRlIHByb3Blcmx5IGFsaWduZWQgc3RhY2sgc2xvdHMuCgkqIHZh cmFzbS5jIChidWlsZF9jb25zdGFudF9kZXNjKTogQWxpZ24gY29uc3RhbnRz IG9mIG1pc2FsaWduZWQgdHlwZXMuCgkqIGNvbmZpZy9hcm0vYXJtLm1kICht b3ZkaSwgbW92c2ksIG1vdmhpLCBtb3ZoZiwgbW92c2YsIG1vdmRmKTogQ2hl Y2sKCXN0cmljdCBhbGlnbm1lbnQgcmVzdHJpY3Rpb25zIG9uIG1lbW9yeSBh ZGRyZXNzZXMuCgkqIGNvbmZpZy9hcm0vbmVvbi5tZCAobW92dGksIG1vdjxW U1RSVUNUPiwgbW92PFZIPik6IExpa2V3aXNlLgoJKiBjb25maWcvYXJtL3Zl Yy1jb21tb24ubWQgKG1vdjxWQUxMPik6IExpa2V3aXNlLgoKSW5kZXg6IGdj Yy9jb25maWcvYXJtL2FybS5tZAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBnY2MvY29uZmlnL2FybS9hcm0ubWQJKFJldmlzaW9uIDI3NDUzMSkKKysr IGdjYy9jb25maWcvYXJtL2FybS5tZAkoQXJiZWl0c2tvcGllKQpAQCAtNTgz OCw2ICs1ODM4LDEyIEBACiAJKG1hdGNoX29wZXJhbmQ6REkgMSAiZ2VuZXJh bF9vcGVyYW5kIikpXQogICAiVEFSR0VUX0VJVEhFUiIKICAgIgorICBnY2Nf Y2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBdKQorCQkgICAg ICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAgPj0gR0VUX01P REVfQUxJR05NRU5UIChESW1vZGUpKTsKKyAgZ2NjX2NoZWNraW5nX2Fzc2Vy dCAoIU1FTV9QIChvcGVyYW5kc1sxXSkKKwkJICAgICAgIHx8IE1FTV9BTElH TiAob3BlcmFuZHNbMV0pCisJCQkgID49IEdFVF9NT0RFX0FMSUdOTUVOVCAo REltb2RlKSk7CiAgIGlmIChjYW5fY3JlYXRlX3BzZXVkb19wICgpKQogICAg IHsKICAgICAgIGlmICghUkVHX1AgKG9wZXJhbmRzWzBdKSkKQEAgLTYwMTQs NiArNjAyMCwxMiBAQAogICB7CiAgIHJ0eCBiYXNlLCBvZmZzZXQsIHRtcDsK IAorICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBd KQorCQkgICAgICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAg Pj0gR0VUX01PREVfQUxJR05NRU5UIChTSW1vZGUpKTsKKyAgZ2NjX2NoZWNr aW5nX2Fzc2VydCAoIU1FTV9QIChvcGVyYW5kc1sxXSkKKwkJICAgICAgIHx8 IE1FTV9BTElHTiAob3BlcmFuZHNbMV0pCisJCQkgID49IEdFVF9NT0RFX0FM SUdOTUVOVCAoU0ltb2RlKSk7CiAgIGlmIChUQVJHRVRfMzJCSVQgfHwgVEFS R0VUX0hBVkVfTU9WVCkKICAgICB7CiAgICAgICAvKiBFdmVyeXRoaW5nIGV4 Y2VwdCBtZW0gPSBjb25zdCBvciBtZW0gPSBtZW0gY2FuIGJlIGRvbmUgZWFz aWx5LiAgKi8KQEAgLTY1MDMsNiArNjUxNSwxMiBAQAogCShtYXRjaF9vcGVy YW5kOkhJIDEgImdlbmVyYWxfb3BlcmFuZCIpKV0KICAgIlRBUkdFVF9FSVRI RVIiCiAgICIKKyAgZ2NjX2NoZWNraW5nX2Fzc2VydCAoIU1FTV9QIChvcGVy YW5kc1swXSkKKwkJICAgICAgIHx8IE1FTV9BTElHTiAob3BlcmFuZHNbMF0p CisJCQkgID49IEdFVF9NT0RFX0FMSUdOTUVOVCAoSEltb2RlKSk7CisgIGdj Y19jaGVja2luZ19hc3NlcnQgKCFNRU1fUCAob3BlcmFuZHNbMV0pCisJCSAg ICAgICB8fCBNRU1fQUxJR04gKG9wZXJhbmRzWzFdKQorCQkJICA+PSBHRVRf TU9ERV9BTElHTk1FTlQgKEhJbW9kZSkpOwogICBpZiAoVEFSR0VUX0FSTSkK ICAgICB7CiAgICAgICBpZiAoY2FuX2NyZWF0ZV9wc2V1ZG9fcCAoKSkKQEAg LTY5MTIsNiArNjkzMCwxMiBAQAogCShtYXRjaF9vcGVyYW5kOkhGIDEgImdl bmVyYWxfb3BlcmFuZCIpKV0KICAgIlRBUkdFVF9FSVRIRVIiCiAgICIKKyAg Z2NjX2NoZWNraW5nX2Fzc2VydCAoIU1FTV9QIChvcGVyYW5kc1swXSkKKwkJ ICAgICAgIHx8IE1FTV9BTElHTiAob3BlcmFuZHNbMF0pCisJCQkgID49IEdF VF9NT0RFX0FMSUdOTUVOVCAoSEZtb2RlKSk7CisgIGdjY19jaGVja2luZ19h c3NlcnQgKCFNRU1fUCAob3BlcmFuZHNbMV0pCisJCSAgICAgICB8fCBNRU1f QUxJR04gKG9wZXJhbmRzWzFdKQorCQkJICA+PSBHRVRfTU9ERV9BTElHTk1F TlQgKEhGbW9kZSkpOwogICBpZiAoVEFSR0VUXzMyQklUKQogICAgIHsKICAg ICAgIGlmIChNRU1fUCAob3BlcmFuZHNbMF0pKQpAQCAtNjk3Niw2ICs3MDAw LDEyIEBACiAJKG1hdGNoX29wZXJhbmQ6U0YgMSAiZ2VuZXJhbF9vcGVyYW5k IikpXQogICAiVEFSR0VUX0VJVEhFUiIKICAgIgorICBnY2NfY2hlY2tpbmdf YXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBdKQorCQkgICAgICAgfHwgTUVN X0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAgPj0gR0VUX01PREVfQUxJR05N RU5UIChTRm1vZGUpKTsKKyAgZ2NjX2NoZWNraW5nX2Fzc2VydCAoIU1FTV9Q IChvcGVyYW5kc1sxXSkKKwkJICAgICAgIHx8IE1FTV9BTElHTiAob3BlcmFu ZHNbMV0pCisJCQkgID49IEdFVF9NT0RFX0FMSUdOTUVOVCAoU0Ztb2RlKSk7 CiAgIGlmIChUQVJHRVRfMzJCSVQpCiAgICAgewogICAgICAgaWYgKE1FTV9Q IChvcGVyYW5kc1swXSkpCkBAIC03MDcxLDYgKzcxMDEsMTIgQEAKIAkobWF0 Y2hfb3BlcmFuZDpERiAxICJnZW5lcmFsX29wZXJhbmQiKSldCiAgICJUQVJH RVRfRUlUSEVSIgogICAiCisgIGdjY19jaGVja2luZ19hc3NlcnQgKCFNRU1f UCAob3BlcmFuZHNbMF0pCisJCSAgICAgICB8fCBNRU1fQUxJR04gKG9wZXJh bmRzWzBdKQorCQkJICA+PSBHRVRfTU9ERV9BTElHTk1FTlQgKERGbW9kZSkp OworICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzFd KQorCQkgICAgICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1sxXSkKKwkJCSAg Pj0gR0VUX01PREVfQUxJR05NRU5UIChERm1vZGUpKTsKICAgaWYgKFRBUkdF VF8zMkJJVCkKICAgICB7CiAgICAgICBpZiAoTUVNX1AgKG9wZXJhbmRzWzBd KSkKSW5kZXg6IGdjYy9jb25maWcvYXJtL25lb24ubWQKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZ2NjL2NvbmZpZy9hcm0vbmVvbi5tZAkoUmV2aXNp b24gMjc0NTMxKQorKysgZ2NjL2NvbmZpZy9hcm0vbmVvbi5tZAkoQXJiZWl0 c2tvcGllKQpAQCAtMTI3LDYgKzEyNywxMiBAQAogCShtYXRjaF9vcGVyYW5k OlRJIDEgImdlbmVyYWxfb3BlcmFuZCIpKV0KICAgIlRBUkdFVF9ORU9OIgog eworICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBd KQorCQkgICAgICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAg Pj0gR0VUX01PREVfQUxJR05NRU5UIChUSW1vZGUpKTsKKyAgZ2NjX2NoZWNr aW5nX2Fzc2VydCAoIU1FTV9QIChvcGVyYW5kc1sxXSkKKwkJICAgICAgIHx8 IE1FTV9BTElHTiAob3BlcmFuZHNbMV0pCisJCQkgID49IEdFVF9NT0RFX0FM SUdOTUVOVCAoVEltb2RlKSk7CiAgIGlmIChjYW5fY3JlYXRlX3BzZXVkb19w ICgpKQogICAgIHsKICAgICAgIGlmICghUkVHX1AgKG9wZXJhbmRzWzBdKSkK QEAgLTEzOSw2ICsxNDUsMTIgQEAKIAkobWF0Y2hfb3BlcmFuZDpWU1RSVUNU IDEgImdlbmVyYWxfb3BlcmFuZCIpKV0KICAgIlRBUkdFVF9ORU9OIgogewor ICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBdKQor CQkgICAgICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAgPj0g R0VUX01PREVfQUxJR05NRU5UICg8TU9ERT5tb2RlKSk7CisgIGdjY19jaGVj a2luZ19hc3NlcnQgKCFNRU1fUCAob3BlcmFuZHNbMV0pCisJCSAgICAgICB8 fCBNRU1fQUxJR04gKG9wZXJhbmRzWzFdKQorCQkJICA+PSBHRVRfTU9ERV9B TElHTk1FTlQgKDxNT0RFPm1vZGUpKTsKICAgaWYgKGNhbl9jcmVhdGVfcHNl dWRvX3AgKCkpCiAgICAgewogICAgICAgaWYgKCFSRUdfUCAob3BlcmFuZHNb MF0pKQpAQCAtMTUxLDYgKzE2MywxMiBAQAogCShtYXRjaF9vcGVyYW5kOlZI IDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIpKV0KICAgIlRBUkdFVF9ORU9OIgog eworICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzBd KQorCQkgICAgICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1swXSkKKwkJCSAg Pj0gR0VUX01PREVfQUxJR05NRU5UICg8TU9ERT5tb2RlKSk7CisgIGdjY19j aGVja2luZ19hc3NlcnQgKCFNRU1fUCAob3BlcmFuZHNbMV0pCisJCSAgICAg ICB8fCBNRU1fQUxJR04gKG9wZXJhbmRzWzFdKQorCQkJICA+PSBHRVRfTU9E RV9BTElHTk1FTlQgKDxNT0RFPm1vZGUpKTsKICAgaWYgKGNhbl9jcmVhdGVf cHNldWRvX3AgKCkpCiAgICAgewogICAgICAgaWYgKCFSRUdfUCAob3BlcmFu ZHNbMF0pKQpJbmRleDogZ2NjL2NvbmZpZy9hcm0vdmVjLWNvbW1vbi5tZAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvY29uZmlnL2FybS92ZWMt Y29tbW9uLm1kCShSZXZpc2lvbiAyNzQ1MzEpCisrKyBnY2MvY29uZmlnL2Fy bS92ZWMtY29tbW9uLm1kCShBcmJlaXRza29waWUpCkBAIC0yNiw2ICsyNiwx MiBAQAogICAiVEFSR0VUX05FT04KICAgIHx8IChUQVJHRVRfUkVBTExZX0lX TU1YVCAmJiBWQUxJRF9JV01NWFRfUkVHX01PREUgKDxNT0RFPm1vZGUpKSIK IHsKKyAgZ2NjX2NoZWNraW5nX2Fzc2VydCAoIU1FTV9QIChvcGVyYW5kc1sw XSkKKwkJICAgICAgIHx8IE1FTV9BTElHTiAob3BlcmFuZHNbMF0pCisJCQkg ID49IEdFVF9NT0RFX0FMSUdOTUVOVCAoPE1PREU+bW9kZSkpOworICBnY2Nf Y2hlY2tpbmdfYXNzZXJ0ICghTUVNX1AgKG9wZXJhbmRzWzFdKQorCQkgICAg ICAgfHwgTUVNX0FMSUdOIChvcGVyYW5kc1sxXSkKKwkJCSAgPj0gR0VUX01P REVfQUxJR05NRU5UICg8TU9ERT5tb2RlKSk7CiAgIGlmIChjYW5fY3JlYXRl X3BzZXVkb19wICgpKQogICAgIHsKICAgICAgIGlmICghUkVHX1AgKG9wZXJh bmRzWzBdKSkKSW5kZXg6IGdjYy9leHByLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL2V4cHIuYwkoUmV2aXNpb24gMjc0NTMxKQorKysgZ2Nj L2V4cHIuYwkoQXJiZWl0c2tvcGllKQpAQCAtNTAwMiw5ICs1MDAyLDEwIEBA IGV4cGFuZF9hc3NpZ25tZW50ICh0cmVlIHRvLCB0cmVlIGZyb20sIGJvb2wg bm9udGVtCiAgIC8qIEhhbmRsZSBtaXNhbGlnbmVkIHN0b3Jlcy4gICovCiAg IG1vZGUgPSBUWVBFX01PREUgKFRSRUVfVFlQRSAodG8pKTsKICAgaWYgKChU UkVFX0NPREUgKHRvKSA9PSBNRU1fUkVGCi0gICAgICAgfHwgVFJFRV9DT0RF ICh0bykgPT0gVEFSR0VUX01FTV9SRUYpCisgICAgICAgfHwgVFJFRV9DT0RF ICh0bykgPT0gVEFSR0VUX01FTV9SRUYKKyAgICAgICB8fCBERUNMX1AgKHRv KSkKICAgICAgICYmIG1vZGUgIT0gQkxLbW9kZQotICAgICAgJiYgIW1lbV9y ZWZfcmVmZXJzX3RvX25vbl9tZW1fcCAodG8pCisgICAgICAmJiAoREVDTF9Q ICh0bykgfHwgIW1lbV9yZWZfcmVmZXJzX3RvX25vbl9tZW1fcCAodG8pKQog ICAgICAgJiYgKChhbGlnbiA9IGdldF9vYmplY3RfYWxpZ25tZW50ICh0bykp CiAJICA8IEdFVF9NT0RFX0FMSUdOTUVOVCAobW9kZSkpCiAgICAgICAmJiAo KChpY29kZSA9IG9wdGFiX2hhbmRsZXIgKG1vdm1pc2FsaWduX29wdGFiLCBt b2RlKSkKQEAgLTEwNzk2LDYgKzEwNzk3LDE0IEBAIGV4cGFuZF9leHByX3Jl YWxfMSAodHJlZSBleHAsIHJ0eCB0YXJnZXQsIG1hY2hpbmVfCiAJICAgIE1F TV9WT0xBVElMRV9QIChvcDApID0gMTsKIAkgIH0KIAorCWlmIChNRU1fUCAo b3AwKSAmJiBUUkVFX0NPREUgKHRlbSkgPT0gRlVOQ1RJT05fREVDTCkKKwkg IHsKKwkgICAgaWYgKG9wMCA9PSBvcmlnX29wMCkKKwkgICAgICBvcDAgPSBj b3B5X3J0eCAob3AwKTsKKworCSAgICBzZXRfbWVtX2FsaWduIChvcDAsIEJJ VFNfUEVSX1VOSVQpOworCSAgfQorCiAJLyogSW4gY2FzZXMgd2hlcmUgYW4g YWxpZ25lZCB1bmlvbiBoYXMgYW4gdW5hbGlnbmVkIG9iamVjdAogCSAgIGFz IGEgZmllbGQsIHdlIG1pZ2h0IGJlIGV4dHJhY3RpbmcgYSBCTEttb2RlIHZh bHVlIGZyb20KIAkgICBhbiBpbnRlZ2VyLW1vZGUgKGUuZy4sIFNJbW9kZSkg b2JqZWN0LiAgSGFuZGxlIHRoaXMgY2FzZQpJbmRleDogZ2NjL2Z1bmN0aW9u LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL2Z1bmN0aW9uLmMJ KFJldmlzaW9uIDI3NDUzMSkKKysrIGdjYy9mdW5jdGlvbi5jCShBcmJlaXRz a29waWUpCkBAIC0yODEyLDggKzI4MjcsMTAgQEAgYXNzaWduX3Bhcm1fYWRq dXN0X3N0YWNrX3J0bCAoc3RydWN0IGFzc2lnbl9wYXJtX2QKICAgICAgc3Rh Y2sgc2xvdCwgaWYgd2UgbmVlZCBvbmUuICAqLwogICBpZiAoc3RhY2tfcGFy bQogICAgICAgJiYgKChHRVRfTU9ERV9BTElHTk1FTlQgKGRhdGEtPm5vbWlu YWxfbW9kZSkgPiBNRU1fQUxJR04gKHN0YWNrX3Bhcm0pCi0JICAgJiYgdGFy Z2V0bS5zbG93X3VuYWxpZ25lZF9hY2Nlc3MgKGRhdGEtPm5vbWluYWxfbW9k ZSwKLQkJCQkJICAgICBNRU1fQUxJR04gKHN0YWNrX3Bhcm0pKSkKKwkgICAm JiAoKG9wdGFiX2hhbmRsZXIgKG1vdm1pc2FsaWduX29wdGFiLCBkYXRhLT5u b21pbmFsX21vZGUpCisJCSE9IENPREVfRk9SX25vdGhpbmcpCisJICAgICAg IHx8IHRhcmdldG0uc2xvd191bmFsaWduZWRfYWNjZXNzIChkYXRhLT5ub21p bmFsX21vZGUsCisJCQkJCQkgTUVNX0FMSUdOIChzdGFja19wYXJtKSkpKQog CSAgfHwgKGRhdGEtPm5vbWluYWxfdHlwZQogCSAgICAgICYmIFRZUEVfQUxJ R04gKGRhdGEtPm5vbWluYWxfdHlwZSkgPiBNRU1fQUxJR04gKHN0YWNrX3Bh cm0pCiAJICAgICAgJiYgTUVNX0FMSUdOIChzdGFja19wYXJtKSA8IFBSRUZF UlJFRF9TVEFDS19CT1VOREFSWSkpKQpAQCAtMzQ2NiwxMSArMzQ4MywyMCBA QCBhc3NpZ25fcGFybV9zZXR1cF9zdGFjayAoc3RydWN0IGFzc2lnbl9wYXJt X2RhdGFfYQogCSAgaW50IGFsaWduID0gU1RBQ0tfU0xPVF9BTElHTk1FTlQg KGRhdGEtPnBhc3NlZF90eXBlLAogCQkJCQkgICAgR0VUX01PREUgKGRhdGEt PmVudHJ5X3Bhcm0pLAogCQkJCQkgICAgVFlQRV9BTElHTiAoZGF0YS0+cGFz c2VkX3R5cGUpKTsKKwkgIGlmIChhbGlnbiA8IChpbnQpR0VUX01PREVfQUxJ R05NRU5UIChHRVRfTU9ERSAoZGF0YS0+ZW50cnlfcGFybSkpCisJICAgICAg JiYgKChvcHRhYl9oYW5kbGVyIChtb3ZtaXNhbGlnbl9vcHRhYiwKKwkJCQkg IEdFVF9NT0RFIChkYXRhLT5lbnRyeV9wYXJtKSkKKwkJICAgIT0gQ09ERV9G T1Jfbm90aGluZykKKwkJICB8fCB0YXJnZXRtLnNsb3dfdW5hbGlnbmVkX2Fj Y2VzcyAoR0VUX01PREUgKGRhdGEtPmVudHJ5X3Bhcm0pLAorCQkJCQkJICAg IGFsaWduKSkpCisJICAgIGFsaWduID0gR0VUX01PREVfQUxJR05NRU5UIChH RVRfTU9ERSAoZGF0YS0+ZW50cnlfcGFybSkpOwogCSAgZGF0YS0+c3RhY2tf cGFybQogCSAgICA9IGFzc2lnbl9zdGFja19sb2NhbCAoR0VUX01PREUgKGRh dGEtPmVudHJ5X3Bhcm0pLAogCQkJCSAgR0VUX01PREVfU0laRSAoR0VUX01P REUgKGRhdGEtPmVudHJ5X3Bhcm0pKSwKIAkJCQkgIGFsaWduKTsKKwkgIGFs aWduID0gTUVNX0FMSUdOIChkYXRhLT5zdGFja19wYXJtKTsKIAkgIHNldF9t ZW1fYXR0cmlidXRlcyAoZGF0YS0+c3RhY2tfcGFybSwgcGFybSwgMSk7CisJ ICBzZXRfbWVtX2FsaWduIChkYXRhLT5zdGFja19wYXJtLCBhbGlnbik7CiAJ fQogCiAgICAgICBkZXN0ID0gdmFsaWRpemVfbWVtIChjb3B5X3J0eCAoZGF0 YS0+c3RhY2tfcGFybSkpOwpJbmRleDogZ2NjL3ZhcmFzbS5jCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGdjYy92YXJhc20uYwkoUmV2aXNpb24gMjc0 NTMxKQorKysgZ2NjL3ZhcmFzbS5jCShBcmJlaXRza29waWUpCkBAIC00Nyw2 ICs0Nyw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlO RzMuICBJZiBub3Qgc2VlCiAjaW5jbHVkZSAic3RtdC5oIgogI2luY2x1ZGUg ImV4cHIuaCIKICNpbmNsdWRlICJleHBtZWQuaCIKKyNpbmNsdWRlICJvcHRh YnMuaCIKICNpbmNsdWRlICJvdXRwdXQuaCIKICNpbmNsdWRlICJsYW5naG9v a3MuaCIKICNpbmNsdWRlICJkZWJ1Zy5oIgpAQCAtMzM4Niw3ICszMzg3LDE1 IEBAIGJ1aWxkX2NvbnN0YW50X2Rlc2MgKHRyZWUgZXhwKQogICBpZiAoVFJF RV9DT0RFIChleHApID09IFNUUklOR19DU1QpCiAgICAgU0VUX0RFQ0xfQUxJ R04gKGRlY2wsIHRhcmdldG0uY29uc3RhbnRfYWxpZ25tZW50IChleHAsIERF Q0xfQUxJR04gKGRlY2wpKSk7CiAgIGVsc2UKLSAgICBhbGlnbl92YXJpYWJs ZSAoZGVjbCwgMCk7CisgICAgeworICAgICAgYWxpZ25fdmFyaWFibGUgKGRl Y2wsIDApOworICAgICAgaWYgKERFQ0xfQUxJR04gKGRlY2wpIDwgR0VUX01P REVfQUxJR05NRU5UIChERUNMX01PREUgKGRlY2wpKQorCSAgJiYgKChvcHRh Yl9oYW5kbGVyIChtb3ZtaXNhbGlnbl9vcHRhYiwgREVDTF9NT0RFIChkZWNs KSkKKwkgICAgICAgIT0gQ09ERV9GT1Jfbm90aGluZykKKwkgICAgICB8fCB0 YXJnZXRtLnNsb3dfdW5hbGlnbmVkX2FjY2VzcyAoREVDTF9NT0RFIChkZWNs KSwKKwkJCQkJCURFQ0xfQUxJR04gKGRlY2wpKSkpCisJU0VUX0RFQ0xfQUxJ R04gKGRlY2wsIEdFVF9NT0RFX0FMSUdOTUVOVCAoREVDTF9NT0RFIChkZWNs KSkpOworICAgIH0KIAogICAvKiBOb3cgY29uc3RydWN0IHRoZSBTWU1CT0xf UkVGIGFuZCB0aGUgTUVNLiAgKi8KICAgaWYgKHVzZV9vYmplY3RfYmxvY2tz X3AgKCkpCg== --_002_AM6PR10MB2566CF3F93327C1666133CF4E4AC0AM6PR10MB2566EURP_--