From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10970 invoked by alias); 20 Aug 2015 09:31:47 -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 10953 invoked by uid 89); 20 Aug 2015 09:31:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL,BAYES_50,KAM_ASCII_DIVIDERS,RP_MATCHES_RCVD,SPF_PASS autolearn=no version=3.3.2 X-HELO: szxga01-in.huawei.com Received: from szxga01-in.huawei.com (HELO szxga01-in.huawei.com) (58.251.152.64) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Thu, 20 Aug 2015 09:31:43 +0000 Received: from 172.24.1.47 (EHLO SZXEMA413-HUB.china.huawei.com) ([172.24.1.47]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CTL52504; Thu, 20 Aug 2015 17:31:34 +0800 (CST) Received: from SZXEMA507-MBX.china.huawei.com ([169.254.5.36]) by SZXEMA413-HUB.china.huawei.com ([10.82.72.72]) with mapi id 14.03.0235.001; Thu, 20 Aug 2015 17:31:22 +0800 From: "Yangfei (Felix)" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , Jiangjiji Subject: Re: [PATCH] Only accept BUILT_IN_NORMAL stringops for interesting_stringop_to_profile_p Date: Thu, 20 Aug 2015 09:37:00 -0000 Message-ID: References: In-Reply-To: Content-Type: multipart/mixed; boundary="_002_DA41BE1DDCA941489001C7FBD7A8820E8381E7ADszxema507mbxchi_" MIME-Version: 1.0 X-CFilter-Loop: Reflected X-SW-Source: 2015-08/txt/msg01179.txt.bz2 --_002_DA41BE1DDCA941489001C7FBD7A8820E8381E7ADszxema507mbxchi_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-length: 12416 VGhhbmtzIGZvciB0aGUgY29tbWVudHMuICBBdHRhY2hlZCBwbGVhc2UgZmlu ZCB0aGUgdXBkYXRlZCBwYXRjaC4gIE9LPyANCg0KDQpJbmRleDogZ2NjL3Zh bHVlLXByb2YuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy92 YWx1ZS1wcm9mLmMJKHJldmlzaW9uIDE0MTA4MSkNCisrKyBnY2MvdmFsdWUt cHJvZi5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMjA5LDcgKzIwOSw2IEBAIGdp bXBsZV9hZGRfaGlzdG9ncmFtX3ZhbHVlIChzdHJ1Y3QgZnVuY3Rpb24gKmZ1 biwNCiAgIGhpc3QtPmZ1biA9IGZ1bjsNCiB9DQogDQotDQogLyogUmVtb3Zl IGhpc3RvZ3JhbSBISVNUIGZyb20gU1RNVCdzIGhpc3RvZ3JhbSBsaXN0LiAg Ki8NCiANCiB2b2lkDQpAQCAtMjM0LDcgKzIzMyw2IEBAIGdpbXBsZV9yZW1v dmVfaGlzdG9ncmFtX3ZhbHVlIChzdHJ1Y3QgZnVuY3Rpb24gKmZ1DQogICBm cmVlIChoaXN0KTsNCiB9DQogDQotDQogLyogTG9va3VwIGhpc3RvZ3JhbSBv ZiB0eXBlIFRZUEUgaW4gdGhlIFNUTVQuICAqLw0KIA0KIGhpc3RvZ3JhbV92 YWx1ZQ0KQEAgLTM4OSw2ICszODcsNyBAQCBzdHJlYW1fb3V0X2hpc3RvZ3Jh bV92YWx1ZSAoc3RydWN0IG91dHB1dF9ibG9jayAqbw0KICAgaWYgKGhpc3Qt Pmh2YWx1ZS5uZXh0KQ0KICAgICBzdHJlYW1fb3V0X2hpc3RvZ3JhbV92YWx1 ZSAob2IsIGhpc3QtPmh2YWx1ZS5uZXh0KTsNCiB9DQorDQogLyogRHVtcCBp bmZvcm1hdGlvbiBhYm91dCBISVNUIHRvIERVTVBfRklMRS4gICovDQogDQog dm9pZA0KQEAgLTQ4OCw3ICs0ODcsNiBAQCBnaW1wbGVfZHVwbGljYXRlX3N0 bXRfaGlzdG9ncmFtcyAoc3RydWN0IGZ1bmN0aW9uDQogICAgIH0NCiB9DQog DQotDQogLyogTW92ZSBhbGwgaGlzdG9ncmFtcyBhc3NvY2lhdGVkIHdpdGgg T1NUTVQgdG8gU1RNVC4gICovDQogDQogdm9pZA0KQEAgLTUyOSw3ICs1Mjcs NiBAQCB2aXNpdF9oaXN0ICh2b2lkICoqc2xvdCwgdm9pZCAqZGF0YSkNCiAg IHJldHVybiAxOw0KIH0NCiANCi0NCiAvKiBWZXJpZnkgc2FuaXR5IG9mIHRo ZSBoaXN0b2dyYW1zLiAgKi8NCiANCiBERUJVR19GVU5DVElPTiB2b2lkDQpA QCAtNTk0LDcgKzU5MSw2IEBAIGZyZWVfaGlzdG9ncmFtcyAodm9pZCkNCiAg ICAgfQ0KIH0NCiANCi0NCiAvKiBUaGUgb3ZlcmFsbCBudW1iZXIgb2YgaW52 b2NhdGlvbnMgb2YgdGhlIGNvdW50ZXIgc2hvdWxkIG1hdGNoDQogICAgZXhl Y3V0aW9uIGNvdW50IG9mIGJhc2ljIGJsb2NrLiAgUmVwb3J0IGl0IGFzIGVy cm9yIHJhdGhlciB0aGFuDQogICAgaW50ZXJuYWwgZXJyb3IgYXMgaXQgbWln aHQgbWVhbiB0aGF0IHVzZXIgaGFzIG1pc3VzZWQgdGhlIHByb2ZpbGUNCkBA IC02MzgsNyArNjM0LDYgQEAgY2hlY2tfY291bnRlciAoZ2ltcGxlIHN0bXQs IGNvbnN0IGNoYXIgKiBuYW1lLA0KICAgcmV0dXJuIGZhbHNlOw0KIH0NCiAN Ci0NCiAvKiBHSU1QTEUgYmFzZWQgdHJhbnNmb3JtYXRpb25zLiAqLw0KIA0K IGJvb2wNCkBAIC02OTcsNyArNjkyLDYgQEAgZ2ltcGxlX3ZhbHVlX3Byb2Zp bGVfdHJhbnNmb3JtYXRpb25zICh2b2lkKQ0KICAgcmV0dXJuIGNoYW5nZWQ7 DQogfQ0KIA0KLQ0KIC8qIEdlbmVyYXRlIGNvZGUgZm9yIHRyYW5zZm9ybWF0 aW9uIDEgKHdpdGggcGFyZW50IGdpbXBsZSBhc3NpZ25tZW50DQogICAgU1RN VCBhbmQgcHJvYmFiaWxpdHkgb2YgdGFraW5nIHRoZSBvcHRpbWFsIHBhdGgg UFJPQiwgd2hpY2ggaXMNCiAgICBlcXVpdmFsZW50IHRvIENPVU5UL0FMTCB3 aXRoaW4gcm91bmRvZmYgZXJyb3IpLiAgVGhpcyBnZW5lcmF0ZXMgdGhlDQpA QCAtODU5LDYgKzg1Myw3IEBAIGdpbXBsZV9kaXZtb2RfZml4ZWRfdmFsdWVf dHJhbnNmb3JtIChnaW1wbGVfc3RtdF9pDQogICAgcHJvYmFiaWxpdHkgb2Yg dGFraW5nIHRoZSBvcHRpbWFsIHBhdGggUFJPQiwgd2hpY2ggaXMgZXF1aXZh bGVudCB0byBDT1VOVC9BTEwNCiAgICB3aXRoaW4gcm91bmRvZmYgZXJyb3Ip LiAgVGhpcyBnZW5lcmF0ZXMgdGhlIHJlc3VsdCBpbnRvIGEgdGVtcCBhbmQg cmV0dXJucw0KICAgIHRoZSB0ZW1wOyBpdCBkb2VzIG5vdCByZXBsYWNlIG9y IGFsdGVyIHRoZSBvcmlnaW5hbCBTVE1ULiAgKi8NCisNCiBzdGF0aWMgdHJl ZQ0KIGdpbXBsZV9tb2RfcG93MiAoZ2ltcGxlIHN0bXQsIGludCBwcm9iLCBn Y292X3R5cGUgY291bnQsIGdjb3ZfdHlwZSBhbGwpDQogew0KQEAgLTkzOCw2 ICs5MzMsNyBAQCBnaW1wbGVfbW9kX3BvdzIgKGdpbXBsZSBzdG10LCBpbnQg cHJvYiwgZ2Nvdl90eXBlDQogfQ0KIA0KIC8qIERvIHRyYW5zZm9ybSAyKSBv biBJTlNOIGlmIGFwcGxpY2FibGUuICAqLw0KKw0KIHN0YXRpYyBib29sDQog Z2ltcGxlX21vZF9wb3cyX3ZhbHVlX3RyYW5zZm9ybSAoZ2ltcGxlX3N0bXRf aXRlcmF0b3IgKnNpKQ0KIHsNCkBAIC0xNTQwLDE1ICsxNTM2LDE1IEBAIGdp bXBsZV9pY190cmFuc2Zvcm0gKGdpbXBsZV9zdG10X2l0ZXJhdG9yICpnc2kp DQogICByZXR1cm4gdHJ1ZTsNCiB9DQogDQotLyogUmV0dXJuIHRydWUgaWYg dGhlIHN0cmluZ29wIENBTEwgd2l0aCBGTkRFQ0wgc2hhbGwgYmUgcHJvZmls ZWQuDQotICAgU0laRV9BUkcgYmUgc2V0IHRvIHRoZSBhcmd1bWVudCBpbmRl eCBmb3IgdGhlIHNpemUgb2YgdGhlIHN0cmluZw0KLSAgIG9wZXJhdGlvbi4N Ci0qLw0KKy8qIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmdvcCBDQUxMIHNo YWxsIGJlIHByb2ZpbGVkLiAgU0laRV9BUkcgYmUNCisgICBzZXQgdG8gdGhl IGFyZ3VtZW50IGluZGV4IGZvciB0aGUgc2l6ZSBvZiB0aGUgc3RyaW5nIG9w ZXJhdGlvbi4gICovDQorDQogc3RhdGljIGJvb2wNCi1pbnRlcmVzdGluZ19z dHJpbmdvcF90b19wcm9maWxlX3AgKHRyZWUgZm5kZWNsLCBnaW1wbGUgY2Fs bCwgaW50ICpzaXplX2FyZykNCitpbnRlcmVzdGluZ19zdHJpbmdvcF90b19w cm9maWxlX3AgKGdpbXBsZSBjYWxsLCBpbnQgKnNpemVfYXJnKQ0KIHsNCi0g IGVudW0gYnVpbHRfaW5fZnVuY3Rpb24gZmNvZGUgPSBERUNMX0ZVTkNUSU9O X0NPREUgKGZuZGVjbCk7DQorICBlbnVtIGJ1aWx0X2luX2Z1bmN0aW9uIGZj b2RlOw0KIA0KKyAgZmNvZGUgPSBERUNMX0ZVTkNUSU9OX0NPREUgKGdpbXBs ZV9jYWxsX2ZuZGVjbCAoY2FsbCkpOw0KICAgaWYgKGZjb2RlICE9IEJVSUxU X0lOX01FTUNQWSAmJiBmY29kZSAhPSBCVUlMVF9JTl9NRU1QQ1BZDQogICAg ICAgJiYgZmNvZGUgIT0gQlVJTFRfSU5fTUVNU0VUICYmIGZjb2RlICE9IEJV SUxUX0lOX0JaRVJPKQ0KICAgICByZXR1cm4gZmFsc2U7DQpAQCAtMTU3Myw3 ICsxNTY5LDcgQEAgc3RhdGljIGJvb2wNCiAgICAgfQ0KIH0NCiANCi0vKiBD b252ZXJ0ICAgc3RyaW5nb3AgKC4uLiwgdmNhbGxfc2l6ZSkNCisvKiBDb252 ZXJ0IHN0cmluZ29wICguLi4sIHZjYWxsX3NpemUpDQogICAgaW50bw0KICAg IGlmICh2Y2FsbF9zaXplID09IGljYWxsX3NpemUpDQogICAgICBzdHJpbmdv cCAoLi4uLCBpY2FsbF9zaXplKTsNCkBAIC0xNTkwLDExICsxNTg2LDkgQEAg Z2ltcGxlX3N0cmluZ29wX2ZpeGVkX3ZhbHVlIChnaW1wbGUgdmNhbGxfc3Rt dCwgdHINCiAgIGJhc2ljX2Jsb2NrIGNvbmRfYmIsIGljYWxsX2JiLCB2Y2Fs bF9iYiwgam9pbl9iYjsNCiAgIGVkZ2UgZV9jaSwgZV9jdiwgZV9pdiwgZV9p aiwgZV92ajsNCiAgIGdpbXBsZV9zdG10X2l0ZXJhdG9yIGdzaTsNCi0gIHRy ZWUgZm5kZWNsOw0KICAgaW50IHNpemVfYXJnOw0KIA0KLSAgZm5kZWNsID0g Z2ltcGxlX2NhbGxfZm5kZWNsICh2Y2FsbF9zdG10KTsNCi0gIGlmICghaW50 ZXJlc3Rpbmdfc3RyaW5nb3BfdG9fcHJvZmlsZV9wIChmbmRlY2wsIHZjYWxs X3N0bXQsICZzaXplX2FyZykpDQorICBpZiAoIWludGVyZXN0aW5nX3N0cmlu Z29wX3RvX3Byb2ZpbGVfcCAodmNhbGxfc3RtdCwgJnNpemVfYXJnKSkNCiAg ICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KIA0KICAgY29uZF9iYiA9IGdpbXBs ZV9iYiAodmNhbGxfc3RtdCk7DQpAQCAtMTY3MywxMSArMTY2NywxMSBAQCBn aW1wbGVfc3RyaW5nb3BfZml4ZWRfdmFsdWUgKGdpbXBsZSB2Y2FsbF9zdG10 LCB0cg0KIA0KIC8qIEZpbmQgdmFsdWVzIGluc2lkZSBTVE1UIGZvciB0aGF0 IHdlIHdhbnQgdG8gbWVhc3VyZSBoaXN0b2dyYW1zIGZvcg0KICAgIGRpdmlz aW9uL21vZHVsbyBvcHRpbWl6YXRpb24uICAqLw0KKw0KIHN0YXRpYyBib29s DQogZ2ltcGxlX3N0cmluZ29wc190cmFuc2Zvcm0gKGdpbXBsZV9zdG10X2l0 ZXJhdG9yICpnc2kpDQogew0KICAgZ2ltcGxlIHN0bXQgPSBnc2lfc3RtdCAo KmdzaSk7DQotICB0cmVlIGZuZGVjbDsNCiAgIHRyZWUgYmxja19zaXplOw0K ICAgZW51bSBidWlsdF9pbl9mdW5jdGlvbiBmY29kZTsNCiAgIGhpc3RvZ3Jh bV92YWx1ZSBoaXN0b2dyYW07DQpAQCAtMTY4OCwxNCArMTY4MiwxMSBAQCBn aW1wbGVfc3RyaW5nb3BzX3RyYW5zZm9ybSAoZ2ltcGxlX3N0bXRfaXRlcmF0 b3IgKg0KICAgdHJlZSB0cmVlX3ZhbDsNCiAgIGludCBzaXplX2FyZzsNCiAN Ci0gIGlmIChnaW1wbGVfY29kZSAoc3RtdCkgIT0gR0lNUExFX0NBTEwpDQor ICBpZiAoIWdpbXBsZV9jYWxsX2J1aWx0aW5fcCAoc3RtdCwgQlVJTFRfSU5f Tk9STUFMKSkNCiAgICAgcmV0dXJuIGZhbHNlOw0KLSAgZm5kZWNsID0gZ2lt cGxlX2NhbGxfZm5kZWNsIChzdG10KTsNCi0gIGlmICghZm5kZWNsKQ0KKw0K KyAgaWYgKCFpbnRlcmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxlX3AgKHN0 bXQsICZzaXplX2FyZykpDQogICAgIHJldHVybiBmYWxzZTsNCi0gIGZjb2Rl ID0gREVDTF9GVU5DVElPTl9DT0RFIChmbmRlY2wpOw0KLSAgaWYgKCFpbnRl cmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxlX3AgKGZuZGVjbCwgc3RtdCwg JnNpemVfYXJnKSkNCi0gICAgcmV0dXJuIGZhbHNlOw0KIA0KICAgYmxja19z aXplID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCBzaXplX2FyZyk7DQogICBp ZiAoVFJFRV9DT0RFIChibGNrX3NpemUpID09IElOVEVHRVJfQ1NUKQ0KQEAg LTE3MDQsMTAgKzE2OTUsMTIgQEAgZ2ltcGxlX3N0cmluZ29wc190cmFuc2Zv cm0gKGdpbXBsZV9zdG10X2l0ZXJhdG9yICoNCiAgIGhpc3RvZ3JhbSA9IGdp bXBsZV9oaXN0b2dyYW1fdmFsdWVfb2ZfdHlwZSAoY2Z1biwgc3RtdCwgSElT VF9UWVBFX1NJTkdMRV9WQUxVRSk7DQogICBpZiAoIWhpc3RvZ3JhbSkNCiAg ICAgcmV0dXJuIGZhbHNlOw0KKw0KICAgdmFsID0gaGlzdG9ncmFtLT5odmFs dWUuY291bnRlcnNbMF07DQogICBjb3VudCA9IGhpc3RvZ3JhbS0+aHZhbHVl LmNvdW50ZXJzWzFdOw0KICAgYWxsID0gaGlzdG9ncmFtLT5odmFsdWUuY291 bnRlcnNbMl07DQogICBnaW1wbGVfcmVtb3ZlX2hpc3RvZ3JhbV92YWx1ZSAo Y2Z1biwgc3RtdCwgaGlzdG9ncmFtKTsNCisNCiAgIC8qIFdlIHJlcXVpcmUg dGhhdCBjb3VudCBpcyBhdCBsZWFzdCBoYWxmIG9mIGFsbDsgdGhpcyBtZWFu cw0KICAgICAgdGhhdCBmb3IgdGhlIHRyYW5zZm9ybWF0aW9uIHRvIGZpcmUg dGhlIHZhbHVlIG11c3QgYmUgY29uc3RhbnQNCiAgICAgIGF0IGxlYXN0IDgw JSBvZiB0aW1lLiAgKi8NCkBAIC0xNzE5LDggKzE3MTIsMTAgQEAgZ2ltcGxl X3N0cmluZ29wc190cmFuc2Zvcm0gKGdpbXBsZV9zdG10X2l0ZXJhdG9yICoN CiAgICAgcHJvYiA9IEdDT1ZfQ09NUFVURV9TQ0FMRSAoY291bnQsIGFsbCk7 DQogICBlbHNlDQogICAgIHByb2IgPSAwOw0KKw0KICAgZGVzdCA9IGdpbXBs ZV9jYWxsX2FyZyAoc3RtdCwgMCk7DQogICBkZXN0X2FsaWduID0gZ2V0X3Bv aW50ZXJfYWxpZ25tZW50IChkZXN0KTsNCisgIGZjb2RlID0gREVDTF9GVU5D VElPTl9DT0RFIChnaW1wbGVfY2FsbF9mbmRlY2wgKHN0bXQpKTsNCiAgIHN3 aXRjaCAoZmNvZGUpDQogICAgIHsNCiAgICAgY2FzZSBCVUlMVF9JTl9NRU1D UFk6DQpAQCAtMTgxMSw2ICsxODA2LDcgQEAgc3RyaW5nb3BfYmxvY2tfcHJv ZmlsZSAoZ2ltcGxlIHN0bXQsIHVuc2lnbmVkIGludA0KIA0KDQogLyogRmlu ZCB2YWx1ZXMgaW5zaWRlIFNUTVQgZm9yIHRoYXQgd2Ugd2FudCB0byBtZWFz dXJlIGhpc3RvZ3JhbXMgZm9yDQogICAgZGl2aXNpb24vbW9kdWxvIG9wdGlt aXphdGlvbi4gICovDQorDQogc3RhdGljIHZvaWQNCiBnaW1wbGVfZGl2bW9k X3ZhbHVlc190b19wcm9maWxlIChnaW1wbGUgc3RtdCwgaGlzdG9ncmFtX3Zh bHVlcyAqdmFsdWVzKQ0KIHsNCkBAIC0xODkxLDIxICsxODg3LDE4IEBAIGdp bXBsZV9pbmRpcmVjdF9jYWxsX3RvX3Byb2ZpbGUgKGdpbXBsZSBzdG10LCBo aXN0DQogDQogLyogRmluZCB2YWx1ZXMgaW5zaWRlIFNUTVQgZm9yIHRoYXQg d2Ugd2FudCB0byBtZWFzdXJlIGhpc3RvZ3JhbXMgZm9yDQogICAgc3RyaW5n IG9wZXJhdGlvbnMuICAqLw0KKw0KIHN0YXRpYyB2b2lkDQogZ2ltcGxlX3N0 cmluZ29wc192YWx1ZXNfdG9fcHJvZmlsZSAoZ2ltcGxlIHN0bXQsIGhpc3Rv Z3JhbV92YWx1ZXMgKnZhbHVlcykNCiB7DQotICB0cmVlIGZuZGVjbDsNCi0g IHRyZWUgYmxja19zaXplOw0KICAgdHJlZSBkZXN0Ow0KKyAgdHJlZSBibGNr X3NpemU7DQogICBpbnQgc2l6ZV9hcmc7DQogDQotICBpZiAoZ2ltcGxlX2Nv ZGUgKHN0bXQpICE9IEdJTVBMRV9DQUxMKQ0KKyAgaWYgKCFnaW1wbGVfY2Fs bF9idWlsdGluX3AgKHN0bXQsIEJVSUxUX0lOX05PUk1BTCkpDQogICAgIHJl dHVybjsNCi0gIGZuZGVjbCA9IGdpbXBsZV9jYWxsX2ZuZGVjbCAoc3RtdCk7 DQotICBpZiAoIWZuZGVjbCkNCi0gICAgcmV0dXJuOw0KIA0KLSAgaWYgKCFp bnRlcmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxlX3AgKGZuZGVjbCwgc3Rt dCwgJnNpemVfYXJnKSkNCisgIGlmICghaW50ZXJlc3Rpbmdfc3RyaW5nb3Bf dG9fcHJvZmlsZV9wIChzdG10LCAmc2l6ZV9hcmcpKQ0KICAgICByZXR1cm47 DQogDQogICBkZXN0ID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAwKTsNCkBA IC0xOTE5LDYgKzE5MTIsNyBAQCBnaW1wbGVfc3RyaW5nb3BzX3ZhbHVlc190 b19wcm9maWxlIChnaW1wbGUgc3RtdCwgaA0KICAgICAgIHZhbHVlcy0+c2Fm ZV9wdXNoIChnaW1wbGVfYWxsb2NfaGlzdG9ncmFtX3ZhbHVlIChjZnVuLCBI SVNUX1RZUEVfQVZFUkFHRSwNCiAJCQkJCQkgICAgICAgc3RtdCwgYmxja19z aXplKSk7DQogICAgIH0NCisNCiAgIGlmIChUUkVFX0NPREUgKGJsY2tfc2l6 ZSkgIT0gSU5URUdFUl9DU1QpDQogICAgIHZhbHVlcy0+c2FmZV9wdXNoIChn aW1wbGVfYWxsb2NfaGlzdG9ncmFtX3ZhbHVlIChjZnVuLCBISVNUX1RZUEVf SU9SLA0KIAkJCQkJCSAgICAgc3RtdCwgZGVzdCkpOw0KSW5kZXg6IGdjYy9D aGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBnY2MvQ2hh bmdlTG9nCShyZXZpc2lvbiAxNDEwODEpDQorKysgZ2NjL0NoYW5nZUxvZwko d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxMiBAQA0KKzIwMTQtMDgtMjAg IEZlbGl4IFlhbmcgIDxmZWxpeC55YW5nQGh1YXdlaS5jb20+DQorCSAgICBK aWppIEppYW5nICA8amlhbmdqaWppQGh1YXdlaS5jb20+DQorDQorCSogdmFs dWUtcHJvZi5jIChpbnRlcmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxlX3Ap OiBSZW1vdmVkIEZOREVDTCBhcmd1bWVudA0KKwlhbmQgZ2V0IGJ1aWx0aW4g ZnVuY3Rpb24gY29kZSBkaXJlY3RseSBmcm9tIENBTEwuDQorCShnaW1wbGVf c3RyaW5nb3BfZml4ZWRfdmFsdWUpOiBNb2RpZmllZCBhY2NvcmRpbmdseS4N CisJKGdpbXBsZV9zdHJpbmdvcHNfdHJhbnNmb3JtLCBnaW1wbGVfc3RyaW5n b3BzX3ZhbHVlc190b19wcm9maWxlKTogTW9kaWZpZWQNCisJYWNjb3JkaW5n bHkgYW5kIG9ubHkgYWNjZXB0IEJVSUxUX0lOX05PUk1BTCBzdHJpbmcgb3Bl cmF0aW9ucy4NCisNCiAyMDE1LTA4LTE4ICBTZWdoZXIgQm9lc3Nlbmtvb2wg IDxzZWdoZXJAa2VybmVsLmNyYXNoaW5nLm9yZz4NCiANCiAJQmFja3BvcnQg ZnJvbSBtYWlubGluZToNCg0KDQoNCj4gDQo+IE9uIFRodSwgQXVnIDIwLCAy MDE1IGF0IDU6MTcgQU0sIFlhbmdmZWkgKEZlbGl4KSA8ZmVsaXgueWFuZ0Bo dWF3ZWkuY29tPg0KPiB3cm90ZToNCj4gPiBIaSwNCj4gPg0KPiA+ICAgICBB cyBERUNMX0ZVTkNUSU9OX0NPREUgaXMgb3ZlcmxvYWRlZCBmb3IgYnVpbHRp biBmdW5jdGlvbnMgaW4gZGlmZmVyZW50DQo+IGNsYXNzZXMsIHNvIG5lZWQg dG8gY2hlY2sgYnVpbHRpbiBjbGFzcyBiZWZvcmUgdXNpbmcgZmNvZGUuDQo+ ID4gICAgIFBhdGNoIHBvc3RlZCBiZWxvdy4gIEJvb3RzdHJhcHBlZCBvbiB4 ODZfNjQtc3VzZS1saW51eCwgT0sgZm9yIHRydW5rPw0KPiA+ICAgICBUaGFu a3MuDQo+IA0KPiBVZ2guICBUaGUgY29kZSBpbiB0aGUgY2FsbGVycyBhbHJl YWR5IGxvb2tzIGxpa2UgaXQgY291bGQgaGF2ZSBzb21lIFRMQywgbGlrZQ0K PiBpbnN0ZWFkIG9mDQo+IA0KPiAgIGZuZGVjbCA9IGdpbXBsZV9jYWxsX2Zu ZGVjbCAoc3RtdCk7DQo+ICAgaWYgKCFmbmRlY2wpDQo+ICAgICByZXR1cm4g ZmFsc2U7DQo+ICAgZmNvZGUgPSBERUNMX0ZVTkNUSU9OX0NPREUgKGZuZGVj bCk7DQo+ICAgaWYgKCFpbnRlcmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxl X3AgKGZuZGVjbCwgc3RtdCwgJnNpemVfYXJnKSkNCj4gICAgIHJldHVybiBm YWxzZTsNCj4gDQo+IHNpbXBseSBkbw0KPiANCj4gICBpZiAoIWdpbXBsZV9j YWxsX2J1aWx0aW5fcCAoc3RtdCwgQlVJTFRfSU5fTk9STUFMKSkNCj4gICAg IHJldHVybiBmYWxzZTsNCj4gICBpZiAoIWludGVyZXN0aW5nX3N0cmluZ29w X3RvX3Byb2ZpbGVfcCAoZ2ltcGxlX2NhbGxfZm5kZWNsIChzdG10KSwgLi4u LikpDQo+IA0KPiBzaW1pbGFyIGZvciB0aGUgb3RoZXIgY2FsbGVyLiAgaW50 ZXJlc3Rpbmdfc3RyaW5nb3BfdG9fcHJvZmlsZV9wIGNhbiBhbHNvIGdldA0K PiBmdW5jdGlvbi1jb2RlIGRpcmVjdGx5IGZyb20gc3RtdCwgcmVtb3Zpbmcg dGhlIHJlZHVuZGFudCBmaXJzdCBhcmd1bWVudCBvciBldmVuDQo+IGRvIHRo ZSBnaW1wbGVfY2FsbF9idWlsdGluX3AgY2FsbCBpdHNlbGYuDQo+IA0KPiBN aW5kIHJld29ya2luZyB0aGUgcGF0Y2ggYWNjb3JkaW5nbHk/DQo+IA0KPiBU aGFua3MsDQo+IFJpY2hhcmQuDQoNCg== --_002_DA41BE1DDCA941489001C7FBD7A8820E8381E7ADszxema507mbxchi_ Content-Type: application/octet-stream; name="patch-v2.diff" Content-Description: patch-v2.diff Content-Disposition: attachment; filename="patch-v2.diff"; size=7706; creation-date="Thu, 20 Aug 2015 09:28:35 GMT"; modification-date="Thu, 20 Aug 2015 09:07:29 GMT" Content-Transfer-Encoding: base64 Content-length: 10448 SW5kZXg6IGdjYy92YWx1ZS1wcm9mLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gZ2NjL3ZhbHVlLXByb2YuYwkocmV2aXNpb24gMTQxMDgxKQorKysg Z2NjL3ZhbHVlLXByb2YuYwkod29ya2luZyBjb3B5KQpAQCAtMjA5LDcgKzIw OSw2IEBAIGdpbXBsZV9hZGRfaGlzdG9ncmFtX3ZhbHVlIChzdHJ1Y3QgZnVu Y3Rpb24gKmZ1biwKICAgaGlzdC0+ZnVuID0gZnVuOwogfQogCi0KIC8qIFJl bW92ZSBoaXN0b2dyYW0gSElTVCBmcm9tIFNUTVQncyBoaXN0b2dyYW0gbGlz dC4gICovCiAKIHZvaWQKQEAgLTIzNCw3ICsyMzMsNiBAQCBnaW1wbGVfcmVt b3ZlX2hpc3RvZ3JhbV92YWx1ZSAoc3RydWN0IGZ1bmN0aW9uICpmdQogICBm cmVlIChoaXN0KTsKIH0KIAotCiAvKiBMb29rdXAgaGlzdG9ncmFtIG9mIHR5 cGUgVFlQRSBpbiB0aGUgU1RNVC4gICovCiAKIGhpc3RvZ3JhbV92YWx1ZQpA QCAtMzg5LDYgKzM4Nyw3IEBAIHN0cmVhbV9vdXRfaGlzdG9ncmFtX3ZhbHVl IChzdHJ1Y3Qgb3V0cHV0X2Jsb2NrICpvCiAgIGlmIChoaXN0LT5odmFsdWUu bmV4dCkKICAgICBzdHJlYW1fb3V0X2hpc3RvZ3JhbV92YWx1ZSAob2IsIGhp c3QtPmh2YWx1ZS5uZXh0KTsKIH0KKwogLyogRHVtcCBpbmZvcm1hdGlvbiBh Ym91dCBISVNUIHRvIERVTVBfRklMRS4gICovCiAKIHZvaWQKQEAgLTQ4OCw3 ICs0ODcsNiBAQCBnaW1wbGVfZHVwbGljYXRlX3N0bXRfaGlzdG9ncmFtcyAo c3RydWN0IGZ1bmN0aW9uCiAgICAgfQogfQogCi0KIC8qIE1vdmUgYWxsIGhp c3RvZ3JhbXMgYXNzb2NpYXRlZCB3aXRoIE9TVE1UIHRvIFNUTVQuICAqLwog CiB2b2lkCkBAIC01MjksNyArNTI3LDYgQEAgdmlzaXRfaGlzdCAodm9pZCAq KnNsb3QsIHZvaWQgKmRhdGEpCiAgIHJldHVybiAxOwogfQogCi0KIC8qIFZl cmlmeSBzYW5pdHkgb2YgdGhlIGhpc3RvZ3JhbXMuICAqLwogCiBERUJVR19G VU5DVElPTiB2b2lkCkBAIC01OTQsNyArNTkxLDYgQEAgZnJlZV9oaXN0b2dy YW1zICh2b2lkKQogICAgIH0KIH0KIAotCiAvKiBUaGUgb3ZlcmFsbCBudW1i ZXIgb2YgaW52b2NhdGlvbnMgb2YgdGhlIGNvdW50ZXIgc2hvdWxkIG1hdGNo CiAgICBleGVjdXRpb24gY291bnQgb2YgYmFzaWMgYmxvY2suICBSZXBvcnQg aXQgYXMgZXJyb3IgcmF0aGVyIHRoYW4KICAgIGludGVybmFsIGVycm9yIGFz IGl0IG1pZ2h0IG1lYW4gdGhhdCB1c2VyIGhhcyBtaXN1c2VkIHRoZSBwcm9m aWxlCkBAIC02MzgsNyArNjM0LDYgQEAgY2hlY2tfY291bnRlciAoZ2ltcGxl IHN0bXQsIGNvbnN0IGNoYXIgKiBuYW1lLAogICByZXR1cm4gZmFsc2U7CiB9 CiAKLQogLyogR0lNUExFIGJhc2VkIHRyYW5zZm9ybWF0aW9ucy4gKi8KIAog Ym9vbApAQCAtNjk3LDcgKzY5Miw2IEBAIGdpbXBsZV92YWx1ZV9wcm9maWxl X3RyYW5zZm9ybWF0aW9ucyAodm9pZCkKICAgcmV0dXJuIGNoYW5nZWQ7CiB9 CiAKLQogLyogR2VuZXJhdGUgY29kZSBmb3IgdHJhbnNmb3JtYXRpb24gMSAo d2l0aCBwYXJlbnQgZ2ltcGxlIGFzc2lnbm1lbnQKICAgIFNUTVQgYW5kIHBy b2JhYmlsaXR5IG9mIHRha2luZyB0aGUgb3B0aW1hbCBwYXRoIFBST0IsIHdo aWNoIGlzCiAgICBlcXVpdmFsZW50IHRvIENPVU5UL0FMTCB3aXRoaW4gcm91 bmRvZmYgZXJyb3IpLiAgVGhpcyBnZW5lcmF0ZXMgdGhlCkBAIC04NTksNiAr ODUzLDcgQEAgZ2ltcGxlX2Rpdm1vZF9maXhlZF92YWx1ZV90cmFuc2Zvcm0g KGdpbXBsZV9zdG10X2kKICAgIHByb2JhYmlsaXR5IG9mIHRha2luZyB0aGUg b3B0aW1hbCBwYXRoIFBST0IsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gQ09V TlQvQUxMCiAgICB3aXRoaW4gcm91bmRvZmYgZXJyb3IpLiAgVGhpcyBnZW5l cmF0ZXMgdGhlIHJlc3VsdCBpbnRvIGEgdGVtcCBhbmQgcmV0dXJucwogICAg dGhlIHRlbXA7IGl0IGRvZXMgbm90IHJlcGxhY2Ugb3IgYWx0ZXIgdGhlIG9y aWdpbmFsIFNUTVQuICAqLworCiBzdGF0aWMgdHJlZQogZ2ltcGxlX21vZF9w b3cyIChnaW1wbGUgc3RtdCwgaW50IHByb2IsIGdjb3ZfdHlwZSBjb3VudCwg Z2Nvdl90eXBlIGFsbCkKIHsKQEAgLTkzOCw2ICs5MzMsNyBAQCBnaW1wbGVf bW9kX3BvdzIgKGdpbXBsZSBzdG10LCBpbnQgcHJvYiwgZ2Nvdl90eXBlCiB9 CiAKIC8qIERvIHRyYW5zZm9ybSAyKSBvbiBJTlNOIGlmIGFwcGxpY2FibGUu ICAqLworCiBzdGF0aWMgYm9vbAogZ2ltcGxlX21vZF9wb3cyX3ZhbHVlX3Ry YW5zZm9ybSAoZ2ltcGxlX3N0bXRfaXRlcmF0b3IgKnNpKQogewpAQCAtMTU0 MCwxNSArMTUzNiwxNSBAQCBnaW1wbGVfaWNfdHJhbnNmb3JtIChnaW1wbGVf c3RtdF9pdGVyYXRvciAqZ3NpKQogICByZXR1cm4gdHJ1ZTsKIH0KIAotLyog UmV0dXJuIHRydWUgaWYgdGhlIHN0cmluZ29wIENBTEwgd2l0aCBGTkRFQ0wg c2hhbGwgYmUgcHJvZmlsZWQuCi0gICBTSVpFX0FSRyBiZSBzZXQgdG8gdGhl IGFyZ3VtZW50IGluZGV4IGZvciB0aGUgc2l6ZSBvZiB0aGUgc3RyaW5nCi0g ICBvcGVyYXRpb24uCi0qLworLyogUmV0dXJuIHRydWUgaWYgdGhlIHN0cmlu Z29wIENBTEwgc2hhbGwgYmUgcHJvZmlsZWQuICBTSVpFX0FSRyBiZQorICAg c2V0IHRvIHRoZSBhcmd1bWVudCBpbmRleCBmb3IgdGhlIHNpemUgb2YgdGhl IHN0cmluZyBvcGVyYXRpb24uICAqLworCiBzdGF0aWMgYm9vbAotaW50ZXJl c3Rpbmdfc3RyaW5nb3BfdG9fcHJvZmlsZV9wICh0cmVlIGZuZGVjbCwgZ2lt cGxlIGNhbGwsIGludCAqc2l6ZV9hcmcpCitpbnRlcmVzdGluZ19zdHJpbmdv cF90b19wcm9maWxlX3AgKGdpbXBsZSBjYWxsLCBpbnQgKnNpemVfYXJnKQog ewotICBlbnVtIGJ1aWx0X2luX2Z1bmN0aW9uIGZjb2RlID0gREVDTF9GVU5D VElPTl9DT0RFIChmbmRlY2wpOworICBlbnVtIGJ1aWx0X2luX2Z1bmN0aW9u IGZjb2RlOwogCisgIGZjb2RlID0gREVDTF9GVU5DVElPTl9DT0RFIChnaW1w bGVfY2FsbF9mbmRlY2wgKGNhbGwpKTsKICAgaWYgKGZjb2RlICE9IEJVSUxU X0lOX01FTUNQWSAmJiBmY29kZSAhPSBCVUlMVF9JTl9NRU1QQ1BZCiAgICAg ICAmJiBmY29kZSAhPSBCVUlMVF9JTl9NRU1TRVQgJiYgZmNvZGUgIT0gQlVJ TFRfSU5fQlpFUk8pCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTU3Myw3ICsx NTY5LDcgQEAgc3RhdGljIGJvb2wKICAgICB9CiB9CiAKLS8qIENvbnZlcnQg ICBzdHJpbmdvcCAoLi4uLCB2Y2FsbF9zaXplKQorLyogQ29udmVydCBzdHJp bmdvcCAoLi4uLCB2Y2FsbF9zaXplKQogICAgaW50bwogICAgaWYgKHZjYWxs X3NpemUgPT0gaWNhbGxfc2l6ZSkKICAgICAgc3RyaW5nb3AgKC4uLiwgaWNh bGxfc2l6ZSk7CkBAIC0xNTkwLDExICsxNTg2LDkgQEAgZ2ltcGxlX3N0cmlu Z29wX2ZpeGVkX3ZhbHVlIChnaW1wbGUgdmNhbGxfc3RtdCwgdHIKICAgYmFz aWNfYmxvY2sgY29uZF9iYiwgaWNhbGxfYmIsIHZjYWxsX2JiLCBqb2luX2Ji OwogICBlZGdlIGVfY2ksIGVfY3YsIGVfaXYsIGVfaWosIGVfdmo7CiAgIGdp bXBsZV9zdG10X2l0ZXJhdG9yIGdzaTsKLSAgdHJlZSBmbmRlY2w7CiAgIGlu dCBzaXplX2FyZzsKIAotICBmbmRlY2wgPSBnaW1wbGVfY2FsbF9mbmRlY2wg KHZjYWxsX3N0bXQpOwotICBpZiAoIWludGVyZXN0aW5nX3N0cmluZ29wX3Rv X3Byb2ZpbGVfcCAoZm5kZWNsLCB2Y2FsbF9zdG10LCAmc2l6ZV9hcmcpKQor ICBpZiAoIWludGVyZXN0aW5nX3N0cmluZ29wX3RvX3Byb2ZpbGVfcCAodmNh bGxfc3RtdCwgJnNpemVfYXJnKSkKICAgICBnY2NfdW5yZWFjaGFibGUgKCk7 CiAKICAgY29uZF9iYiA9IGdpbXBsZV9iYiAodmNhbGxfc3RtdCk7CkBAIC0x NjczLDExICsxNjY3LDExIEBAIGdpbXBsZV9zdHJpbmdvcF9maXhlZF92YWx1 ZSAoZ2ltcGxlIHZjYWxsX3N0bXQsIHRyCiAKIC8qIEZpbmQgdmFsdWVzIGlu c2lkZSBTVE1UIGZvciB0aGF0IHdlIHdhbnQgdG8gbWVhc3VyZSBoaXN0b2dy YW1zIGZvcgogICAgZGl2aXNpb24vbW9kdWxvIG9wdGltaXphdGlvbi4gICov CisKIHN0YXRpYyBib29sCiBnaW1wbGVfc3RyaW5nb3BzX3RyYW5zZm9ybSAo Z2ltcGxlX3N0bXRfaXRlcmF0b3IgKmdzaSkKIHsKICAgZ2ltcGxlIHN0bXQg PSBnc2lfc3RtdCAoKmdzaSk7Ci0gIHRyZWUgZm5kZWNsOwogICB0cmVlIGJs Y2tfc2l6ZTsKICAgZW51bSBidWlsdF9pbl9mdW5jdGlvbiBmY29kZTsKICAg aGlzdG9ncmFtX3ZhbHVlIGhpc3RvZ3JhbTsKQEAgLTE2ODgsMTQgKzE2ODIs MTEgQEAgZ2ltcGxlX3N0cmluZ29wc190cmFuc2Zvcm0gKGdpbXBsZV9zdG10 X2l0ZXJhdG9yICoKICAgdHJlZSB0cmVlX3ZhbDsKICAgaW50IHNpemVfYXJn OwogCi0gIGlmIChnaW1wbGVfY29kZSAoc3RtdCkgIT0gR0lNUExFX0NBTEwp CisgIGlmICghZ2ltcGxlX2NhbGxfYnVpbHRpbl9wIChzdG10LCBCVUlMVF9J Tl9OT1JNQUwpKQogICAgIHJldHVybiBmYWxzZTsKLSAgZm5kZWNsID0gZ2lt cGxlX2NhbGxfZm5kZWNsIChzdG10KTsKLSAgaWYgKCFmbmRlY2wpCisKKyAg aWYgKCFpbnRlcmVzdGluZ19zdHJpbmdvcF90b19wcm9maWxlX3AgKHN0bXQs ICZzaXplX2FyZykpCiAgICAgcmV0dXJuIGZhbHNlOwotICBmY29kZSA9IERF Q0xfRlVOQ1RJT05fQ09ERSAoZm5kZWNsKTsKLSAgaWYgKCFpbnRlcmVzdGlu Z19zdHJpbmdvcF90b19wcm9maWxlX3AgKGZuZGVjbCwgc3RtdCwgJnNpemVf YXJnKSkKLSAgICByZXR1cm4gZmFsc2U7CiAKICAgYmxja19zaXplID0gZ2lt cGxlX2NhbGxfYXJnIChzdG10LCBzaXplX2FyZyk7CiAgIGlmIChUUkVFX0NP REUgKGJsY2tfc2l6ZSkgPT0gSU5URUdFUl9DU1QpCkBAIC0xNzA0LDEwICsx Njk1LDEyIEBAIGdpbXBsZV9zdHJpbmdvcHNfdHJhbnNmb3JtIChnaW1wbGVf c3RtdF9pdGVyYXRvciAqCiAgIGhpc3RvZ3JhbSA9IGdpbXBsZV9oaXN0b2dy YW1fdmFsdWVfb2ZfdHlwZSAoY2Z1biwgc3RtdCwgSElTVF9UWVBFX1NJTkdM RV9WQUxVRSk7CiAgIGlmICghaGlzdG9ncmFtKQogICAgIHJldHVybiBmYWxz ZTsKKwogICB2YWwgPSBoaXN0b2dyYW0tPmh2YWx1ZS5jb3VudGVyc1swXTsK ICAgY291bnQgPSBoaXN0b2dyYW0tPmh2YWx1ZS5jb3VudGVyc1sxXTsKICAg YWxsID0gaGlzdG9ncmFtLT5odmFsdWUuY291bnRlcnNbMl07CiAgIGdpbXBs ZV9yZW1vdmVfaGlzdG9ncmFtX3ZhbHVlIChjZnVuLCBzdG10LCBoaXN0b2dy YW0pOworCiAgIC8qIFdlIHJlcXVpcmUgdGhhdCBjb3VudCBpcyBhdCBsZWFz dCBoYWxmIG9mIGFsbDsgdGhpcyBtZWFucwogICAgICB0aGF0IGZvciB0aGUg dHJhbnNmb3JtYXRpb24gdG8gZmlyZSB0aGUgdmFsdWUgbXVzdCBiZSBjb25z dGFudAogICAgICBhdCBsZWFzdCA4MCUgb2YgdGltZS4gICovCkBAIC0xNzE5 LDggKzE3MTIsMTAgQEAgZ2ltcGxlX3N0cmluZ29wc190cmFuc2Zvcm0gKGdp bXBsZV9zdG10X2l0ZXJhdG9yICoKICAgICBwcm9iID0gR0NPVl9DT01QVVRF X1NDQUxFIChjb3VudCwgYWxsKTsKICAgZWxzZQogICAgIHByb2IgPSAwOwor CiAgIGRlc3QgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDApOwogICBkZXN0 X2FsaWduID0gZ2V0X3BvaW50ZXJfYWxpZ25tZW50IChkZXN0KTsKKyAgZmNv ZGUgPSBERUNMX0ZVTkNUSU9OX0NPREUgKGdpbXBsZV9jYWxsX2ZuZGVjbCAo c3RtdCkpOwogICBzd2l0Y2ggKGZjb2RlKQogICAgIHsKICAgICBjYXNlIEJV SUxUX0lOX01FTUNQWToKQEAgLTE4MTEsNiArMTgwNiw3IEBAIHN0cmluZ29w X2Jsb2NrX3Byb2ZpbGUgKGdpbXBsZSBzdG10LCB1bnNpZ25lZCBpbnQKIAwK IC8qIEZpbmQgdmFsdWVzIGluc2lkZSBTVE1UIGZvciB0aGF0IHdlIHdhbnQg dG8gbWVhc3VyZSBoaXN0b2dyYW1zIGZvcgogICAgZGl2aXNpb24vbW9kdWxv IG9wdGltaXphdGlvbi4gICovCisKIHN0YXRpYyB2b2lkCiBnaW1wbGVfZGl2 bW9kX3ZhbHVlc190b19wcm9maWxlIChnaW1wbGUgc3RtdCwgaGlzdG9ncmFt X3ZhbHVlcyAqdmFsdWVzKQogewpAQCAtMTg5MSwyMSArMTg4NywxOCBAQCBn aW1wbGVfaW5kaXJlY3RfY2FsbF90b19wcm9maWxlIChnaW1wbGUgc3RtdCwg aGlzdAogCiAvKiBGaW5kIHZhbHVlcyBpbnNpZGUgU1RNVCBmb3IgdGhhdCB3 ZSB3YW50IHRvIG1lYXN1cmUgaGlzdG9ncmFtcyBmb3IKICAgIHN0cmluZyBv cGVyYXRpb25zLiAgKi8KKwogc3RhdGljIHZvaWQKIGdpbXBsZV9zdHJpbmdv cHNfdmFsdWVzX3RvX3Byb2ZpbGUgKGdpbXBsZSBzdG10LCBoaXN0b2dyYW1f dmFsdWVzICp2YWx1ZXMpCiB7Ci0gIHRyZWUgZm5kZWNsOwotICB0cmVlIGJs Y2tfc2l6ZTsKICAgdHJlZSBkZXN0OworICB0cmVlIGJsY2tfc2l6ZTsKICAg aW50IHNpemVfYXJnOwogCi0gIGlmIChnaW1wbGVfY29kZSAoc3RtdCkgIT0g R0lNUExFX0NBTEwpCisgIGlmICghZ2ltcGxlX2NhbGxfYnVpbHRpbl9wIChz dG10LCBCVUlMVF9JTl9OT1JNQUwpKQogICAgIHJldHVybjsKLSAgZm5kZWNs ID0gZ2ltcGxlX2NhbGxfZm5kZWNsIChzdG10KTsKLSAgaWYgKCFmbmRlY2wp Ci0gICAgcmV0dXJuOwogCi0gIGlmICghaW50ZXJlc3Rpbmdfc3RyaW5nb3Bf dG9fcHJvZmlsZV9wIChmbmRlY2wsIHN0bXQsICZzaXplX2FyZykpCisgIGlm ICghaW50ZXJlc3Rpbmdfc3RyaW5nb3BfdG9fcHJvZmlsZV9wIChzdG10LCAm c2l6ZV9hcmcpKQogICAgIHJldHVybjsKIAogICBkZXN0ID0gZ2ltcGxlX2Nh bGxfYXJnIChzdG10LCAwKTsKQEAgLTE5MTksNiArMTkxMiw3IEBAIGdpbXBs ZV9zdHJpbmdvcHNfdmFsdWVzX3RvX3Byb2ZpbGUgKGdpbXBsZSBzdG10LCBo CiAgICAgICB2YWx1ZXMtPnNhZmVfcHVzaCAoZ2ltcGxlX2FsbG9jX2hpc3Rv Z3JhbV92YWx1ZSAoY2Z1biwgSElTVF9UWVBFX0FWRVJBR0UsCiAJCQkJCQkg ICAgICAgc3RtdCwgYmxja19zaXplKSk7CiAgICAgfQorCiAgIGlmIChUUkVF X0NPREUgKGJsY2tfc2l6ZSkgIT0gSU5URUdFUl9DU1QpCiAgICAgdmFsdWVz LT5zYWZlX3B1c2ggKGdpbXBsZV9hbGxvY19oaXN0b2dyYW1fdmFsdWUgKGNm dW4sIEhJU1RfVFlQRV9JT1IsCiAJCQkJCQkgICAgIHN0bXQsIGRlc3QpKTsK SW5kZXg6IGdjYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxMDgxKQorKysgZ2NjL0No YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE0 LTA4LTIwICBGZWxpeCBZYW5nICA8ZmVsaXgueWFuZ0BodWF3ZWkuY29tPgor CSAgICBKaWppIEppYW5nICA8amlhbmdqaWppQGh1YXdlaS5jb20+CisKKwkq IHZhbHVlLXByb2YuYyAoaW50ZXJlc3Rpbmdfc3RyaW5nb3BfdG9fcHJvZmls ZV9wKTogUmVtb3ZlZCBGTkRFQ0wgYXJndW1lbnQKKwlhbmQgZ2V0IGJ1aWx0 aW4gZnVuY3Rpb24gY29kZSBkaXJlY3RseSBmcm9tIENBTEwuCisJKGdpbXBs ZV9zdHJpbmdvcF9maXhlZF92YWx1ZSk6IE1vZGlmaWVkIGFjY29yZGluZ2x5 LgorCShnaW1wbGVfc3RyaW5nb3BzX3RyYW5zZm9ybSwgZ2ltcGxlX3N0cmlu Z29wc192YWx1ZXNfdG9fcHJvZmlsZSk6IE1vZGlmaWVkCisJYWNjb3JkaW5n bHkgYW5kIG9ubHkgYWNjZXB0IEJVSUxUX0lOX05PUk1BTCBzdHJpbmcgb3Bl cmF0aW9ucy4KKwogMjAxNS0wOC0xOCAgU2VnaGVyIEJvZXNzZW5rb29sICA8 c2VnaGVyQGtlcm5lbC5jcmFzaGluZy5vcmc+CiAKIAlCYWNrcG9ydCBmcm9t IG1haW5saW5lOgo= --_002_DA41BE1DDCA941489001C7FBD7A8820E8381E7ADszxema507mbxchi_--