From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 110624 invoked by alias); 22 May 2015 11:23:38 -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 110515 invoked by uid 89); 22 May 2015 11:23:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.5 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 22 May 2015 11:23:35 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3F86628; Fri, 22 May 2015 04:23:29 -0700 (PDT) Received: from [10.2.206.27] (e105545-lin.cambridge.arm.com [10.2.206.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DEC5B3F30F; Fri, 22 May 2015 04:23:32 -0700 (PDT) Message-ID: <555F11B6.1070001@foss.arm.com> Date: Fri, 22 May 2015 11:37:00 -0000 From: Ramana Radhakrishnan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" , jason@redhat.com CC: David Edelsohn , wilson@tuliptree.org, Steve Ellcey , Richard Henderson Subject: Re: [RFC / CFT] PR c++/66192 - Remove TARGET_RELAXED_ORDERING and use load acquires. References: <555F1143.4070606@foss.arm.com> In-Reply-To: <555F1143.4070606@foss.arm.com> Content-Type: multipart/mixed; boundary="------------060106050109010901080503" X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg02092.txt.bz2 This is a multi-part message in MIME format. --------------060106050109010901080503 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 39 Bah ! now with patch attached. Ramana --------------060106050109010901080503 Content-Type: text/plain; charset=UTF-8; name="relaxed-ordering-followup.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="relaxed-ordering-followup.txt" Content-length: 14429 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWxwaGEvYWxwaGEuYyBiL2djYy9j b25maWcvYWxwaGEvYWxwaGEuYwppbmRleCAxYmE5OWQwLi44NTdjOWFjIDEw MDY0NAotLS0gYS9nY2MvY29uZmlnL2FscGhhL2FscGhhLmMKKysrIGIvZ2Nj L2NvbmZpZy9hbHBoYS9hbHBoYS5jCkBAIC05OTg3LDEyICs5OTg3LDYgQEAg YWxwaGFfYXRvbWljX2Fzc2lnbl9leHBhbmRfZmVudiAodHJlZSAqaG9sZCwg dHJlZSAqY2xlYXIsIHRyZWUgKnVwZGF0ZSkKICN1bmRlZiBUQVJHRVRfRVhQ QU5EX0JVSUxUSU5fVkFfU1RBUlQKICNkZWZpbmUgVEFSR0VUX0VYUEFORF9C VUlMVElOX1ZBX1NUQVJUIGFscGhhX3ZhX3N0YXJ0CiAKLS8qIFRoZSBBbHBo YSBhcmNoaXRlY3R1cmUgZG9lcyBub3QgcmVxdWlyZSBzZXF1ZW50aWFsIGNv bnNpc3RlbmN5LiAgU2VlCi0gICBodHRwOi8vd3d3LmNzLnVtZC5lZHUvfnB1 Z2gvamF2YS9tZW1vcnlNb2RlbC9BbHBoYVJlb3JkZXJpbmcuaHRtbAotICAg Zm9yIGFuIGV4YW1wbGUgb2YgaG93IGl0IGNhbiBiZSB2aW9sYXRlZCBpbiBw cmFjdGljZS4gICovCi0jdW5kZWYgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcK LSNkZWZpbmUgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcgdHJ1ZQotCiAjdW5k ZWYgVEFSR0VUX09QVElPTl9PVkVSUklERQogI2RlZmluZSBUQVJHRVRfT1BU SU9OX09WRVJSSURFIGFscGhhX29wdGlvbl9vdmVycmlkZQogCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2lhNjQvaWE2NC5jIGIvZ2NjL2NvbmZpZy9pYTY0 L2lhNjQuYwppbmRleCBjMWUyZWNkLi40NWFkOTdhIDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL2lhNjQvaWE2NC5jCisrKyBiL2djYy9jb25maWcvaWE2NC9p YTY0LmMKQEAgLTYzMCwxMSArNjMwLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBhdHRyaWJ1dGVfc3BlYyBpYTY0X2F0dHJpYnV0ZV90YWJsZVtdID0KICNk ZWZpbmUgVEFSR0VUX0xJQkdDQ19GTE9BVElOR19NT0RFX1NVUFBPUlRFRF9Q IFwKICAgaWE2NF9saWJnY2NfZmxvYXRpbmdfbW9kZV9zdXBwb3J0ZWRfcAog Ci0vKiBpYTY0IGFyY2hpdGVjdHVyZSBtYW51YWwgNC40Ljc6IC4uLiByZWFk cywgd3JpdGVzLCBhbmQgZmx1c2hlcyBtYXkgb2NjdXIKLSAgIGluIGFuIG9y ZGVyIGRpZmZlcmVudCBmcm9tIHRoZSBzcGVjaWZpZWQgcHJvZ3JhbSBvcmRl ci4gICovCi0jdW5kZWYgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcKLSNkZWZp bmUgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcgdHJ1ZQotCiAjdW5kZWYgVEFS R0VUX0xFR0lUSU1BVEVfQ09OU1RBTlRfUAogI2RlZmluZSBUQVJHRVRfTEVH SVRJTUFURV9DT05TVEFOVF9QIGlhNjRfbGVnaXRpbWF0ZV9jb25zdGFudF9w CiAjdW5kZWYgVEFSR0VUX0xFR0lUSU1BVEVfQUREUkVTU19QCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYyBiL2djYy9jb25maWcv cnM2MDAwL3JzNjAwMC5jCmluZGV4IGE1OTBlZjQuLmNlNzBjYTAgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jCisrKyBiL2djYy9j b25maWcvcnM2MDAwL3JzNjAwMC5jCkBAIC0xNjIwLDE3ICsxNjIwLDYgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfc3BlYyByczYwMDBfYXR0 cmlidXRlX3RhYmxlW10gPQogI2RlZmluZSBUQVJHRVRfU1RBQ0tfUFJPVEVD VF9GQUlMIHJzNjAwMF9zdGFja19wcm90ZWN0X2ZhaWwKICNlbmRpZgogCi0v KiBNUEM2MDRFVU0gMy41LjIgV2VhayBDb25zaXN0ZW5jeSBiZXR3ZWVuIE11 bHRpcGxlIFByb2Nlc3NvcnMKLSAgIFRoZSBQb3dlclBDIGFyY2hpdGVjdHVy ZSByZXF1aXJlcyBvbmx5IHdlYWsgY29uc2lzdGVuY3kgYW1vbmcKLSAgIHBy b2Nlc3NvcnMtLXRoYXQgaXMsIG1lbW9yeSBhY2Nlc3NlcyBiZXR3ZWVuIHBy b2Nlc3NvcnMgbmVlZCBub3QgYmUKLSAgIHNlcXVlbnRpYWxseSBjb25zaXN0 ZW50IGFuZCBtZW1vcnkgYWNjZXNzZXMgYW1vbmcgcHJvY2Vzc29ycyBjYW4g b2NjdXIKLSAgIGluIGFueSBvcmRlci4gVGhlIGFiaWxpdHkgdG8gb3JkZXIg bWVtb3J5IGFjY2Vzc2VzIHdlYWtseSBwcm92aWRlcwotICAgb3Bwb3J0dW5p dGllcyBmb3IgbW9yZSBlZmZpY2llbnQgdXNlIG9mIHRoZSBzeXN0ZW0gYnVz LiBVbmxlc3MgYQotICAgZGVwZW5kZW5jeSBleGlzdHMsIHRoZSA2MDRlIGFs bG93cyByZWFkIG9wZXJhdGlvbnMgdG8gcHJlY2VkZSBzdG9yZQotICAgb3Bl cmF0aW9ucy4gICovCi0jdW5kZWYgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcK LSNkZWZpbmUgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcgdHJ1ZQotCiAjaWZk ZWYgSEFWRV9BU19UTFMKICN1bmRlZiBUQVJHRVRfQVNNX09VVFBVVF9EV0FS Rl9EVFBSRUwKICNkZWZpbmUgVEFSR0VUX0FTTV9PVVRQVVRfRFdBUkZfRFRQ UkVMIHJzNjAwMF9vdXRwdXRfZHdhcmZfZHRwcmVsCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3NwYXJjL2xpbnV4LmggYi9nY2MvY29uZmlnL3NwYXJjL2xp bnV4LmgKaW5kZXggNTZkZWY0Yi4uMzdmNTA3ZCAxMDA2NDQKLS0tIGEvZ2Nj L2NvbmZpZy9zcGFyYy9saW51eC5oCisrKyBiL2djYy9jb25maWcvc3BhcmMv bGludXguaApAQCAtMTM5LDEyICsxMzksNiBAQCBkbyB7CQkJCQkJCQkJXAog LyogU3RhdGljIHN0YWNrIGNoZWNraW5nIGlzIHN1cHBvcnRlZCBieSBtZWFu cyBvZiBwcm9iZXMuICAqLwogI2RlZmluZSBTVEFDS19DSEVDS19TVEFUSUNf QlVJTFRJTiAxCiAKLS8qIExpbnV4IGN1cnJlbnRseSB1c2VzIFJNTyBpbiB1 bmlwcm9jZXNzb3IgbW9kZSwgd2hpY2ggaXMgZXF1aXZhbGVudCB0bwotICAg VE1PLCBhbmQgVE1PIGluIG11bHRpcHJvY2Vzc29yIG1vZGUuICBCdXQgdGhl eSByZXNlcnZlIHRoZSByaWdodCB0bwotICAgY2hhbmdlIHRoZWlyIG1pbmRz LiAgKi8KLSN1bmRlZiBTUEFSQ19SRUxBWEVEX09SREVSSU5HCi0jZGVmaW5l IFNQQVJDX1JFTEFYRURfT1JERVJJTkcgdHJ1ZQotCiAjdW5kZWYgTkVFRF9J TkRJQ0FURV9FWEVDX1NUQUNLCiAjZGVmaW5lIE5FRURfSU5ESUNBVEVfRVhF Q19TVEFDSyAxCiAKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGlu dXg2NC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKaW5kZXggZmE4 MDVmZC4uOGI0YTQzNSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9s aW51eDY0LmgKKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKQEAg LTI1MywxMiArMjUzLDYgQEAgZG8gewkJCQkJCQkJCVwKIC8qIFN0YXRpYyBz dGFjayBjaGVja2luZyBpcyBzdXBwb3J0ZWQgYnkgbWVhbnMgb2YgcHJvYmVz LiAgKi8KICNkZWZpbmUgU1RBQ0tfQ0hFQ0tfU1RBVElDX0JVSUxUSU4gMQog Ci0vKiBMaW51eCBjdXJyZW50bHkgdXNlcyBSTU8gaW4gdW5pcHJvY2Vzc29y IG1vZGUsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8KLSAgIFRNTywgYW5kIFRN TyBpbiBtdWx0aXByb2Nlc3NvciBtb2RlLiAgQnV0IHRoZXkgcmVzZXJ2ZSB0 aGUgcmlnaHQgdG8KLSAgIGNoYW5nZSB0aGVpciBtaW5kcy4gICovCi0jdW5k ZWYgU1BBUkNfUkVMQVhFRF9PUkRFUklORwotI2RlZmluZSBTUEFSQ19SRUxB WEVEX09SREVSSU5HIHRydWUKLQogI3VuZGVmIE5FRURfSU5ESUNBVEVfRVhF Q19TVEFDSwogI2RlZmluZSBORUVEX0lORElDQVRFX0VYRUNfU1RBQ0sgMQog CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL3NwYXJjLmMgYi9nY2Mv Y29uZmlnL3NwYXJjL3NwYXJjLmMKaW5kZXggYTE1NjJhZC4uMDk0Mjg3ZiAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9zcGFyYy5jCisrKyBiL2dj Yy9jb25maWcvc3BhcmMvc3BhcmMuYwpAQCAtODA4LDkgKzgwOCw2IEBAIGNo YXIgc3BhcmNfaGFyZF9yZWdfcHJpbnRlZFs4XTsKICNkZWZpbmUgVEFSR0VU X0FUVFJJQlVURV9UQUJMRSBzcGFyY19hdHRyaWJ1dGVfdGFibGUKICNlbmRp ZgogCi0jdW5kZWYgVEFSR0VUX1JFTEFYRURfT1JERVJJTkcKLSNkZWZpbmUg VEFSR0VUX1JFTEFYRURfT1JERVJJTkcgU1BBUkNfUkVMQVhFRF9PUkRFUklO RwotCiAjdW5kZWYgVEFSR0VUX09QVElPTl9PVkVSUklERQogI2RlZmluZSBU QVJHRVRfT1BUSU9OX09WRVJSSURFIHNwYXJjX29wdGlvbl9vdmVycmlkZQog CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL3NwYXJjLmggYi9nY2Mv Y29uZmlnL3NwYXJjL3NwYXJjLmgKaW5kZXggY2UxYjY4Yi4uZmQyNDQzMSAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9zcGFyYy5oCisrKyBiL2dj Yy9jb25maWcvc3BhcmMvc3BhcmMuaApAQCAtMTA2LDE3ICsxMDYsNiBAQCBl eHRlcm4gZW51bSBjbW9kZWwgc3BhcmNfY21vZGVsOwogCiAjZGVmaW5lIFNQ QVJDX0RFRkFVTFRfQ01PREVMIENNXzMyCiAKLS8qIFRoZSBTUEFSQy1WOSBh cmNoaXRlY3R1cmUgZGVmaW5lcyBhIHJlbGF4ZWQgbWVtb3J5IG9yZGVyaW5n IG1vZGVsIChSTU8pCi0gICB3aGljaCByZXF1aXJlcyB0aGUgZm9sbG93aW5n IG1hY3JvIHRvIGJlIHRydWUgaWYgZW5hYmxlZC4gIFByaW9yIHRvIFY5LAot ICAgdGhlcmUgYXJlIG5vIGluc3RydWN0aW9ucyB0byBldmVuIHRhbGsgYWJv dXQgbWVtb3J5IHN5bmNocm9uaXphdGlvbi4KLSAgIE5vdGUgdGhhdCB0aGUg VWx0cmFTUEFSQyBJSUkgcHJvY2Vzc29ycyBkb24ndCBpbXBsZW1lbnQgUk1P LCB1bmxpa2UgdGhlCi0gICBVbHRyYVNQQVJDIElJIHByb2Nlc3NvcnMuICBO aWFnYXJhLCBOaWFnYXJhLTIsIGFuZCBOaWFnYXJhLTMgZG8gbm90Ci0gICBp bXBsZW1lbnQgUk1PIGVpdGhlci4KLQotICAgRGVmYXVsdCB0byBmYWxzZTsg Zm9yIGV4YW1wbGUsIFNvbGFyaXMgbmV2ZXIgZW5hYmxlcyBSTU8sIG9ubHkg ZXZlciB1c2VzCi0gICB0b3RhbCBtZW1vcnkgb3JkZXJpbmcgKFRNTykuICAq LwotI2RlZmluZSBTUEFSQ19SRUxBWEVEX09SREVSSU5HIGZhbHNlCi0KIC8q IERvIG5vdCB1c2UgdGhlIC5ub3RlLkdOVS1zdGFjayBjb252ZW50aW9uIGJ5 IGRlZmF1bHQuICAqLwogI2RlZmluZSBORUVEX0lORElDQVRFX0VYRUNfU1RB Q0sgMAogCmRpZmYgLS1naXQgYS9nY2MvY3AvZGVjbC5jIGIvZ2NjL2NwL2Rl Y2wuYwppbmRleCA1Mzk2OTk0Li5mYWQ1OTk3IDEwMDY0NAotLS0gYS9nY2Mv Y3AvZGVjbC5jCisrKyBiL2djYy9jcC9kZWNsLmMKQEAgLTcyMDYsNyArNzIw Niw3IEBAIGV4cGFuZF9zdGF0aWNfaW5pdCAodHJlZSBkZWNsLCB0cmVlIGlu aXQpCiAJIGxvb2tzIGxpa2U6CiAKIAkgICBzdGF0aWMgPHR5cGU+IGd1YXJk OwotCSAgIGlmICghZ3VhcmQuZmlyc3RfYnl0ZSkgeworCSAgIGlmICghX19h dG9taWNfbG9hZCAoZ3VhcmQuZmlyc3RfYnl0ZSwgTUVNTU9ERUxfQUNRVUlS RSkpIHsKIAkgICAgIGlmIChfX2N4YV9ndWFyZF9hY3F1aXJlICgmZ3VhcmQp KSB7CiAJICAgICAgIGJvb2wgZmxhZyA9IGZhbHNlOwogCSAgICAgICB0cnkg ewpAQCAtNzIzNiwxNiArNzIzNiwxMCBAQCBleHBhbmRfc3RhdGljX2luaXQg KHRyZWUgZGVjbCwgdHJlZSBpbml0KQogICAgICAgLyogQ3JlYXRlIHRoZSBn dWFyZCB2YXJpYWJsZS4gICovCiAgICAgICBndWFyZCA9IGdldF9ndWFyZCAo ZGVjbCk7CiAKLSAgICAgIC8qIFRoaXMgb3B0aW1pemF0aW9uIGlzbid0IHNh ZmUgb24gdGFyZ2V0cyB3aXRoIHJlbGF4ZWQgbWVtb3J5Ci0JIGNvbnNpc3Rl bmN5LiAgT24gc3VjaCB0YXJnZXRzIHdlIGZvcmNlIHN5bmNocm9uaXphdGlv biBpbgotCSBfX2N4YV9ndWFyZF9hY3F1aXJlLiAgKi8KLSAgICAgIGlmICgh dGFyZ2V0bS5yZWxheGVkX29yZGVyaW5nIHx8ICF0aHJlYWRfZ3VhcmQpCi0J ewotCSAgLyogQmVnaW4gdGhlIGNvbmRpdGlvbmFsIGluaXRpYWxpemF0aW9u LiAgKi8KLQkgIGlmX3N0bXQgPSBiZWdpbl9pZl9zdG10ICgpOwotCSAgZmlu aXNoX2lmX3N0bXRfY29uZCAoZ2V0X2d1YXJkX2NvbmQgKGd1YXJkKSwgaWZf c3RtdCk7Ci0JICB0aGVuX2NsYXVzZSA9IGJlZ2luX2NvbXBvdW5kX3N0bXQg KEJDU19OT19TQ09QRSk7Ci0JfQorICAgICAgLyogQmVnaW4gdGhlIGNvbmRp dGlvbmFsIGluaXRpYWxpemF0aW9uLiAgKi8KKyAgICAgIGlmX3N0bXQgPSBi ZWdpbl9pZl9zdG10ICgpOworICAgICAgZmluaXNoX2lmX3N0bXRfY29uZCAo Z2V0X2d1YXJkX2NvbmQgKGd1YXJkKSwgaWZfc3RtdCk7CisgICAgICB0aGVu X2NsYXVzZSA9IGJlZ2luX2NvbXBvdW5kX3N0bXQgKEJDU19OT19TQ09QRSk7 CiAKICAgICAgIGlmICh0aHJlYWRfZ3VhcmQpCiAJewpAQCAtNzMxNCwxMiAr NzMwOCw5IEBAIGV4cGFuZF9zdGF0aWNfaW5pdCAodHJlZSBkZWNsLCB0cmVl IGluaXQpCiAJICBmaW5pc2hfaWZfc3RtdCAoaW5uZXJfaWZfc3RtdCk7CiAJ fQogCi0gICAgICBpZiAoIXRhcmdldG0ucmVsYXhlZF9vcmRlcmluZyB8fCAh dGhyZWFkX2d1YXJkKQotCXsKLQkgIGZpbmlzaF9jb21wb3VuZF9zdG10ICh0 aGVuX2NsYXVzZSk7Ci0JICBmaW5pc2hfdGhlbl9jbGF1c2UgKGlmX3N0bXQp OwotCSAgZmluaXNoX2lmX3N0bXQgKGlmX3N0bXQpOwotCX0KKyAgICAgIGZp bmlzaF9jb21wb3VuZF9zdG10ICh0aGVuX2NsYXVzZSk7CisgICAgICBmaW5p c2hfdGhlbl9jbGF1c2UgKGlmX3N0bXQpOworICAgICAgZmluaXNoX2lmX3N0 bXQgKGlmX3N0bXQpOwogICAgIH0KICAgZWxzZSBpZiAoREVDTF9USFJFQURf TE9DQUxfUCAoZGVjbCkpCiAgICAgdGxzX2FnZ3JlZ2F0ZXMgPSB0cmVlX2Nv bnMgKGluaXQsIGRlY2wsIHRsc19hZ2dyZWdhdGVzKTsKZGlmZiAtLWdpdCBh L2djYy9jcC9kZWNsMi5jIGIvZ2NjL2NwL2RlY2wyLmMKaW5kZXggZjFiM2Qw Yy4uNDk5N2ZjNiAxMDA2NDQKLS0tIGEvZ2NjL2NwL2RlY2wyLmMKKysrIGIv Z2NjL2NwL2RlY2wyLmMKQEAgLTMwNTYsNiArMzA1NiwzMiBAQCBnZXRfZ3Vh cmRfYml0cyAodHJlZSBndWFyZCkKICAgcmV0dXJuIGd1YXJkOwogfQogCitz dGF0aWMgdHJlZQorYnVpbGRfYXRvbWljX2xvYWQgKHRyZWUgc3JjLCBIT1NU X1dJREVfSU5UIG1vZGVsKQoreworICB0cmVlIHB0cl90eXBlCisgICAgPSBi dWlsZF9wb2ludGVyX3R5cGUKKyAgICAgIChidWlsZF9xdWFsaWZpZWRfdHlw ZSAodm9pZF90eXBlX25vZGUsIFRZUEVfUVVBTF9WT0xBVElMRSkpOworICB0 cmVlIG1lbV9tb2RlbCA9IGJ1aWxkX2ludF9jc3QgKGludGVnZXJfdHlwZV9u b2RlLCBtb2RlbCk7CisgIHRyZWUgb3JpZ19zcmMgPSBzcmM7CisgIHRyZWUg dCwgYWRkciwgdmFsOworICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgaW50IGZu Y29kZTsKKworICBzaXplID0gdHJlZV90b191aHdpIChUWVBFX1NJWkVfVU5J VCAoVFJFRV9UWVBFIChzcmMpKSk7CisKKyAgZm5jb2RlID0gQlVJTFRfSU5f QVRPTUlDX0xPQURfTiArIGV4YWN0X2xvZzIgKHNpemUpICsgMTsKKyAgdCA9 IGJ1aWx0aW5fZGVjbF9pbXBsaWNpdCAoKGVudW0gYnVpbHRfaW5fZnVuY3Rp b24pIGZuY29kZSk7CisKKyAgYWRkciA9IGJ1aWxkMSAoQUREUl9FWFBSLCBw dHJfdHlwZSwgc3JjKTsKKyAgdmFsID0gYnVpbGRfY2FsbF9leHByICh0LCAy LCBhZGRyLCBtZW1fbW9kZWwpOworCisgIC8qIEZpcnN0IHJlaW50ZXJwcmV0 IHRoZSBsb2FkZWQgYml0cyBpbiB0aGUgb3JpZ2luYWwgdHlwZSBvZiB0aGUg bG9hZCwKKyAgICAgdGhlbiBjb252ZXJ0IHRvIHRoZSBleHBlY3RlZCByZXN1 bHQgdHlwZS4gICovCisgIHQgPSBmb2xkX2J1aWxkMSAoVklFV19DT05WRVJU X0VYUFIsIFRSRUVfVFlQRSAoc3JjKSwgdmFsKTsKKyAgcmV0dXJuIGNvbnZl cnQgKFRSRUVfVFlQRSAob3JpZ19zcmMpLCB0KTsKK30KKwogLyogUmV0dXJu IGFuIGV4cHJlc3Npb24gd2hpY2ggZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5v dCB0aGUgR1VBUkQKICAgIHZhcmlhYmxlIGhhcyBhbHJlYWR5IGJlZW4gaW5p dGlhbGl6ZWQuICAqLwogCkBAIC0zMDY0LDYgKzMwOTAsOSBAQCBnZXRfZ3Vh cmRfY29uZCAodHJlZSBndWFyZCkKIHsKICAgdHJlZSBndWFyZF92YWx1ZTsK IAorICAvKiBMb2FkIHRoZSBndWFyZCB2YWx1ZSBvbmx5IHRocm91Z2ggYW4g YXRvbWljIGFjcXVpcmUgbG9hZC4gICovCisgIGd1YXJkID0gYnVpbGRfYXRv bWljX2xvYWQgKGd1YXJkLCBNRU1NT0RFTF9BQ1FVSVJFKTsKKwogICAvKiBD aGVjayB0byBzZWUgaWYgdGhlIEdVQVJEIGlzIHplcm8uICAqLwogICBndWFy ZCA9IGdldF9ndWFyZF9iaXRzIChndWFyZCk7CiAKZGlmZiAtLWdpdCBhL2dj Yy9kb2MvdG0udGV4aSBiL2djYy9kb2MvdG0udGV4aQppbmRleCBmMmYzNDk3 Li5hMTZjZDkyIDEwMDY0NAotLS0gYS9nY2MvZG9jL3RtLnRleGkKKysrIGIv Z2NjL2RvYy90bS50ZXhpCkBAIC0xMTM5NSwxNiArMTEzOTUsNiBAQCByb3V0 aW5lIGZvciB0YXJnZXQgc3BlY2lmaWMgY3VzdG9taXphdGlvbnMgb2YgdGhl IHN5c3RlbSBwcmludGYKIGFuZCBzY2FuZiBmb3JtYXR0ZXIgc2V0dGluZ3Mu CiBAZW5kIGRlZm1hYwogCi1AZGVmdHlwZXZyIHtUYXJnZXQgSG9va30gYm9v bCBUQVJHRVRfUkVMQVhFRF9PUkRFUklORwotSWYgc2V0IHRvIEBjb2Rle3Ry dWV9LCBtZWFucyB0aGF0IHRoZSB0YXJnZXQncyBtZW1vcnkgbW9kZWwgZG9l cyBub3QKLWd1YXJhbnRlZSB0aGF0IGxvYWRzIHdoaWNoIGRvIG5vdCBkZXBl bmQgb24gb25lIGFub3RoZXIgd2lsbCBhY2Nlc3MKLW1haW4gbWVtb3J5IGlu IHRoZSBvcmRlciBvZiB0aGUgaW5zdHJ1Y3Rpb24gc3RyZWFtOyBpZiBvcmRl cmluZyBpcwotaW1wb3J0YW50LCBhbiBleHBsaWNpdCBtZW1vcnkgYmFycmll ciBtdXN0IGJlIHVzZWQuICBUaGlzIGlzIHRydWUgb2YKLW1hbnkgcmVjZW50 IHByb2Nlc3NvcnMgd2hpY2ggaW1wbGVtZW50IGEgcG9saWN5IG9mIGBgcmVs YXhlZCwnJwotYGB3ZWFrLCcnIG9yIGBgcmVsZWFzZScnIG1lbW9yeSBjb25z aXN0ZW5jeSwgc3VjaCBhcyBBbHBoYSwgUG93ZXJQQywKLWFuZCBpYTY0LiAg VGhlIGRlZmF1bHQgaXMgQGNvZGV7ZmFsc2V9LgotQGVuZCBkZWZ0eXBldnIK LQogQGRlZnR5cGVmbiB7VGFyZ2V0IEhvb2t9IHtjb25zdCBjaGFyICp9IFRB UkdFVF9JTlZBTElEX0FSR19GT1JfVU5QUk9UT1RZUEVEX0ZOIChjb25zdF90 cmVlIEB2YXJ7dHlwZWxpc3R9LCBjb25zdF90cmVlIEB2YXJ7ZnVuY2RlY2x9 LCBjb25zdF90cmVlIEB2YXJ7dmFsfSkKIElmIGRlZmluZWQsIHRoaXMgbWFj cm8gcmV0dXJucyB0aGUgZGlhZ25vc3RpYyBtZXNzYWdlIHdoZW4gaXQgaXMK IGlsbGVnYWwgdG8gcGFzcyBhcmd1bWVudCBAdmFye3ZhbH0gdG8gZnVuY3Rp b24gQHZhcntmdW5jZGVjbH0KZGlmZiAtLWdpdCBhL2djYy9kb2MvdG0udGV4 aS5pbiBiL2djYy9kb2MvdG0udGV4aS5pbgppbmRleCAzNWIwMmI3Li45M2Zi NDFjIDEwMDY0NAotLS0gYS9nY2MvZG9jL3RtLnRleGkuaW4KKysrIGIvZ2Nj L2RvYy90bS50ZXhpLmluCkBAIC04MTQzLDggKzgxNDMsNiBAQCByb3V0aW5l IGZvciB0YXJnZXQgc3BlY2lmaWMgY3VzdG9taXphdGlvbnMgb2YgdGhlIHN5 c3RlbSBwcmludGYKIGFuZCBzY2FuZiBmb3JtYXR0ZXIgc2V0dGluZ3MuCiBA ZW5kIGRlZm1hYwogCi1AaG9vayBUQVJHRVRfUkVMQVhFRF9PUkRFUklORwot CiBAaG9vayBUQVJHRVRfSU5WQUxJRF9BUkdfRk9SX1VOUFJPVE9UWVBFRF9G TgogCiBAaG9vayBUQVJHRVRfSU5WQUxJRF9DT05WRVJTSU9OCmRpZmYgLS1n aXQgYS9nY2MvdGFyZ2V0LmRlZiBiL2djYy90YXJnZXQuZGVmCmluZGV4IGYy Y2I4MWQuLmI2MDZiODEgMTAwNjQ0Ci0tLSBhL2djYy90YXJnZXQuZGVmCisr KyBiL2djYy90YXJnZXQuZGVmCkBAIC01Nzg1LDE5ICs1Nzg1LDYgQEAgZm9y IHRoZSBwcmltYXJ5IHNvdXJjZSBmaWxlLCBpbW1lZGlhdGVseSBhZnRlciBw cmludGluZ1xuXAogdGhpcyB0byBiZSBkb25lLiAgVGhlIGRlZmF1bHQgaXMg ZmFsc2UuIiwKICBib29sLCBmYWxzZSkKIAotLyogVHJ1ZSBpZiB0aGUgdGFy Z2V0IGlzIGFsbG93ZWQgdG8gcmVvcmRlciBtZW1vcnkgYWNjZXNzZXMgdW5s ZXNzCi0gICBzeW5jaHJvbml6YXRpb24gaXMgZXhwbGljaXRseSByZXF1ZXN0 ZWQuICAqLwotREVGSE9PS1BPRAotKHJlbGF4ZWRfb3JkZXJpbmcsCi0gIklm IHNldCB0byBAY29kZXt0cnVlfSwgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0J3Mg bWVtb3J5IG1vZGVsIGRvZXMgbm90XG5cCi1ndWFyYW50ZWUgdGhhdCBsb2Fk cyB3aGljaCBkbyBub3QgZGVwZW5kIG9uIG9uZSBhbm90aGVyIHdpbGwgYWNj ZXNzXG5cCi1tYWluIG1lbW9yeSBpbiB0aGUgb3JkZXIgb2YgdGhlIGluc3Ry dWN0aW9uIHN0cmVhbTsgaWYgb3JkZXJpbmcgaXNcblwKLWltcG9ydGFudCwg YW4gZXhwbGljaXQgbWVtb3J5IGJhcnJpZXIgbXVzdCBiZSB1c2VkLiAgVGhp cyBpcyB0cnVlIG9mXG5cCi1tYW55IHJlY2VudCBwcm9jZXNzb3JzIHdoaWNo IGltcGxlbWVudCBhIHBvbGljeSBvZiBgYHJlbGF4ZWQsJydcblwKLWBgd2Vh aywnJyBvciBgYHJlbGVhc2UnJyBtZW1vcnkgY29uc2lzdGVuY3ksIHN1Y2gg YXMgQWxwaGEsIFBvd2VyUEMsXG5cCi1hbmQgaWE2NC4gIFRoZSBkZWZhdWx0 IGlzIEBjb2Rle2ZhbHNlfS4iLAotIGJvb2wsIGZhbHNlKQotCiAvKiBSZXR1 cm5zIHRydWUgaWYgd2Ugc2hvdWxkIGdlbmVyYXRlIGV4Y2VwdGlvbiB0YWJs ZXMgZm9yIHVzZSB3aXRoIHRoZQogICAgQVJNIEVBQkkuICBUaGUgZWZmZWN0 cyB0aGUgZW5jb2Rpbmcgb2YgZnVuY3Rpb24gZXhjZXB0aW9uIHNwZWNpZmlj YXRpb25zLiAgKi8KIERFRkhPT0tQT0QK --------------060106050109010901080503--