From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14475 invoked by alias); 20 Sep 2007 04:47:14 -0000 Received: (qmail 14452 invoked by uid 22791); 20 Sep 2007 04:47:13 -0000 X-Spam-Check-By: sourceware.org Received: from rv-out-0910.google.com (HELO rv-out-0910.google.com) (209.85.198.185) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 20 Sep 2007 04:47:09 +0000 Received: by rv-out-0910.google.com with SMTP id f5so364514rvb for ; Wed, 19 Sep 2007 21:47:06 -0700 (PDT) Received: by 10.114.88.1 with SMTP id l1mr1626077wab.1190263626375; Wed, 19 Sep 2007 21:47:06 -0700 (PDT) Received: by 10.114.195.10 with HTTP; Wed, 19 Sep 2007 21:47:06 -0700 (PDT) Message-ID: <1953a4560709192147o7c03378es627c25dda1afd9f2@mail.gmail.com> Date: Thu, 20 Sep 2007 10:08:00 -0000 From: "Asher Langton" To: "Thomas Koenig" Subject: Re: [PATCH, fortran] PR20441 -finit-local-zero Cc: "Tobias Burnus" , "fortran@gcc.gnu.org" , gcc-patches In-Reply-To: <1953a4560709191752r56cb1946xefca63f83c577317@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_10360_25005336.1190263626288" References: <1953a4560708171312u705f5bf4ie9d8ce645d2f02b6@mail.gmail.com> <1953a4560708311456g550c60a8xd4a0ffa9335c4325@mail.gmail.com> <46E7B808.8070104@net-b.de> <1953a4560709140544j491e8e8di6f1b50b4dd0c1ca4@mail.gmail.com> <1190227649.3748.1.camel@meiner.onlinehome.de> <1953a4560709191752r56cb1946xefca63f83c577317@mail.gmail.com> X-Google-Sender-Auth: aab600bd5bf7d5f1 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 X-SW-Source: 2007-09/txt/msg01593.txt.bz2 ------=_Part_10360_25005336.1190263626288 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 933 On 9/19/07, Asher Langton wrote: > On 9/19/07, Thomas Koenig wrote: > > On Fri, 2007-09-14 at 07:44 -0500, Asher Langton wrote: > > > > Hi Asher, > > > > > I will take a > > > look at equivalenced variables tonight. > > > > Any progress? If you haven't got a round tuit, I'd be in favor of > > committing right now, and updating the documentation according to > > Tobias Burnus' suggestion. > > Okay, that sounds good to me. I'd like to look into the equivalence > issue some more, but the last few days have been quite hectic. I'll > put together an updated patch with the added documentation, and then > deal with the equivalence issue when I have a little more time. Here's an updated patch. The Changelog and the tests are the same as here: http://gcc.gnu.org/ml/fortran/2007-08/msg00666.html I bootstrapped and regression tested this on x86_64-linux. Okay to commit? -Asher ------=_Part_10360_25005336.1190263626288 Content-Type: application/octet-stream; name="gfc070919_214008.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gfc070919_214008.diff" X-Attachment-Id: f_f6ss6oue Content-length: 18732 SW5kZXg6IGdmb3J0cmFuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Z2ZvcnRyYW4uaAkocmV2aXNpb24gMTI4NjEzKQorKysgZ2ZvcnRyYW4uaAko d29ya2luZyBjb3B5KQpAQCAtNTEwLDYgKzUxMCwzOCBAQCBlbnVtIGdmY19p c3ltX2lkCiB0eXBlZGVmIGVudW0gZ2ZjX2lzeW1faWQgZ2ZjX2lzeW1faWQ7 CiAKIAordHlwZWRlZiBlbnVtCit7CisgIEdGQ19JTklUX1JFQUxfT0ZGID0g MCwKKyAgR0ZDX0lOSVRfUkVBTF9aRVJPLAorICBHRkNfSU5JVF9SRUFMX05B TiwKKyAgR0ZDX0lOSVRfUkVBTF9JTkYsCisgIEdGQ19JTklUX1JFQUxfTkVH X0lORgorfQoraW5pdF9sb2NhbF9yZWFsOworCit0eXBlZGVmIGVudW0KK3sK KyAgR0ZDX0lOSVRfTE9HSUNBTF9PRkYgPSAwLAorICBHRkNfSU5JVF9MT0dJ Q0FMX0ZBTFNFLAorICBHRkNfSU5JVF9MT0dJQ0FMX1RSVUUKK30KK2luaXRf bG9jYWxfbG9naWNhbDsKKwordHlwZWRlZiBlbnVtCit7CisgIEdGQ19JTklU X0NIQVJBQ1RFUl9PRkYgPSAwLAorICBHRkNfSU5JVF9DSEFSQUNURVJfT04K K30KK2luaXRfbG9jYWxfY2hhcmFjdGVyOworCit0eXBlZGVmIGVudW0KK3sK KyAgR0ZDX0lOSVRfSU5URUdFUl9PRkYgPSAwLAorICBHRkNfSU5JVF9JTlRF R0VSX09OCit9Citpbml0X2xvY2FsX2ludGVnZXI7CisKIC8qKioqKioqKioq KioqKioqKioqKioqKioqIFN0cnVjdHVyZXMgKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCiAKIC8qIFVzZWQgZm9yIGtlZXBpbmcgdGhpbmdzIGlu IGJhbGFuY2VkIGJpbmFyeSB0cmVlcy4gICovCkBAIC0xODIyLDYgKzE4NTQs MTMgQEAgdHlwZWRlZiBzdHJ1Y3QKICAgaW50IGZsYWdfc2lnbl96ZXJvOwog ICBpbnQgZmxhZ19tb2R1bGVfcHJpdmF0ZTsKICAgaW50IGZsYWdfcmVjdXJz aXZlOworICBpbnQgZmxhZ19pbml0X2xvY2FsX3plcm87CisgIGludCBmbGFn X2luaXRfaW50ZWdlcjsKKyAgaW50IGZsYWdfaW5pdF9pbnRlZ2VyX3ZhbHVl OworICBpbnQgZmxhZ19pbml0X3JlYWw7CisgIGludCBmbGFnX2luaXRfbG9n aWNhbDsKKyAgaW50IGZsYWdfaW5pdF9jaGFyYWN0ZXI7CisgIGNoYXIgZmxh Z19pbml0X2NoYXJhY3Rlcl92YWx1ZTsKIAogICBpbnQgZnBlOwogCkluZGV4 OiBsYW5nLm9wdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsYW5nLm9w dAkocmV2aXNpb24gMTI4NjEzKQorKysgbGFuZy5vcHQJKHdvcmtpbmcgY29w eSkKQEAgLTE5Niw2ICsxOTYsMjYgQEAgZmltcGxpY2l0LW5vbmUKIEZvcnRy YW4KIFNwZWNpZnkgdGhhdCBubyBpbXBsaWNpdCB0eXBpbmcgaXMgYWxsb3dl ZCwgdW5sZXNzIG92ZXJyaWRkZW4gYnkgZXhwbGljaXQgSU1QTElDSVQgc3Rh dGVtZW50cwogCitmaW5pdC1jaGFyYWN0ZXI9CitGb3J0cmFuIFJlamVjdE5l Z2F0aXZlIEpvaW5lZCBVSW50ZWdlcgorLWZpbml0LWNoYXJhY3Rlcj08bj4g SW5pdGlhbGl6ZSBsb2NhbCBjaGFyYWN0ZXIgdmFyaWFibGVzIHRvIEFTQ0lJ IHZhbHVlIG4KKworZmluaXQtaW50ZWdlcj0KK0ZvcnRyYW4gUmVqZWN0TmVn YXRpdmUgSm9pbmVkCistZmluaXQtaW50ZWdlcj08bj4gSW5pdGlhbGl6ZSBs b2NhbCBpbnRlZ2VyIHZhcmlhYmxlcyB0byBuCisKK2Zpbml0LWxvY2FsLXpl cm8KK0ZvcnRyYW4KK0luaXRpYWxpemUgbG9jYWwgdmFyaWFibGVzIHRvIHpl cm8gKGZyb20gZzc3KQorCitmaW5pdC1sb2dpY2FsPQorRm9ydHJhbiBSZWpl Y3ROZWdhdGl2ZSBKb2luZWQKKy1maW5pdC1sb2dpY2FsPTx0cnVlfGZhbHNl PiBJbml0aWFsaXplIGxvY2FsIGxvZ2ljYWwgdmFyaWFibGVzCisKK2Zpbml0 LXJlYWw9CitGb3J0cmFuIFJlamVjdE5lZ2F0aXZlIEpvaW5lZAorLWZpbml0 LXJlYWw9PHplcm98bmFufGluZnwtaW5mPiBJbml0aWFsaXplIGxvY2FsIHJl YWwgdmFyaWFibGVzCisKIGZtYXgtZXJyb3JzPQogRm9ydHJhbiBSZWplY3RO ZWdhdGl2ZSBKb2luZWQgVUludGVnZXIKIC1mbWF4LWVycm9ycz08bj4JTWF4 aW11bSBudW1iZXIgb2YgZXJyb3JzIHRvIHJlcG9ydApJbmRleDogaW52b2tl LnRleGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaW52b2tlLnRleGkJ KHJldmlzaW9uIDEyODYxMykKKysrIGludm9rZS50ZXhpCSh3b3JraW5nIGNv cHkpCkBAIC0xNTYsNyArMTU2LDkgQEAgYW5kIHdhcm5pbmdzfS4KIC1mc2Vj b25kLXVuZGVyc2NvcmUgQGdvbAogLWZib3VuZHMtY2hlY2sgIC1mbWF4LXN0 YWNrLXZhci1zaXplPUB2YXJ7bn0gQGdvbAogLWZwYWNrLWRlcml2ZWQgIC1m cmVwYWNrLWFycmF5cyAgLWZzaG9ydC1lbnVtcyAgLWZleHRlcm5hbC1ibGFz IEBnb2wKLS1mYmxhcy1tYXRtdWwtbGltaXQ9QHZhcntufSAtZnJlY3Vyc2l2 ZX0KKy1mYmxhcy1tYXRtdWwtbGltaXQ9QHZhcntufSAtZnJlY3Vyc2l2ZSAt ZmluaXQtbG9jYWwtemVybyBAZ29sCistZmluaXQtaW50ZWdlcj1AdmFye259 IC1maW5pdC1yZWFsPUB2YXJ7PHplcm98aW5mfC1pbmZ8bmFuPn0gQGdvbAor LWZpbml0LWxvZ2ljYWw9QHZhcns8dHJ1ZXxmYWxzZT59IC1maW5pdC1jaGFy YWN0ZXI9QHZhcntufX0KIEBlbmQgdGFibGUKIAogQG1lbnUKQEAgLTkzMSw2 ICs5MzMsMzMgQEAgQWxsb3cgaW5kaXJlY3QgcmVjdXJzaW9uIGJ5IGZvcmNp bmcgYWxsIAogb24gdGhlIHN0YWNrLiBUaGlzIGZsYWcgY2Fubm90IGJlIHVz ZWQgdG9nZXRoZXIgd2l0aAogQG9wdGlvbnstZm1heC1zdGFjay12YXItc2l6 ZT19IG9yIEBvcHRpb257LWZuby1hdXRvbWF0aWN9LgogCitAaXRlbSAtZmlu aXQtbG9jYWwtemVybworQGl0ZW0gLWZpbml0LWludGVnZXI9QHZhcntufQor QGl0ZW0gLWZpbml0LXJlYWw9QHZhcns8emVyb3xpbmZ8LWluZnxuYW4+fSAK K0BpdGVtIC1maW5pdC1sb2dpY2FsPUB2YXJ7PHRydWV8ZmFsc2U+fQorQGl0 ZW0gLWZpbml0LWNoYXJhY3Rlcj1AdmFye259CitAb3BpbmRleCBAY29kZXtm aW5pdC1sb2NhbC16ZXJvfQorQG9waW5kZXggQGNvZGV7ZmluaXQtaW50ZWdl cn0KK0BvcGluZGV4IEBjb2Rle2Zpbml0LXJlYWx9CitAb3BpbmRleCBAY29k ZXtmaW5pdC1sb2dpY2FsfQorQG9waW5kZXggQGNvZGV7ZmluaXQtY2hhcmFj dGVyfQorVGhlIEBvcHRpb257LWZpbml0LWxvY2FsLXplcm99IG9wdGlvbiBp bnN0cnVjdHMgdGhlIGNvbXBpbGVyIHRvCitpbml0aWFsaXplIGxvY2FsIEBj b2Rle0lOVEVHRVJ9LCBAY29kZXtSRUFMfSwgYW5kIEBjb2Rle0NPTVBMRVh9 Cit2YXJpYWJsZXMgdG8gemVybywgQGNvZGV7TE9HSUNBTH0gdmFyaWFibGVz IHRvIGZhbHNlLCBhbmQKK0Bjb2Rle0NIQVJBQ1RFUn0gdmFyaWFibGVzIHRv IGEgc3RyaW5nIG9mIG51bGwgYnl0ZXMuICBGaW5lci1ncmFpbmVkCitpbml0 aWFsaXphdGlvbiBvcHRpb25zIGFyZSBwcm92aWRlZCBieSB0aGUKK0BvcHRp b257LWZpbml0LWludGVnZXI9QHZhcntufX0sCitAb3B0aW9uey1maW5pdC1y ZWFsPUB2YXJ7PHplcm98aW5mfC1pbmZ8bmFuPn19ICh3aGljaCBhbHNvIGlu aXRpYWxpemVzCit0aGUgcmVhbCBhbmQgaW1hZ2luYXJ5IHBhcnRzIG9mIGxv Y2FsIEBjb2Rle0NPTVBMRVh9IHZhcmlhYmxlcyksCitAb3B0aW9uey1maW5p dC1sb2dpY2FsPUB2YXJ7PHRydWV8ZmFsc2U+fX0sIGFuZAorQG9wdGlvbnst ZmluaXQtY2hhcmFjdGVyPUB2YXJ7bn19ICh3aGVyZSBAdmFye259IGlzIGFu IEFTQ0lJIGNoYXJhY3RlcgordmFsdWUpIG9wdGlvbnMuICBUaGVzZSBvcHRp b25zIGRvIG5vdCBpbml0aWFsaXplIGNvbXBvbmVudHMgb2YgZGVyaXZlZAor dHlwZSB2YXJpYWJsZXMsIG5vciBkbyB0aGV5IGluaXRpYWxpemUgdmFyaWFi bGVzIHRoYXQgYXBwZWFyIGluIGFuCitAY29kZXtFUVVJVkFMRU5DRX0gc3Rh dGVtZW50LiAgKFRoaXMgbGltaXRhdGlvbiBtYXkgYmUgcmVtb3ZlZCBpbgor ZnV0dXJlIHJlbGVhc2VzKS4KKworTm90ZSB0aGF0IHRoZSBAb3B0aW9uey1m aW5pdC1yZWFsPW5hbn0gb3B0aW9uIGluaXRpYWxpemVzIEBjb2Rle1JFQUx9 CithbmQgQGNvZGV7Q09NUExFWH0gdmFyaWFibGVzIHdpdGggYSBxdWlldCBO YU4uCiBAZW5kIHRhYmxlCiAKIEB4cmVme0NvZGUgR2VuIE9wdGlvbnMsLE9w dGlvbnMgZm9yIENvZGUgR2VuZXJhdGlvbiBDb252ZW50aW9ucywKSW5kZXg6 IHJlc29sdmUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZXNvbHZl LmMJKHJldmlzaW9uIDEyODYxMykKKysrIHJlc29sdmUuYwkod29ya2luZyBj b3B5KQpAQCAtNjU2NiwyNiArNjU2NiwxNSBAQCBpc19ub25fY29uc3RhbnRf c2hhcGVfYXJyYXkgKGdmY19zeW1ib2wgCiAgIHJldHVybiBub3RfY29uc3Rh bnQ7CiB9CiAKLQotLyogQXNzaWduIHRoZSBkZWZhdWx0IGluaXRpYWxpemVy IHRvIGEgZGVyaXZlZCB0eXBlIHZhcmlhYmxlIG9yIHJlc3VsdC4gICovCi0K Ky8qIEdpdmVuIGEgc3ltYm9sIGFuZCBhbiBpbml0aWFsaXphdGlvbiBleHBy ZXNzaW9uLCBhZGQgY29kZSB0byBpbml0aWFsaXplCisgICB0aGUgc3ltYm9s IHRvIHRoZSBmdW5jdGlvbiBlbnRyeS4gICovCiBzdGF0aWMgdm9pZAotYXBw bHlfZGVmYXVsdF9pbml0IChnZmNfc3ltYm9sICpzeW0pCitidWlsZF9pbml0 X2Fzc2lnbiAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfZXhwciAqaW5pdCkKIHsK ICAgZ2ZjX2V4cHIgKmx2YWw7Ci0gIGdmY19leHByICppbml0ID0gTlVMTDsK ICAgZ2ZjX2NvZGUgKmluaXRfc3Q7CiAgIGdmY19uYW1lc3BhY2UgKm5zID0g c3ltLT5uczsKIAotICBpZiAoc3ltLT5hdHRyLmZsYXZvciAhPSBGTF9WQVJJ QUJMRSAmJiAhc3ltLT5hdHRyLmZ1bmN0aW9uKQotICAgIHJldHVybjsKLQot ICBpZiAoc3ltLT50cy50eXBlID09IEJUX0RFUklWRUQgJiYgc3ltLT50cy5k ZXJpdmVkKQotICAgIGluaXQgPSBnZmNfZGVmYXVsdF9pbml0aWFsaXplciAo JnN5bS0+dHMpOwotCi0gIGlmIChpbml0ID09IE5VTEwpCi0gICAgcmV0dXJu OwotCiAgIC8qIFNlYXJjaCBmb3IgdGhlIGZ1bmN0aW9uIG5hbWVzcGFjZSBp ZiB0aGlzIGlzIGEgY29udGFpbmVkCiAgICAgIGZ1bmN0aW9uIHdpdGhvdXQg YW4gZXhwbGljaXQgcmVzdWx0LiAgKi8KICAgaWYgKHN5bS0+YXR0ci5mdW5j dGlvbiAmJiBzeW0gPT0gc3ltLT5yZXN1bHQKQEAgLTY2MTgsNiArNjYwNywy MDEgQEAgYXBwbHlfZGVmYXVsdF9pbml0IChnZmNfc3ltYm9sICpzeW0pCiAg IGluaXRfc3QtPmV4cHIyID0gaW5pdDsKIH0KIAorLyogQXNzaWduIHRoZSBk ZWZhdWx0IGluaXRpYWxpemVyIHRvIGEgZGVyaXZlZCB0eXBlIHZhcmlhYmxl IG9yIHJlc3VsdC4gICovCisKK3N0YXRpYyB2b2lkCithcHBseV9kZWZhdWx0 X2luaXQgKGdmY19zeW1ib2wgKnN5bSkKK3sKKyAgZ2ZjX2V4cHIgKmluaXQg PSBOVUxMOworCisgIGlmIChzeW0tPmF0dHIuZmxhdm9yICE9IEZMX1ZBUklB QkxFICYmICFzeW0tPmF0dHIuZnVuY3Rpb24pCisgICAgcmV0dXJuOworCisg IGlmIChzeW0tPnRzLnR5cGUgPT0gQlRfREVSSVZFRCAmJiBzeW0tPnRzLmRl cml2ZWQpCisgICAgaW5pdCA9IGdmY19kZWZhdWx0X2luaXRpYWxpemVyICgm c3ltLT50cyk7CisKKyAgaWYgKGluaXQgPT0gTlVMTCkKKyAgICByZXR1cm47 CisKKyAgYnVpbGRfaW5pdF9hc3NpZ24gKHN5bSwgaW5pdCk7Cit9CisKKy8q IEJ1aWxkIGFuIGluaXRpYWxpemVyIGZvciBhIGxvY2FsIGludGVnZXIsIHJl YWwsIGNvbXBsZXgsIGxvZ2ljYWwsIG9yCisgICBjaGFyYWN0ZXIgdmFyaWFi bGUsIGJhc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUgZmxhZ3MgZmluaXQtbG9j YWwtemVybywKKyAgIGZpbml0LWludGVnZXI9LCBmaW5pdC1yZWFsPSwgZmlu aXQtbG9naWNhbD0sIGFuZCBmaW5pdC1ydW50aW1lLiAgUmV0dXJucyAKKyAg IG51bGwgaWYgdGhlIHN5bWJvbCBzaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0 IGluaXRpYWxpemF0aW9uLiAgKi8KK3N0YXRpYyBnZmNfZXhwciAqCitidWls ZF9kZWZhdWx0X2luaXRfZXhwciAoZ2ZjX3N5bWJvbCAqc3ltKQoreworICBp bnQgY2hhcl9sZW47CisgIGdmY19leHByICppbml0X2V4cHI7CisgIGludCBp OworICBjaGFyICpjaDsKKworICAvKiBUaGVzZSBzeW1ib2xzIHNob3VsZCBu ZXZlciBoYXZlIGEgZGVmYXVsdCBpbml0aWFsaXphdGlvbi4gICovCisgIGlm ICgoc3ltLT5hdHRyLmRpbWVuc2lvbiAmJiAhZ2ZjX2lzX2NvbXBpbGVfdGlt ZV9zaGFwZSAoc3ltLT5hcykpCisgICAgICB8fCBzeW0tPmF0dHIuZXh0ZXJu YWwKKyAgICAgIHx8IHN5bS0+YXR0ci5kdW1teQorICAgICAgfHwgc3ltLT5h dHRyLnBvaW50ZXIKKyAgICAgIHx8IHN5bS0+YXR0ci5pbl9lcXVpdmFsZW5j ZQorICAgICAgfHwgc3ltLT5hdHRyLmluX2NvbW1vbgorICAgICAgfHwgc3lt LT5hdHRyLmRhdGEKKyAgICAgIHx8IHN5bS0+bW9kdWxlCisgICAgICB8fCBz eW0tPmF0dHIuY3JheV9wb2ludGVlCisgICAgICB8fCBzeW0tPmF0dHIuY3Jh eV9wb2ludGVyKQorICAgIHJldHVybiBOVUxMOworCisgIC8qIE5vdyB3ZSds bCB0cnkgdG8gYnVpbGQgYW4gaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbi4gICov CisgIGluaXRfZXhwciA9IGdmY19nZXRfZXhwciAoKTsKKyAgaW5pdF9leHBy LT5leHByX3R5cGUgPSBFWFBSX0NPTlNUQU5UOworICBpbml0X2V4cHItPnRz LnR5cGUgPSBzeW0tPnRzLnR5cGU7CisgIGluaXRfZXhwci0+dHMua2luZCA9 IHN5bS0+dHMua2luZDsKKyAgaW5pdF9leHByLT53aGVyZSA9IHN5bS0+ZGVj bGFyZWRfYXQ7CisgIAorICAvKiBXZSB3aWxsIG9ubHkgaW5pdGlhbGl6ZSBp bnRlZ2VycywgcmVhbHMsIGNvbXBsZXgsIGxvZ2ljYWxzLCBhbmQKKyAgICAg Y2hhcmFjdGVycywgYW5kIG9ubHkgaWYgdGhlIGNvcnJlc3BvbmRpbmcgY29t bWFuZC1saW5lIGZsYWdzCisgICAgIHdlcmUgc2V0LiAgT3RoZXJ3aXNlLCB3 ZSBmcmVlIGluaXRfZXhwciBhbmQgcmV0dXJuIG51bGwuICAqLworICBzd2l0 Y2ggKHN5bS0+dHMudHlwZSkKKyAgICB7ICAgIAorICAgIGNhc2UgQlRfSU5U RUdFUjoKKyAgICAgIGlmIChnZmNfb3B0aW9uLmZsYWdfaW5pdF9pbnRlZ2Vy ICE9IEdGQ19JTklUX0lOVEVHRVJfT0ZGKQorCW1wel9pbml0X3NldF9zaSAo aW5pdF9leHByLT52YWx1ZS5pbnRlZ2VyLCAKKwkJCSBnZmNfb3B0aW9uLmZs YWdfaW5pdF9pbnRlZ2VyX3ZhbHVlKTsKKyAgICAgIGVsc2UKKwl7CisJICBn ZmNfZnJlZV9leHByIChpbml0X2V4cHIpOworCSAgaW5pdF9leHByID0gTlVM TDsKKwl9CisgICAgICBicmVhazsKKworICAgIGNhc2UgQlRfUkVBTDoKKyAg ICAgIG1wZnJfaW5pdCAoaW5pdF9leHByLT52YWx1ZS5yZWFsKTsKKyAgICAg IHN3aXRjaCAoZ2ZjX29wdGlvbi5mbGFnX2luaXRfcmVhbCkKKwl7CisJY2Fz ZSBHRkNfSU5JVF9SRUFMX05BTjoKKwkgIG1wZnJfc2V0X25hbiAoaW5pdF9l eHByLT52YWx1ZS5yZWFsKTsKKwkgIGJyZWFrOworCisJY2FzZSBHRkNfSU5J VF9SRUFMX0lORjoKKwkgIG1wZnJfc2V0X2luZiAoaW5pdF9leHByLT52YWx1 ZS5yZWFsLCAxKTsKKwkgIGJyZWFrOworCisJY2FzZSBHRkNfSU5JVF9SRUFM X05FR19JTkY6CisJICBtcGZyX3NldF9pbmYgKGluaXRfZXhwci0+dmFsdWUu cmVhbCwgLTEpOworCSAgYnJlYWs7CisKKwljYXNlIEdGQ19JTklUX1JFQUxf WkVSTzoKKwkgIG1wZnJfc2V0X3VpIChpbml0X2V4cHItPnZhbHVlLnJlYWws IDAuMCwgR0ZDX1JORF9NT0RFKTsKKwkgIGJyZWFrOworCisJZGVmYXVsdDoK KwkgIGdmY19mcmVlX2V4cHIgKGluaXRfZXhwcik7CisJICBpbml0X2V4cHIg PSBOVUxMOworCSAgYnJlYWs7CisJfQorICAgICAgYnJlYWs7CisJICAKKyAg ICBjYXNlIEJUX0NPTVBMRVg6CisgICAgICBtcGZyX2luaXQgKGluaXRfZXhw ci0+dmFsdWUuY29tcGxleC5yKTsKKyAgICAgIG1wZnJfaW5pdCAoaW5pdF9l eHByLT52YWx1ZS5jb21wbGV4LmkpOworICAgICAgc3dpdGNoIChnZmNfb3B0 aW9uLmZsYWdfaW5pdF9yZWFsKQorCXsKKwljYXNlIEdGQ19JTklUX1JFQUxf TkFOOgorCSAgbXBmcl9zZXRfbmFuIChpbml0X2V4cHItPnZhbHVlLmNvbXBs ZXgucik7CisJICBtcGZyX3NldF9uYW4gKGluaXRfZXhwci0+dmFsdWUuY29t cGxleC5pKTsKKwkgIGJyZWFrOworCisJY2FzZSBHRkNfSU5JVF9SRUFMX0lO RjoKKwkgIG1wZnJfc2V0X2luZiAoaW5pdF9leHByLT52YWx1ZS5jb21wbGV4 LnIsIDEpOworCSAgbXBmcl9zZXRfaW5mIChpbml0X2V4cHItPnZhbHVlLmNv bXBsZXguaSwgMSk7CisJICBicmVhazsKKworCWNhc2UgR0ZDX0lOSVRfUkVB TF9ORUdfSU5GOgorCSAgbXBmcl9zZXRfaW5mIChpbml0X2V4cHItPnZhbHVl LmNvbXBsZXguciwgLTEpOworCSAgbXBmcl9zZXRfaW5mIChpbml0X2V4cHIt PnZhbHVlLmNvbXBsZXguaSwgLTEpOworCSAgYnJlYWs7CisKKwljYXNlIEdG Q19JTklUX1JFQUxfWkVSTzoKKwkgIG1wZnJfc2V0X3VpIChpbml0X2V4cHIt PnZhbHVlLmNvbXBsZXguciwgMC4wLCBHRkNfUk5EX01PREUpOworCSAgbXBm cl9zZXRfdWkgKGluaXRfZXhwci0+dmFsdWUuY29tcGxleC5pLCAwLjAsIEdG Q19STkRfTU9ERSk7CisJICBicmVhazsKKworCWRlZmF1bHQ6CisJICBnZmNf ZnJlZV9leHByIChpbml0X2V4cHIpOworCSAgaW5pdF9leHByID0gTlVMTDsK KwkgIGJyZWFrOworCX0KKyAgICAgIGJyZWFrOworCSAgCisgICAgY2FzZSBC VF9MT0dJQ0FMOgorICAgICAgaWYgKGdmY19vcHRpb24uZmxhZ19pbml0X2xv Z2ljYWwgPT0gR0ZDX0lOSVRfTE9HSUNBTF9GQUxTRSkKKwlpbml0X2V4cHIt PnZhbHVlLmxvZ2ljYWwgPSAwOworICAgICAgZWxzZSBpZiAoZ2ZjX29wdGlv bi5mbGFnX2luaXRfbG9naWNhbCA9PSBHRkNfSU5JVF9MT0dJQ0FMX1RSVUUp CisJaW5pdF9leHByLT52YWx1ZS5sb2dpY2FsID0gMTsKKyAgICAgIGVsc2UK Kwl7CisJICBnZmNfZnJlZV9leHByIChpbml0X2V4cHIpOworCSAgaW5pdF9l eHByID0gTlVMTDsKKwl9CisgICAgICBicmVhazsKKwkgIAorICAgIGNhc2Ug QlRfQ0hBUkFDVEVSOgorICAgICAgLyogRm9yIGNoYXJhY3RlcnMsIHRoZSBs ZW5ndGggbXVzdCBiZSBjb25zdGFudCBpbiBvcmRlciB0byAKKwkgY3JlYXRl IGEgZGVmYXVsdCBpbml0aWFsaXplci4gICovCisgICAgICBpZiAoZ2ZjX29w dGlvbi5mbGFnX2luaXRfY2hhcmFjdGVyID09IEdGQ19JTklUX0NIQVJBQ1RF Ul9PTgorCSAgJiYgc3ltLT50cy5jbC0+bGVuZ3RoCisJICAmJiBzeW0tPnRz LmNsLT5sZW5ndGgtPmV4cHJfdHlwZSA9PSBFWFBSX0NPTlNUQU5UKQorCXsK KwkgIGNoYXJfbGVuID0gbXB6X2dldF9zaSAoc3ltLT50cy5jbC0+bGVuZ3Ro LT52YWx1ZS5pbnRlZ2VyKTsKKwkgIGluaXRfZXhwci0+dmFsdWUuY2hhcmFj dGVyLmxlbmd0aCA9IGNoYXJfbGVuOworCSAgaW5pdF9leHByLT52YWx1ZS5j aGFyYWN0ZXIuc3RyaW5nID0gZ2ZjX2dldG1lbSAoY2hhcl9sZW4rMSk7CisJ ICBjaCA9IGluaXRfZXhwci0+dmFsdWUuY2hhcmFjdGVyLnN0cmluZzsKKwkg IGZvciAoaSA9IDA7IGkgPCBjaGFyX2xlbjsgaSsrKQorCSAgICAqKGNoKysp ID0gZ2ZjX29wdGlvbi5mbGFnX2luaXRfY2hhcmFjdGVyX3ZhbHVlOworCX0K KyAgICAgIGVsc2UKKwl7CisJICBnZmNfZnJlZV9leHByIChpbml0X2V4cHIp OworCSAgaW5pdF9leHByID0gTlVMTDsKKwl9CisgICAgICBicmVhazsKKwkg IAorICAgIGRlZmF1bHQ6CisgICAgIGdmY19mcmVlX2V4cHIgKGluaXRfZXhw cik7CisgICAgIGluaXRfZXhwciA9IE5VTEw7CisgICAgfQorICByZXR1cm4g aW5pdF9leHByOworfQorCisvKiBBZGQgYW4gaW5pdGlhbGl6YXRpb24gZXhw cmVzc2lvbiB0byBhIGxvY2FsIHZhcmlhYmxlLiAgKi8KK3N0YXRpYyB2b2lk CithcHBseV9kZWZhdWx0X2luaXRfbG9jYWwgKGdmY19zeW1ib2wgKnN5bSkK K3sKKyAgZ2ZjX2V4cHIgKmluaXQgPSBOVUxMOworCisgIC8qIFRoZSBzeW1i b2wgc2hvdWxkIGJlIGEgdmFyaWFibGUgb3IgYSBmdW5jdGlvbiByZXR1cm4g dmFsdWUuICAqLworICBpZiAoKHN5bS0+YXR0ci5mbGF2b3IgIT0gRkxfVkFS SUFCTEUgJiYgIXN5bS0+YXR0ci5mdW5jdGlvbikKKyAgICAgIHx8IChzeW0t PmF0dHIuZnVuY3Rpb24gJiYgc3ltLT5yZXN1bHQgIT0gc3ltKSkKKyAgICBy ZXR1cm47CisKKyAgLyogVHJ5IHRvIGJ1aWxkIHRoZSBpbml0aWFsaXplciBl eHByZXNzaW9uLiAgSWYgd2UgY2FuJ3QgaW5pdGlhbGl6ZQorICAgICB0aGlz IHN5bWJvbCwgdGhlbiBpbml0IHdpbGwgYmUgTlVMTC4gICovCisgIGluaXQg PSBidWlsZF9kZWZhdWx0X2luaXRfZXhwciAoc3ltKTsKKyAgaWYgKGluaXQg PT0gTlVMTCkKKyAgICByZXR1cm47CisKKyAgLyogRm9yIHNhdmVkIHZhcmlh Ymxlcywgd2UgZG9uJ3Qgd2FudCB0byBhZGQgYW4gaW5pdGlhbGl6ZXIgYXQg CisgICAgIGZ1bmN0aW9uIGVudHJ5LCBzbyB3ZSBqdXN0IGFkZCBhIHN0YXRp YyBpbml0aWFsaXplci4gICovCisgIGlmIChzeW0tPmF0dHIuc2F2ZSB8fCBz eW0tPm5zLT5zYXZlX2FsbCkKKyAgICB7CisgICAgICAvKiBEb24ndCBjbG9i YmVyIGFuIGV4aXN0aW5nIGluaXRpYWxpemVyISAgKi8KKyAgICAgIGdjY19h c3NlcnQgKHN5bS0+dmFsdWUgPT0gTlVMTCk7CisgICAgICBzeW0tPnZhbHVl ID0gaW5pdDsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgYnVpbGRfaW5p dF9hc3NpZ24gKHN5bSwgaW5pdCk7Cit9CiAKIC8qIFJlc29sdXRpb24gb2Yg Y29tbW9uIGZlYXR1cmVzIG9mIGZsYXZvcnMgdmFyaWFibGUgYW5kIHByb2Nl ZHVyZS4gICovCiAKQEAgLTY3MzIsNiArNjkxNiw5IEBAIHJlc29sdmVfZmxf dmFyaWFibGUgKGdmY19zeW1ib2wgKnN5bSwgaW4KIAl9CiAgICAgfQogCisg IGlmIChzeW0tPnZhbHVlID09IE5VTEwgJiYgc3ltLT5hdHRyLnJlZmVyZW5j ZWQpCisgICAgYXBwbHlfZGVmYXVsdF9pbml0X2xvY2FsIChzeW0pOyAvKiBU cnkgdG8gYXBwbHkgYSBkZWZhdWx0IGluaXRpYWxpemF0aW9uLiAgKi8KKwog ICAvKiBDYW4gdGhlIHN5bWJvbCBoYXZlIGFuIGluaXRpYWxpemVyPyAgKi8K ICAgZmxhZyA9IDA7CiAgIGlmIChzeW0tPmF0dHIuYWxsb2NhdGFibGUgfHwg c3ltLT5hdHRyLmV4dGVybmFsIHx8IHN5bS0+YXR0ci5kdW1teQpJbmRleDog b3B0aW9ucy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG9wdGlvbnMu YwkocmV2aXNpb24gMTI4NjEzKQorKysgb3B0aW9ucy5jCSh3b3JraW5nIGNv cHkpCkBAIC0xMDcsNyArMTA3LDEzIEBAIGdmY19pbml0X29wdGlvbnMgKHVu c2lnbmVkIGludCBhcmdjIEFUVFIKICAgZ2ZjX29wdGlvbi5mbGFnX29wZW5t cCA9IDA7CiAgIGdmY19vcHRpb24uZmxhZ19zaWduX3plcm8gPSAxOwogICBn ZmNfb3B0aW9uLmZsYWdfcmVjdXJzaXZlID0gMDsKLQorICBnZmNfb3B0aW9u LmZsYWdfaW5pdF9pbnRlZ2VyID0gR0ZDX0lOSVRfSU5URUdFUl9PRkY7Cisg IGdmY19vcHRpb24uZmxhZ19pbml0X2ludGVnZXJfdmFsdWUgPSAwOworICBn ZmNfb3B0aW9uLmZsYWdfaW5pdF9yZWFsID0gR0ZDX0lOSVRfUkVBTF9PRkY7 CisgIGdmY19vcHRpb24uZmxhZ19pbml0X2xvZ2ljYWwgPSBHRkNfSU5JVF9M T0dJQ0FMX09GRjsKKyAgZ2ZjX29wdGlvbi5mbGFnX2luaXRfY2hhcmFjdGVy ID0gR0ZDX0lOSVRfQ0hBUkFDVEVSX09GRjsKKyAgZ2ZjX29wdGlvbi5mbGFn X2luaXRfY2hhcmFjdGVyX3ZhbHVlID0gKGNoYXIpMDsKKyAgCiAgIGdmY19v cHRpb24uZnBlID0gMDsKIAogICAvKiBBcmd1bWVudCBwb2ludGVycyBjYW5u b3QgcG9pbnQgdG8gYW55dGhpbmcgYnV0IHRoZWlyIGFyZ3VtZW50LiAgKi8K QEAgLTY1MCw2ICs2NTYsNTUgQEAgZ2ZjX2hhbmRsZV9vcHRpb24gKHNpemVf dCBzY29kZSwgY29uc3QgYwogICAgICAgZ2ZjX29wdGlvbi5mbGFnX2RlZmF1 bHRfZG91YmxlID0gdmFsdWU7CiAgICAgICBicmVhazsKIAorICAgIGNhc2Ug T1BUX2Zpbml0X2xvY2FsX3plcm86CisgICAgICBnZmNfb3B0aW9uLmZsYWdf aW5pdF9pbnRlZ2VyID0gR0ZDX0lOSVRfSU5URUdFUl9PTjsKKyAgICAgIGdm Y19vcHRpb24uZmxhZ19pbml0X2ludGVnZXJfdmFsdWUgPSAwOworICAgICAg Z2ZjX29wdGlvbi5mbGFnX2luaXRfcmVhbCA9IEdGQ19JTklUX1JFQUxfWkVS TzsKKyAgICAgIGdmY19vcHRpb24uZmxhZ19pbml0X2xvZ2ljYWwgPSBHRkNf SU5JVF9MT0dJQ0FMX0ZBTFNFOworICAgICAgZ2ZjX29wdGlvbi5mbGFnX2lu aXRfY2hhcmFjdGVyID0gR0ZDX0lOSVRfQ0hBUkFDVEVSX09OOworICAgICAg Z2ZjX29wdGlvbi5mbGFnX2luaXRfY2hhcmFjdGVyX3ZhbHVlID0gKGNoYXIp MDsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBPUFRfZmluaXRfbG9naWNh bF86CisgICAgICBpZiAoIXN0cmNhc2VjbXAgKGFyZywgImZhbHNlIikpCisJ Z2ZjX29wdGlvbi5mbGFnX2luaXRfbG9naWNhbCA9IEdGQ19JTklUX0xPR0lD QUxfRkFMU0U7CisgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcCAoYXJnLCAi dHJ1ZSIpKQorCWdmY19vcHRpb24uZmxhZ19pbml0X2xvZ2ljYWwgPSBHRkNf SU5JVF9MT0dJQ0FMX1RSVUU7CisgICAgICBlbHNlCisJZ2ZjX2ZhdGFsX2Vy cm9yICgiVW5yZWNvZ25pemVkIG9wdGlvbiB0byAtZmluaXQtbG9naWNhbDog JXMiLAorCQkJIGFyZyk7CisgICAgICBicmVhazsKKworICAgIGNhc2UgT1BU X2Zpbml0X3JlYWxfOgorICAgICAgaWYgKCFzdHJjYXNlY21wIChhcmcsICJ6 ZXJvIikpCisJZ2ZjX29wdGlvbi5mbGFnX2luaXRfcmVhbCA9IEdGQ19JTklU X1JFQUxfWkVSTzsKKyAgICAgIGVsc2UgaWYgKCFzdHJjYXNlY21wIChhcmcs ICJuYW4iKSkKKwlnZmNfb3B0aW9uLmZsYWdfaW5pdF9yZWFsID0gR0ZDX0lO SVRfUkVBTF9OQU47CisgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcCAoYXJn LCAiaW5mIikpCisJZ2ZjX29wdGlvbi5mbGFnX2luaXRfcmVhbCA9IEdGQ19J TklUX1JFQUxfSU5GOworICAgICAgZWxzZSBpZiAoIXN0cmNhc2VjbXAgKGFy ZywgIi1pbmYiKSkKKwlnZmNfb3B0aW9uLmZsYWdfaW5pdF9yZWFsID0gR0ZD X0lOSVRfUkVBTF9ORUdfSU5GOworICAgICAgZWxzZQorCWdmY19mYXRhbF9l cnJvciAoIlVucmVjb2duaXplZCBvcHRpb24gdG8gLWZpbml0LXJlYWw6ICVz IiwKKwkJCSBhcmcpOworICAgICAgYnJlYWs7ICAgICAgCisKKyAgICBjYXNl IE9QVF9maW5pdF9pbnRlZ2VyXzoKKyAgICAgIGdmY19vcHRpb24uZmxhZ19p bml0X2ludGVnZXIgPSBHRkNfSU5JVF9JTlRFR0VSX09OOworICAgICAgZ2Zj X29wdGlvbi5mbGFnX2luaXRfaW50ZWdlcl92YWx1ZSA9IGF0b2kgKGFyZyk7 CisgICAgICBicmVhazsKKworICAgIGNhc2UgT1BUX2Zpbml0X2NoYXJhY3Rl cl86CisgICAgICBpZiAodmFsdWUgPj0gMCAmJiB2YWx1ZSA8PSAxMjcpCisJ eworCSAgZ2ZjX29wdGlvbi5mbGFnX2luaXRfY2hhcmFjdGVyID0gR0ZDX0lO SVRfQ0hBUkFDVEVSX09OOworCSAgZ2ZjX29wdGlvbi5mbGFnX2luaXRfY2hh cmFjdGVyX3ZhbHVlID0gKGNoYXIpdmFsdWU7CisJfQorICAgICAgZWxzZQor CWdmY19mYXRhbF9lcnJvciAoIlRoZSB2YWx1ZSBvZiBuIGluIC1maW5pdC1j aGFyYWN0ZXI9biBtdXN0IGJlICIKKwkJCSAiYmV0d2VlbiAwIGFuZCAxMjci KTsKKyAgICAgIGJyZWFrOworCiAgICAgY2FzZSBPUFRfSToKICAgICAgIGdm Y19hZGRfaW5jbHVkZV9wYXRoIChhcmcsIHRydWUpOwogICAgICAgYnJlYWs7 Cg== ------=_Part_10360_25005336.1190263626288--