From unknown Fri Jun 20 07:10:28 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17072 <17072@debbugs.gnu.org> To: bug#17072 <17072@debbugs.gnu.org> Subject: Status: dfa change apparently needed on Irix Reply-To: bug#17072 <17072@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:10:28 +0000 retitle 17072 dfa change apparently needed on Irix reassign 17072 grep submitter 17072 Aharon Robbins severity 17072 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 23 15:33:12 2014 Received: (at submit) by debbugs.gnu.org; 23 Mar 2014 19:33:12 +0000 Received: from localhost ([127.0.0.1]:46178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRo8t-0006x9-AT for submit@debbugs.gnu.org; Sun, 23 Mar 2014 15:33:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47694) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRo8q-0006wz-Li for submit@debbugs.gnu.org; Sun, 23 Mar 2014 15:33:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WRo8l-0007sb-8S for submit@debbugs.gnu.org; Sun, 23 Mar 2014 15:33:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_MANY_HDRS_LCASE autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45332) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRo8l-0007sX-68 for submit@debbugs.gnu.org; Sun, 23 Mar 2014 15:33:03 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRo8g-00062x-93 for bug-grep@gnu.org; Sun, 23 Mar 2014 15:33:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WRo8X-0007eu-P5 for bug-grep@gnu.org; Sun, 23 Mar 2014 15:32:58 -0400 Received: from mxout2.netvision.net.il ([194.90.9.21]:36426) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRo8X-0007bg-CG for bug-grep@gnu.org; Sun, 23 Mar 2014 15:32:49 -0400 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Received: from skeeve.com ([46.116.115.46]) by mxout2.netvision.net.il (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPS id <0N2W00131MAM36F1@mxout2.netvision.net.il> for bug-grep@gnu.org; Sun, 23 Mar 2014 21:32:47 +0200 (IST) Received: from skeeve.com (skeeve.com [127.0.0.1]) by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id s2NJWMe8003482 for ; Sun, 23 Mar 2014 21:32:22 +0200 Received: (from arnold@localhost) by skeeve.com (8.14.4/8.14.4/Submit) id s2NJWLYA003481 for bug-grep@gnu.org; Sun, 23 Mar 2014 21:32:21 +0200 From: Aharon Robbins Message-id: <201403231932.s2NJWLYA003481@skeeve.com> Date: Sun, 23 Mar 2014 21:32:21 +0200 To: bug-grep@gnu.org Subject: dfa change apparently needed on Irix User-Agent: Heirloom mailx 12.5 6/20/10 X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) FYI Arnold ------------------- > Date: Tue, 18 Mar 2014 13:44:57 -0600 (MDT) > From: "Nelson H. F. Beebe" > To: "Arnold Robbins" > Cc: beebe@math.utah.edu > Subject: gawk-4.1.0f: a patch for a failed build > > On SGI IRIX MIPS, gawk-4.1.0a had built and installed without problems > on 13-Dec-2013. > > For gawk-4.1.0f, however, I had to make one source code patch: > > % diff -c dfa.c.org dfa.c > *** dfa.c.org Mon Mar 10 14:39:05 2014 > --- dfa.c Mon Mar 17 18:04:46 2014 > *************** > *** 43,49 **** > #include "missing_d/gawkbool.h" > #endif /* HAVE_STDBOOL_H */ > > - #include "dfa.h" > > /* Gawk doesn't use Gnulib, so don't assume static_assert is present. */ > #ifndef static_assert > --- 43,48 ---- > *************** > *** 89,94 **** > --- 88,95 ---- > > #include "xalloc.h" > > + #include "dfa.h" > + > #ifdef GAWK > static int > is_blank (int c) > > The reason for the patch is this error: > > dfa.c:956: error: conflicting types for 'case_folded_counterparts' > dfa.h:111: error: previous declaration of 'case_folded_counterparts' was here > dfa.c:956: error: conflicting types for 'case_folded_counterparts' > > What happens is that the prototype for that function has wchar_t > arguments, but between the time that prototype is seen, and the first > reference to the function is seen, wchar_t has been changed to char. > Moving the inclusion of "dfa.h" later in "dfa.c" solved the problem. > > I configured and built like this: > > env CC='gcc -std=c99' CFLAGS=-D_SGI_SOURCE LDFLAGS='-L/usr/local/lib -Wl,-rpath,/usr/local/lib' ./configure && $B/make all check From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 23 16:55:22 2014 Received: (at 17072) by debbugs.gnu.org; 23 Mar 2014 20:55:22 +0000 Received: from localhost ([127.0.0.1]:46245 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRpQP-0001zK-7N for submit@debbugs.gnu.org; Sun, 23 Mar 2014 16:55:21 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:54228) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRpQJ-0001z6-8T for 17072@debbugs.gnu.org; Sun, 23 Mar 2014 16:55:16 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 016AB39E8012; Sun, 23 Mar 2014 13:55:14 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6RAYYMHG9mQE; Sun, 23 Mar 2014 13:55:13 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 62F1E39E8008; Sun, 23 Mar 2014 13:55:13 -0700 (PDT) Message-ID: <532F4A30.2010606@cs.ucla.edu> Date: Sun, 23 Mar 2014 13:55:12 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Aharon Robbins , 17072@debbugs.gnu.org Subject: Re: bug#17072: dfa change apparently needed on Irix References: <201403231932.s2NJWLYA003481@skeeve.com> In-Reply-To: <201403231932.s2NJWLYA003481@skeeve.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 17072 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Aharon Robbins wrote: > wchar_t has been changed to char What changes wchar_t to char, and why? I worry that if we just install this change, then some parts of grep and/or awk will be compiled with one wchar_t and others with a different one, which will lead to subtle problems at runtime on some platforms. That is, we'll turn a compile-time problem into a run-time one, which is a step backwards. Instead, it's better to fix dfa.h so that it works regardless of what order files are included, but to do that we need to know what the actual problem is. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 24 02:13:24 2014 Received: (at control) by debbugs.gnu.org; 24 Mar 2014 06:13:24 +0000 Received: from localhost ([127.0.0.1]:46641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRy8S-0003i0-05 for submit@debbugs.gnu.org; Mon, 24 Mar 2014 02:13:24 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:42786) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WRy8Q-0003hs-3S for control@debbugs.gnu.org; Mon, 24 Mar 2014 02:13:22 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id BC07939E8013 for ; Sun, 23 Mar 2014 23:13:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DUxLiPbiZr1Y for ; Sun, 23 Mar 2014 23:13:20 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 7D90439E8008 for ; Sun, 23 Mar 2014 23:13:20 -0700 (PDT) Message-ID: <532FCCFF.70309@cs.ucla.edu> Date: Sun, 23 Mar 2014 23:13:19 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: tag some grep bug reports Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) tags 17072 + moreinfo thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 13:57:05 2014 Received: (at control) by debbugs.gnu.org; 6 Apr 2014 17:57:05 +0000 Received: from localhost ([127.0.0.1]:38293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWrJY-0005yA-G8 for submit@debbugs.gnu.org; Sun, 06 Apr 2014 13:57:04 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:37554) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWrJV-0005xk-ND for control@debbugs.gnu.org; Sun, 06 Apr 2014 13:57:02 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 7B69F39E8018 for ; Sun, 6 Apr 2014 10:57:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W4HdDGga8aup for ; Sun, 6 Apr 2014 10:56:52 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 0148B39E8013 for ; Sun, 6 Apr 2014 10:56:51 -0700 (PDT) Message-ID: <53419563.80105@cs.ucla.edu> Date: Sun, 06 Apr 2014 10:56:51 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: control@debbugs.gnu.org Subject: have info on 17072 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) tags 17072 - moreinfo thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 14:01:08 2014 Received: (at 17072-done) by debbugs.gnu.org; 6 Apr 2014 18:01:08 +0000 Received: from localhost ([127.0.0.1]:38302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWrNT-00079T-Bz for submit@debbugs.gnu.org; Sun, 06 Apr 2014 14:01:08 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:37684) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWrNP-00079G-Eu; Sun, 06 Apr 2014 14:01:05 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 03762A60002; Sun, 6 Apr 2014 11:01:03 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6CufPUa0eCtE; Sun, 6 Apr 2014 11:00:58 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 822B439E8018; Sun, 6 Apr 2014 11:00:58 -0700 (PDT) Message-ID: <5341965A.6050400@cs.ucla.edu> Date: Sun, 06 Apr 2014 11:00:58 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: 17072-done@debbugs.gnu.org Subject: Re: bug#17072: dfa change apparently needed on Irix References: <201403231932.s2NJWLYA003481@skeeve.com> <532F4A30.2010606@cs.ucla.edu> In-Reply-To: <532F4A30.2010606@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------030007020205000705070305" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 17072-done Cc: 17157@debbugs.gnu.org, bug-gawk@gnu.org, "Nelson H. F. Beebe" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) This is a multi-part message in MIME format. --------------030007020205000705070305 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks to Nelson H.F. Beebe's machines I've reproduced Bug#17072 on IRIX and have verified that the attached gawk patch fixes it. This patch is almost identical to the gawk patch I submitted in . It improves on the earlier patch only by changing gawk's dfa.c to look more like grep's dfa.c in one more way: include "dfa.h" before all other include files (except config.h). I'll CC: this to Bug#17157 so that the patch is visible there too. No further change should be needed to grep for this. --------------030007020205000705070305 Content-Type: text/plain; charset=UTF-8; name="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.pa"; filename*1="tch" RnJvbSA0NjIyZDUxMTA0ZmViNDdmMTM3OWU4ZDhmZDkwOWIxZGQ0MjU5OGEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDMgQXByIDIwMTQgMTg6MDQ6NTIgLTA3MDAKU3ViamVjdDogW1BBVENI XSBhd2s6IHNpbXBsaWZ5IGRmYS5jIGJ5IGhhdmluZyBpdCBub3QgaW5jbHVkZSBtYnN1cHBv cnQuaAogZGlyZWN0bHkKClRoaXMgc3luY3MgZGZhLmMgYmV0dGVyIHdpdGggJ2dyZXAnLgoq IGF3ay5oLCByZWdleF9pbnRlcm5hbC5oLCBkZmEuYzogRG9uJ3QgaW5jbHVkZSBtYnN1cHBv cnQuaC4KKiBjdXN0b20uaDogSW5jbHVkZSBtYnN1cHBvcnQuaCBoZXJlIGluc3RlYWQuCihf R0xfQVRUUklCVVRFX1BVUkUpOiBNb3ZlIGhlcmUgZnJvbSBkZmEuYywgdG8gbGVzc2VuIHRo ZQpudW1iZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBncmVwJ3MgZGZhLmMgYW5kIG91cnMu CiogZGZhLmM6IEluY2x1ZGUgZGZhLmggZmlyc3Q7IHRoYXQgd29ya3Mgbm93LgpJbmNsdWRl IHdjaGFyLmggYW5kIHdjdHlwZS5oIHVuY29uZGl0aW9uYWxseSwgYXMKdGhpcyBzaW1wbGlm aWVzIHRoZSB1c2Ugb2YgZGZhLmMgaW4gZ3JlcCwgYW5kIGl0IGRvZXMgbm8gaGFybQppbiBn YXdrLgooZ2F3a19tYl9jdXJfbWF4LCBNQl9DVVJfTUFYLCBtYnJ0b3djKSBbTElCQ19JU19C T1JLRURdOgpNb3ZlIHRvIG1ic3VwcG9ydC5oIChuZWVkZWQgZm9yIGNvbnNpc3RlbmN5IGlu IGFsbCB1c2VzKSwKYW5kIGZpeCBtYnJ0b3djIHRvIHJldHVybiBzaXplX3QuCihzZXRsb2Nh bGUsIHN0YXRpY19hc3NlcnQpOiBMaWtld2lzZS4KKHN0cnVjdCBkZmEsIGRmYW1iY2FjaGUs IG1ic190b193Y2hhcikKKGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFjdGVyLCBzZXRiaXRfd2Ms IHVzaW5nX3V0ZjgsIEZFVENIX1dDKQooYWRkdG9rX3djLCBhZGRfdXRmOF9hbnljaGFyLCBh dG9tLCBzdGF0ZV9pbmRleCwgZXBzY2xvc3VyZSkKKGRmYWFuYWx5emUsIGRmYXN0YXRlLCBw cmVwYXJlX3djX2J1ZiwgZGZhb3B0aW1pemUsIGRmYWZyZWUsIGRmYW11c3QpOgoqIGRmYXNl YXJjaC5jIChFR2V4ZWN1dGUpOgoqIGdyZXAuYyAobWFpbik6Ciogc2VhcmNodXRpbHMuYyAo bWJ0b3VwcGVyKToKQXNzdW1lIE1CU19TVVBQT1JULgoqIG1ic3VwcG9ydC5oIFshTUJTX1NV UFBPUlRdOiBJbmNsdWRlIHdjaGFyLmgsIHdjdHlwZS5oCmJlZm9yZSBvdmVycmlkaW5nIHRo ZWlyIGRlZmluaXRpb25zLgooV0VPRiwgdG93dXBwZXIsIHRvd2xvd2VyLCBidG93YywgaXN3 YWxudW0sIGlzd2FscGhhLCBpc3d1cHBlcikKKGlzd2xvd2VyLCBtYnJ0b3djLCB3Y3J0b21i LCB3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xsKToKKGJ0b3djKTogUGFyZW50aGVzaXplIHBy b3Blcmx5LgoobWJydG93Yywgd2NydG9tYik6IE5ldyBtYWNyb3MuCih3Y3R5cGUsIGlzd2N0 eXBlLCB3Y3Njb2xsKTogRGVmaW5lIHRvIGdhd2tfd2N0eXBlIGV0Yy4gdG8gYXZvaWQKY29s bGlzaW9ucyB3aXRoIHN0YW5kYXJkIGxpYnJhcnkuCiogbWlzc2luZ19kL3djbWlzYy5jOiBS ZW1vdmUgbm93LXVubmVjZXNzYXJ5IGlmZGVmcy4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAg IHwgIDMyICsrKysrKysrKysrKysrKwogYXdrLmggICAgICAgICAgICAgICB8ICAgMiAtCiBj dXN0b20uaCAgICAgICAgICAgIHwgICA5ICsrKysKIGRmYS5jICAgICAgICAgICAgICAgfCAx MTUgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogbWJzdXBwb3J0LmggICAgICAgICB8ICA1NCArKysrKysrKysrKysrKysrKysrKysrLS0K IG1pc3NpbmdfZC9DaGFuZ2VMb2cgfCAgIDQgKysKIG1pc3NpbmdfZC93Y21pc2MuYyAgfCAg MTAgLS0tLS0KIHJlZ2V4X2ludGVybmFsLmggICAgfCAgIDIgLQogOCBmaWxlcyBjaGFuZ2Vk LCAxMTIgaW5zZXJ0aW9ucygrKSwgMTE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0No YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMGVmZDg5Li4zNmZiMGY0IDEwMDY0NAotLS0g YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTQtMDQt MDMgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJYXdrOiBzaW1wbGlm eSBkZmEuYyBieSBoYXZpbmcgaXQgbm90IGluY2x1ZGUgbWJzdXBwb3J0LmggZGlyZWN0bHkK KwlUaGlzIHN5bmNzIGRmYS5jIGJldHRlciB3aXRoICdncmVwJy4KKwkqIGF3ay5oLCByZWdl eF9pbnRlcm5hbC5oLCBkZmEuYzogRG9uJ3QgaW5jbHVkZSBtYnN1cHBvcnQuaC4KKwkqIGN1 c3RvbS5oOiBJbmNsdWRlIG1ic3VwcG9ydC5oIGhlcmUgaW5zdGVhZC4KKwkoX0dMX0FUVFJJ QlVURV9QVVJFKTogTW92ZSBoZXJlIGZyb20gZGZhLmMsIHRvIGxlc3NlbiB0aGUKKwludW1i ZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBncmVwJ3MgZGZhLmMgYW5kIG91cnMuCisJKiBk ZmEuYzogSW5jbHVkZSB3Y2hhci5oIGFuZCB3Y3R5cGUuaCB1bmNvbmRpdGlvbmFsbHksIGFz CisJdGhpcyBzaW1wbGlmaWVzIHRoZSB1c2Ugb2YgZGZhLmMgaW4gZ3JlcCwgYW5kIGl0IGRv ZXMgbm8gaGFybQorCWluIGdhd2suCisJKGdhd2tfbWJfY3VyX21heCwgTUJfQ1VSX01BWCwg bWJydG93YykgW0xJQkNfSVNfQk9SS0VEXToKKwlNb3ZlIHRvIG1ic3VwcG9ydC5oIChuZWVk ZWQgZm9yIGNvbnNpc3RlbmN5IGluIGFsbCB1c2VzKSwKKwlhbmQgZml4IG1icnRvd2MgdG8g cmV0dXJuIHNpemVfdC4KKwkoc3RydWN0IGRmYSwgZGZhbWJjYWNoZSwgbWJzX3RvX3djaGFy KQorCShpc192YWxpZF91bmlieXRlX2NoYXJhY3Rlciwgc2V0Yml0X3djLCB1c2luZ191dGY4 LCBGRVRDSF9XQykKKwkoYWRkdG9rX3djLCBhZGRfdXRmOF9hbnljaGFyLCBhdG9tLCBzdGF0 ZV9pbmRleCwgZXBzY2xvc3VyZSkKKwkoZGZhYW5hbHl6ZSwgZGZhc3RhdGUsIHByZXBhcmVf d2NfYnVmLCBkZmFvcHRpbWl6ZSwgZGZhZnJlZSwgZGZhbXVzdCk6CisJKiBkZmFzZWFyY2gu YyAoRUdleGVjdXRlKToKKwkqIGdyZXAuYyAobWFpbik6CisJKiBzZWFyY2h1dGlscy5jICht YnRvdXBwZXIpOgorCUFzc3VtZSBNQlNfU1VQUE9SVC4KKwkqIG1ic3VwcG9ydC5oIFshTUJT X1NVUFBPUlRdOiBJbmNsdWRlIHdjaGFyLmgsIHdjdHlwZS5oCisJYmVmb3JlIG92ZXJyaWRp bmcgdGhlaXIgZGVmaW5pdGlvbnMuCisJKFdFT0YsIHRvd3VwcGVyLCB0b3dsb3dlciwgYnRv d2MsIGlzd2FsbnVtLCBpc3dhbHBoYSwgaXN3dXBwZXIpCisJKGlzd2xvd2VyLCBtYnJ0b3dj LCB3Y3J0b21iLCB3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xsKToKKwkjdW5kZWYgYmVmb3Jl ICNkZWZpbmluZy4KKwkoYnRvd2MpOiBQYXJlbnRoZXNpemUgcHJvcGVybHkuCisJKG1icnRv d2MsIHdjcnRvbWIpOiBOZXcgbWFjcm9zLgorCSh3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xs KTogRGVmaW5lIHRvIGdhd2tfd2N0eXBlIGV0Yy4gdG8gYXZvaWQKKwljb2xsaXNpb25zIHdp dGggc3RhbmRhcmQgbGlicmFyeS4KKwogMjAxNC0wNC0wMyAgICAgICAgIEFybm9sZCBELiBS b2JiaW5zICAgICA8YXJub2xkQHNrZWV2ZS5jb20+CiAKIAkqIHJlZ2NvbXAuYyAocGFyc2Vf YnJhY2tldF9leHApOiBNb3ZlIGEgY2FsbCB0byBgcmVfZnJlZScgaW5zaWRlCmRpZmYgLS1n aXQgYS9hd2suaCBiL2F3ay5oCmluZGV4IGFlZmRkMDcuLmNkYmE3YTggMTAwNjQ0Ci0tLSBh L2F3ay5oCisrKyBiL2F3ay5oCkBAIC05NSw4ICs5NSw2IEBAIGV4dGVybiBpbnQgZXJybm87 CiAjaW5jbHVkZSAibWlzc2luZ19kL2dhd2tib29sLmgiCiAjZW5kaWYKIAotI2luY2x1ZGUg Im1ic3VwcG9ydC5oIiAvKiBkZWZpbmVzIE1CU19TVVBQT1JUICovCi0KICNpZiBNQlNfU1VQ UE9SVAogLyogV2UgY2FuIGhhbmRsZSBtdWx0aWJ5dGUgc3RyaW5ncy4gICovCiAjaW5jbHVk ZSA8d2NoYXIuaD4KZGlmZiAtLWdpdCBhL2N1c3RvbS5oIGIvY3VzdG9tLmgKaW5kZXggMzZi NGFhMC4uYmFkZTRjZiAxMDA2NDQKLS0tIGEvY3VzdG9tLmgKKysrIGIvY3VzdG9tLmgKQEAg LTc2LDMgKzc2LDEyIEBACiBleHRlcm4gaW50IHNldGVudihjb25zdCBjaGFyICpuYW1lLCBj b25zdCBjaGFyICp2YWx1ZSwgaW50IHJld3JpdGUpOwogZXh0ZXJuIGludCB1bnNldGVudihj b25zdCBjaGFyICpuYW1lKTsKICNlbmRpZgorCisvKiBUaGUgX19wdXJlX18gYXR0cmlidXRl IHdhcyBhZGRlZCBpbiBnY2MgMi45Ni4gICovCisjaWYgX19HTlVDX18gPiAyIHx8IChfX0dO VUNfXyA9PSAyICYmIF9fR05VQ19NSU5PUl9fID49IDk2KQorIyBkZWZpbmUgX0dMX0FUVFJJ QlVURV9QVVJFIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpCisjZWxzZQorIyBkZWZpbmUg X0dMX0FUVFJJQlVURV9QVVJFIC8qIGVtcHR5ICovCisjZW5kaWYKKworI2luY2x1ZGUgIm1i c3VwcG9ydC5oIgpkaWZmIC0tZ2l0IGEvZGZhLmMgYi9kZmEuYwppbmRleCAzNzgzMDVkLi5i NWY2OGJhIDEwMDY0NAotLS0gYS9kZmEuYworKysgYi9kZmEuYwpAQCAtMjIsNiArMjIsOCBA QAogCiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAKKyNpbmNsdWRlICJkZmEuaCIKKwogI2luY2x1 ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4K QEAgLTQzLDE2ICs0NSw2IEBACiAjaW5jbHVkZSAibWlzc2luZ19kL2dhd2tib29sLmgiCiAj ZW5kaWYgLyogSEFWRV9TVERCT09MX0ggKi8KIAotLyogR2F3ayBkb2Vzbid0IHVzZSBHbnVs aWIsIHNvIGRvbid0IGFzc3VtZSB0aGF0IHNldGxvY2FsZSBhbmQKLSAgIHN0YXRpY19hc3Nl cnQgYXJlIHByZXNlbnQuICAqLwotI2lmbmRlZiBMQ19BTEwKLSMgZGVmaW5lIHNldGxvY2Fs ZShjYXRlZ29yeSwgbG9jYWxlKSBOVUxMCi0jZW5kaWYKLSNpZm5kZWYgc3RhdGljX2Fzc2Vy dAotIyBkZWZpbmUgc3RhdGljX2Fzc2VydChjb25kLCBkaWFnbm9zdGljKSBcCi0gICAgZXh0 ZXJuIGludCAoKmZvbyAodm9pZCkpIFshIXNpemVvZiAoc3RydWN0IHsgaW50IGZvbzogKGNv bmQpID8gOCA6IC0xOyB9KV0KLSNlbmRpZgotCiAjZGVmaW5lIFNUUkVRKGEsIGIpIChzdHJj bXAgKGEsIGIpID09IDApCiAKIC8qIElTQVNDSUlESUdJVCBkaWZmZXJzIGZyb20gaXNkaWdp dCwgYXMgZm9sbG93czoKQEAgLTY5LDIxICs2MSw4IEBACiAjaW5jbHVkZSAiZ2V0dGV4dC5o IgogI2RlZmluZSBfKHN0cikgZ2V0dGV4dCAoc3RyKQogCi0jaW5jbHVkZSAibWJzdXBwb3J0 LmgiIC8qIERlZmluZSBNQlNfU1VQUE9SVCB0byAxIG9yIDAsIGFzIGFwcHJvcHJpYXRlLiAg Ki8KLSNpZiBNQlNfU1VQUE9SVAotLyogV2UgY2FuIGhhbmRsZSBtdWx0aWJ5dGUgc3RyaW5n cy4gICovCi0jIGluY2x1ZGUgPHdjaGFyLmg+Ci0jIGluY2x1ZGUgPHdjdHlwZS5oPgotI2Vu ZGlmCi0KLSNpZmRlZiBHQVdLCi0vKiBUaGUgX19wdXJlX18gYXR0cmlidXRlIHdhcyBhZGRl ZCBpbiBnY2MgMi45Ni4gICovCi0jaWYgX19HTlVDX18gPiAyIHx8IChfX0dOVUNfXyA9PSAy ICYmIF9fR05VQ19NSU5PUl9fID49IDk2KQotIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJF IF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpCi0jZWxzZQotIyBkZWZpbmUgX0dMX0FUVFJJ QlVURV9QVVJFIC8qIGVtcHR5ICovCi0jZW5kaWYKLSNlbmRpZiAvKiBHQVdLICovCisjaW5j bHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDx3Y3R5cGUuaD4KIAogI2lmIEhBVkVfTEFOR0lO Rk9fQ09ERVNFVAogIyBpbmNsdWRlIDxsYW5naW5mby5oPgpAQCAtOTEsOCArNzAsNiBAQAog CiAjaW5jbHVkZSAieGFsbG9jLmgiCiAKLSNpbmNsdWRlICJkZmEuaCIKLQogI2lmZGVmIEdB V0sKIHN0YXRpYyBpbnQKIGlzX2JsYW5rIChpbnQgYykKQEAgLTEwMSwxNCArNzgsNiBAQCBp c19ibGFuayAoaW50IGMpCiB9CiAjZW5kaWYgLyogR0FXSyAqLwogCi0jaWZkZWYgTElCQ19J U19CT1JLRUQKLWV4dGVybiBpbnQgZ2F3a19tYl9jdXJfbWF4OwotI3VuZGVmIE1CX0NVUl9N QVgKLSNkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1cl9tYXgKLSN1bmRlZiBtYnJ0b3dj Ci0jZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKC0xKQotI2VuZGlmCi0KIC8qIEhQVVgg ZGVmaW5lcyB0aGVzZSBhcyBtYWNyb3MgaW4gc3lzL3BhcmFtLmguICAqLwogI2lmZGVmIHNl dGJpdAogIyB1bmRlZiBzZXRiaXQKQEAgLTQxMiwxMyArMzgxLDExIEBAIHN0cnVjdCBkZmEK ICAgc2l6ZV90IG5tdWx0aWJ5dGVfcHJvcDsKICAgaW50ICptdWx0aWJ5dGVfcHJvcDsKIAot I2lmIE1CU19TVVBQT1JUCiAgIC8qIEEgdGFibGUgaW5kZXhlZCBieSBieXRlIHZhbHVlcyB0 aGF0IGNvbnRhaW5zIHRoZSBjb3JyZXNwb25kaW5nIHdpZGUKICAgICAgY2hhcmFjdGVyIChp ZiBhbnkpIGZvciB0aGF0IGJ5dGUuICBXRU9GIG1lYW5zIHRoZSBieXRlIGlzIHRoZQogICAg ICBsZWFkaW5nIGJ5dGUgb2YgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyLiAgSW52YWxpZCBhbmQg bnVsbCBieXRlcyBhcmUKICAgICAgbWFwcGVkIHRvIHRoZW1zZWx2ZXMuICAqLwogICB3aW50 X3QgbWJydG93Y19jYWNoZVtOT1RDSEFSXTsKLSNlbmRpZgogCiAgIC8qIEFycmF5IG9mIHRo ZSBicmFja2V0IGV4cHJlc3Npb24gaW4gdGhlIERGQS4gICovCiAgIHN0cnVjdCBtYl9jaGFy X2NsYXNzZXMgKm1iY3NldHM7CkBAIC01MjUsNyArNDkyLDYgQEAgc3RhdGljIHZvaWQgcmVn ZXhwICh2b2lkKTsKIHN0YXRpYyB2b2lkCiBkZmFtYmNhY2hlIChzdHJ1Y3QgZGZhICpkKQog ewotI2lmIE1CU19TVVBQT1JUCiAgIGludCBpOwogICBmb3IgKGkgPSBDSEFSX01JTjsgaSA8 PSBDSEFSX01BWDsgKytpKQogICAgIHsKQEAgLTU0MiwxMCArNTA4LDggQEAgZGZhbWJjYWNo ZSAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgfQogICAgICAgZC0+bWJydG93Y19jYWNoZVt1 Y10gPSB3aTsKICAgICB9Ci0jZW5kaWYKIH0KIAotI2lmIE1CU19TVVBQT1JUCiAvKiBHaXZl biB0aGUgZGZhIEQsIHN0b3JlIGludG8gKlBXQyB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcg dGhlCiAgICBsZWFkaW5nIGJ5dGVzIG9mIHRoZSBtdWx0aWJ5dGUgYnVmZmVyIFMgb2YgbGVu Z3RoIE4gYnl0ZXMsIHVwZGF0aW5nCiAgICB0aGUgY29udmVyc2lvbiBzdGF0ZSBpbiAqTUJT LiAgT24gY29udmVyc2lvbiBlcnJvciwgY29udmVydCBqdXN0IGEKQEAgLTU3OSw3ICs1NDMs NiBAQCBtYnNfdG9fd2NoYXIgKHN0cnVjdCBkZmEgKmQsIHdjaGFyX3QgKnB3YywgY2hhciBj b25zdCAqcywgc2l6ZV90IG4sCiAgICpwd2MgPSB3YzsKICAgcmV0dXJuIDE7CiB9Ci0jZW5k aWYKIAogI2lmZGVmIERFQlVHCiAKQEAgLTc0OSw3ICs3MTIsNyBAQCBzdGF0aWMgY2hhcmNs YXNzIG5ld2xpbmU7CiAjaWZkZWYgX19HTElCQ19fCiAjIGRlZmluZSBpc192YWxpZF91bmli eXRlX2NoYXJhY3RlcihjKSAxCiAjZWxzZQotIyBkZWZpbmUgaXNfdmFsaWRfdW5pYnl0ZV9j aGFyYWN0ZXIoYykgKCEgKE1CU19TVVBQT1JUICYmIGJ0b3djIChjKSA9PSBXRU9GKSkKKyMg ZGVmaW5lIGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFjdGVyKGMpIChidG93YyAoYykgIT0gV0VP RikKICNlbmRpZgogCiAvKiBSZXR1cm4gbm9uLXplcm8gaWYgQyBpcyBhICJ3b3JkLWNvbnN0 aXR1ZW50IiBieXRlOyB6ZXJvIG90aGVyd2lzZS4gICovCkBAIC04MTAsMTcgKzc3MywxMiBA QCBkZmFzeW50YXggKHJlZ19zeW50YXhfdCBiaXRzLCBpbnQgZm9sZCwgdW5zaWduZWQgY2hh ciBlb2wpCiBzdGF0aWMgYm9vbAogc2V0Yml0X3djICh3aW50X3Qgd2MsIGNoYXJjbGFzcyBj KQogewotI2lmIE1CU19TVVBQT1JUCiAgIGludCBiID0gd2N0b2IgKHdjKTsKICAgaWYgKGIg PT0gRU9GKQogICAgIHJldHVybiBmYWxzZTsKIAogICBzZXRiaXQgKGIsIGMpOwogICByZXR1 cm4gdHJ1ZTsKLSNlbHNlCi0gIGFib3J0ICgpOwotICAgLypOT1RSRUFDSEVEKi8gcmV0dXJu IGZhbHNlOwotI2VuZGlmCiB9CiAKIC8qIFNldCBhIGJpdCBmb3IgQiBhbmQgaXRzIGNhc2Ug dmFyaWFudHMgaW4gdGhlIGNoYXJjbGFzcyBDLgpAQCAtODQ1LDcgKzgwMyw3IEBAIHVzaW5n X3V0ZjggKHZvaWQpCiAgIHN0YXRpYyBpbnQgdXRmOCA9IC0xOwogICBpZiAodXRmOCA9PSAt MSkKICAgICB7Ci0jaWYgZGVmaW5lZCBIQVZFX0xBTkdJTkZPX0NPREVTRVQgJiYgTUJTX1NV UFBPUlQKKyNpZiBkZWZpbmVkIEhBVkVfTEFOR0lORk9fQ09ERVNFVAogICAgICAgdXRmOCA9 IChTVFJFUSAobmxfbGFuZ2luZm8gKENPREVTRVQpLCAiVVRGLTgiKSk7CiAjZWxzZQogICAg ICAgdXRmOCA9IDA7CkBAIC05MzgsNyArODk2LDYgQEAgc3RhdGljIHVuc2lnbmVkIGNoYXIg Y29uc3QgKmJ1Zl9iZWdpbjsgIC8qIHJlZmVyZW5jZSB0byBiZWdpbiBpbiBkZmFleGVjLiAg Ki8KIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0ICpidWZfZW5kOyAgICAvKiByZWZlcmVu Y2UgdG8gZW5kIGluIGRmYWV4ZWMuICAqLwogCiAKLSNpZiBNQlNfU1VQUE9SVAogLyogTm90 ZSB0aGF0IGNoYXJhY3RlcnMgYmVjb21lIHVuc2lnbmVkIGhlcmUuICAqLwogIyBkZWZpbmUg RkVUQ0hfV0MoYywgd2MsIGVvZmVycikJCVwKICAgZG8gewkJCQkJCVwKQEAgLTk2MSwyMyAr OTE4LDYgQEAgc3RhdGljIHVuc2lnbmVkIGNoYXIgY29uc3QgKmJ1Zl9lbmQ7ICAgIC8qIHJl ZmVyZW5jZSB0byBlbmQgaW4gZGZhZXhlYy4gICovCiAgICAgICB9CQkJCQkJXAogICB9IHdo aWxlICgwKQogCi0jZWxzZQotLyogTm90ZSB0aGF0IGNoYXJhY3RlcnMgYmVjb21lIHVuc2ln bmVkIGhlcmUuICAqLwotIyBkZWZpbmUgRkVUQ0hfV0MoYywgdW51c2VkLCBlb2ZlcnIpICBc Ci0gIGRvIHsJCQkJICAgICAgXAotICAgIGlmICghIGxleGxlZnQpCQkgICAgICBcCi0gICAg ICB7CQkJCSAgICAgIFwKLSAgICAgICAgaWYgKChlb2ZlcnIpICE9IDApCSAgICAgIFwKLSAg ICAgICAgICBkZmFlcnJvciAoZW9mZXJyKTsJICAgICAgXAotICAgICAgICBlbHNlCQkJICAg ICAgXAotICAgICAgICAgIHJldHVybiBsYXN0dG9rID0gRU5EOwkgICAgICBcCi0gICAgICB9 CQkJCSAgICAgIFwKLSAgICAoYykgPSB0b191Y2hhciAoKmxleHB0cisrKTsgICAgICAgXAot ICAgIC0tbGV4bGVmdDsJCQkgICAgICBcCi0gIH0gd2hpbGUgKDApCi0KLSNlbmRpZiAvKiBN QlNfU1VQUE9SVCAqLwotCiAjaWZuZGVmIE1JTgogIyBkZWZpbmUgTUlOKGEsYikgKChhKSA8 IChiKSA/IChhKSA6IChiKSkKICNlbmRpZgpAQCAtMTc2MSw3ICsxNzAxLDYgQEAgYWRkdG9r ICh0b2tlbiB0KQogICAgIH0KIH0KIAotI2lmIE1CU19TVVBQT1JUCiAvKiBXZSB0cmVhdCBh IG11bHRpYnl0ZSBjaGFyYWN0ZXIgYXMgYSBzaW5nbGUgYXRvbSwgc28gdGhhdCBERkEKICAg IGNhbiB0cmVhdCBhIG11bHRpYnl0ZSBjaGFyYWN0ZXIgYXMgYSBzaW5nbGUgZXhwcmVzc2lv bi4KIApAQCAtMTc5MywxNyArMTczMiwxMCBAQCBhZGR0b2tfd2MgKHdpbnRfdCB3YykKICAg ICAgIGFkZHRvayAoQ0FUKTsKICAgICB9CiB9Ci0jZWxzZQotc3RhdGljIHZvaWQKLWFkZHRv a193YyAod2ludF90IHdjKQotewotfQotI2VuZGlmCiAKIHN0YXRpYyB2b2lkCiBhZGRfdXRm OF9hbnljaGFyICh2b2lkKQogewotI2lmIE1CU19TVVBQT1JUCiAgIHN0YXRpYyBjb25zdCBj aGFyY2xhc3MgdXRmOF9jbGFzc2VzWzVdID0gewogICAgIHswLCAwLCAwLCAwLCB+MCwgfjAs IDAsIDB9LAkJLyogODAtYmY6IG5vbi1sZWFkaW5nIGJ5dGVzICovCiAgICAge34wLCB+MCwg fjAsIH4wLCAwLCAwLCAwLCAwfSwgICAgICAgLyogMDAtN2Y6IDEtYnl0ZSBzZXF1ZW5jZSAq LwpAQCAtMTg0OCw3ICsxNzgwLDYgQEAgYWRkX3V0ZjhfYW55Y2hhciAodm9pZCkKICAgICAg IGFkZHRvayAoQ0FUKTsKICAgICAgIGFkZHRvayAoT1IpOwogICAgIH0KLSNlbmRpZgogfQog CiAvKiBUaGUgZ3JhbW1hciB1bmRlcnN0b29kIGJ5IHRoZSBwYXJzZXIgaXMgYXMgZm9sbG93 cy4KQEAgLTE4ODksNyArMTgyMCw3IEBAIGFkZF91dGY4X2FueWNoYXIgKHZvaWQpCiBzdGF0 aWMgdm9pZAogYXRvbSAodm9pZCkKIHsKLSAgaWYgKE1CU19TVVBQT1JUICYmIHRvayA9PSBX Q0hBUikKKyAgaWYgKHRvayA9PSBXQ0hBUikKICAgICB7CiAgICAgICBhZGR0b2tfd2MgKHdj dG9rKTsKIApAQCAtMTkwNiw3ICsxODM3LDcgQEAgYXRvbSAodm9pZCkKIAogICAgICAgdG9r ID0gbGV4ICgpOwogICAgIH0KLSAgZWxzZSBpZiAoTUJTX1NVUFBPUlQgJiYgdG9rID09IEFO WUNIQVIgJiYgdXNpbmdfdXRmOCAoKSkKKyAgZWxzZSBpZiAodG9rID09IEFOWUNIQVIgJiYg dXNpbmdfdXRmOCAoKSkKICAgICB7CiAgICAgICAvKiBGb3IgVVRGLTggZXhwYW5kIHRoZSBw ZXJpb2QgdG8gYSBzZXJpZXMgb2YgQ1NFVHMgdGhhdCBkZWZpbmUgYSB2YWxpZAogICAgICAg ICAgVVRGLTggY2hhcmFjdGVyLiAgVGhpcyBhdm9pZHMgdXNpbmcgdGhlIHNsb3cgbXVsdGli eXRlIHBhdGguICBJJ20KQEAgLTE5MjAsOSArMTg1MSw3IEBAIGF0b20gKHZvaWQpCiAgICAg fQogICBlbHNlIGlmICgodG9rID49IDAgJiYgdG9rIDwgTk9UQ0hBUikgfHwgdG9rID49IENT RVQgfHwgdG9rID09IEJBQ0tSRUYKICAgICAgICAgICAgfHwgdG9rID09IEJFR0xJTkUgfHwg dG9rID09IEVORExJTkUgfHwgdG9rID09IEJFR1dPUkQKLSNpZiBNQlNfU1VQUE9SVAogICAg ICAgICAgICB8fCB0b2sgPT0gQU5ZQ0hBUiB8fCB0b2sgPT0gTUJDU0VUCi0jZW5kaWYgLyog TUJTX1NVUFBPUlQgKi8KICAgICAgICAgICAgfHwgdG9rID09IEVORFdPUkQgfHwgdG9rID09 IExJTVdPUkQgfHwgdG9rID09IE5PVExJTVdPUkQpCiAgICAgewogICAgICAgYWRkdG9rICh0 b2spOwpAQCAtMjIwNSwxMSArMjEzNCw5IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3QgZGZhICpk LCBwb3NpdGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICBkLT5zdGF0ZXNbaV0u YmFja3JlZiA9IDA7CiAgIGQtPnN0YXRlc1tpXS5jb25zdHJhaW50ID0gMDsKICAgZC0+c3Rh dGVzW2ldLmZpcnN0X2VuZCA9IDA7Ci0gIGlmIChNQlNfU1VQUE9SVCkKLSAgICB7Ci0gICAg ICBkLT5zdGF0ZXNbaV0ubWJwcy5uZWxlbSA9IDA7Ci0gICAgICBkLT5zdGF0ZXNbaV0ubWJw cy5lbGVtcyA9IE5VTEw7Ci0gICAgfQorICBkLT5zdGF0ZXNbaV0ubWJwcy5uZWxlbSA9IDA7 CisgIGQtPnN0YXRlc1tpXS5tYnBzLmVsZW1zID0gTlVMTDsKKwogICBmb3IgKGogPSAwOyBq IDwgcy0+bmVsZW07ICsraikKICAgICBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2pdLmluZGV4 XSA8IDApCiAgICAgICB7CkBAIC0yMjQ3LDEwICsyMTc0LDggQEAgZXBzY2xvc3VyZSAocG9z aXRpb25fc2V0ICogcywgc3RydWN0IGRmYSBjb25zdCAqZCkKICAgZm9yIChpID0gMDsgaSA8 IHMtPm5lbGVtOyArK2kpCiAgICAgaWYgKGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRleF0g Pj0gTk9UQ0hBUgogICAgICAgICAmJiBkLT50b2tlbnNbcy0+ZWxlbXNbaV0uaW5kZXhdICE9 IEJBQ0tSRUYKLSNpZiBNQlNfU1VQUE9SVAogICAgICAgICAmJiBkLT50b2tlbnNbcy0+ZWxl bXNbaV0uaW5kZXhdICE9IEFOWUNIQVIKICAgICAgICAgJiYgZC0+dG9rZW5zW3MtPmVsZW1z W2ldLmluZGV4XSAhPSBNQkNTRVQKLSNlbmRpZgogICAgICAgICAmJiBkLT50b2tlbnNbcy0+ ZWxlbXNbaV0uaW5kZXhdIDwgQ1NFVCkKICAgICAgIHsKICAgICAgICAgb2xkID0gcy0+ZWxl bXNbaV07CkBAIC0yNTY3LDkgKzI0OTIsNyBAQCBkZmFhbmFseXplIChzdHJ1Y3QgZGZhICpk LCBpbnQgc2VhcmNoZmxhZykKICAgICAgaXQgd2l0aCBpdHMgZXBzaWxvbiBjbG9zdXJlLiAg Ki8KICAgZm9yIChpID0gMDsgaSA8IGQtPnRpbmRleDsgKytpKQogICAgIGlmIChkLT50b2tl bnNbaV0gPCBOT1RDSEFSIHx8IGQtPnRva2Vuc1tpXSA9PSBCQUNLUkVGCi0jaWYgTUJTX1NV UFBPUlQKICAgICAgICAgfHwgZC0+dG9rZW5zW2ldID09IEFOWUNIQVIgfHwgZC0+dG9rZW5z W2ldID09IE1CQ1NFVAotI2VuZGlmCiAgICAgICAgIHx8IGQtPnRva2Vuc1tpXSA+PSBDU0VU KQogICAgICAgewogI2lmZGVmIERFQlVHCkBAIC0yNjc5LDkgKzI2MDIsOCBAQCBkZmFzdGF0 ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogICAg ICAgICBzZXRiaXQgKGQtPnRva2Vuc1twb3MuaW5kZXhdLCBtYXRjaGVzKTsKICAgICAgIGVs c2UgaWYgKGQtPnRva2Vuc1twb3MuaW5kZXhdID49IENTRVQpCiAgICAgICAgIGNvcHlzZXQg KGQtPmNoYXJjbGFzc2VzW2QtPnRva2Vuc1twb3MuaW5kZXhdIC0gQ1NFVF0sIG1hdGNoZXMp OwotICAgICAgZWxzZSBpZiAoTUJTX1NVUFBPUlQKLSAgICAgICAgICAgICAgICYmIChkLT50 b2tlbnNbcG9zLmluZGV4XSA9PSBBTllDSEFSCi0gICAgICAgICAgICAgICAgICAgfHwgZC0+ dG9rZW5zW3Bvcy5pbmRleF0gPT0gTUJDU0VUKSkKKyAgICAgIGVsc2UgaWYgKGQtPnRva2Vu c1twb3MuaW5kZXhdID09IEFOWUNIQVIKKyAgICAgICAgICAgICAgIHx8IGQtPnRva2Vuc1tw b3MuaW5kZXhdID09IE1CQ1NFVCkKICAgICAgICAgLyogTUJfQ1VSX01BWCA+IDEgICovCiAg ICAgICAgIHsKICAgICAgICAgICAvKiBBTllDSEFSIGFuZCBNQkNTRVQgbXVzdCBtYXRjaCB3 aXRoIGEgc2luZ2xlIGNoYXJhY3Rlciwgc28gd2UKQEAgLTI4NTUsNyArMjc3Nyw3IEBAIGRm YXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5zW10p CiAgICAgICAvKiBJZiB3ZSBhcmUgYnVpbGRpbmcgYSBzZWFyY2hpbmcgbWF0Y2hlciwgdGhy b3cgaW4gdGhlIHBvc2l0aW9ucwogICAgICAgICAgb2Ygc3RhdGUgMCBhcyB3ZWxsLiAgKi8K ICAgICAgIGlmIChkLT5zZWFyY2hmbGFnCi0gICAgICAgICAgJiYgKCFNQlNfU1VQUE9SVCB8 fCAoZC0+bWJfY3VyX21heCA9PSAxIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKSkKKyAgICAg ICAgICAmJiAoZC0+bWJfY3VyX21heCA9PSAxIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKQog ICAgICAgICBmb3IgKGogPSAwOyBqIDwgZC0+c3RhdGVzWzBdLmVsZW1zLm5lbGVtOyArK2op CiAgICAgICAgICAgaW5zZXJ0IChkLT5zdGF0ZXNbMF0uZWxlbXMuZWxlbXNbal0sICZmb2xs b3dzKTsKIApAQCAtMzQwNyw3ICszMzI5LDYgQEAgdHJhbnNpdF9zdGF0ZSAoc3RydWN0IGRm YSAqZCwgc3RhdGVfbnVtIHMsIHVuc2lnbmVkIGNoYXIgY29uc3QgKipwcCkKIHN0YXRpYyB2 b2lkCiBwcmVwYXJlX3djX2J1ZiAoc3RydWN0IGRmYSAqZCwgY29uc3QgY2hhciAqYmVnaW4s IGNvbnN0IGNoYXIgKmVuZCkKIHsKLSNpZiBNQlNfU1VQUE9SVAogICB1bnNpZ25lZCBjaGFy IGVvbCA9IGVvbGJ5dGU7CiAgIHNpemVfdCBpOwogICBzaXplX3QgaWxpbSA9IGVuZCAtIGJl Z2luICsgMTsKQEAgLTM0MzEsNyArMzM1Miw2IEBAIHByZXBhcmVfd2NfYnVmIChzdHJ1Y3Qg ZGZhICpkLCBjb25zdCBjaGFyICpiZWdpbiwgY29uc3QgY2hhciAqZW5kKQogICBidWZfZW5k ID0gKHVuc2lnbmVkIGNoYXIgKikgKGJlZ2luICsgaSk7CiAgIG1ibGVuX2J1ZltpXSA9IDA7 CiAgIGlucHV0d2NzW2ldID0gMDsgICAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCi0jZW5k aWYgLyogTUJTX1NVUFBPUlQgKi8KIH0KIAogLyogU2VhcmNoIHRocm91Z2ggYSBidWZmZXIg bG9va2luZyBmb3IgYSBtYXRjaCB0byB0aGUgZ2l2ZW4gc3RydWN0IGRmYS4KQEAgLTM2NTMs NyArMzU3Myw3IEBAIGRmYW9wdGltaXplIChzdHJ1Y3QgZGZhICpkKQogewogICBzaXplX3Qg aTsKIAotICBpZiAoIU1CU19TVVBQT1JUIHx8ICF1c2luZ191dGY4ICgpKQorICBpZiAoIXVz aW5nX3V0ZjggKCkpCiAgICAgcmV0dXJuOwogCiAgIGZvciAoaSA9IDA7IGkgPCBkLT50aW5k ZXg7ICsraSkKQEAgLTM3MDMsOCArMzYyMyw3IEBAIGRmYWZyZWUgKHN0cnVjdCBkZmEgKmQp CiAgIGZvciAoaSA9IDA7IGkgPCBkLT5zaW5kZXg7ICsraSkKICAgICB7CiAgICAgICBmcmVl IChkLT5zdGF0ZXNbaV0uZWxlbXMuZWxlbXMpOwotICAgICAgaWYgKE1CU19TVVBQT1JUKQot ICAgICAgICBmcmVlIChkLT5zdGF0ZXNbaV0ubWJwcy5lbGVtcyk7CisgICAgICBmcmVlIChk LT5zdGF0ZXNbaV0ubWJwcy5lbGVtcyk7CiAgICAgfQogICBmcmVlIChkLT5zdGF0ZXMpOwog ICBmb3IgKGkgPSAwOyBpIDwgZC0+dGluZGV4OyArK2kpCkBAIC00MTc5LDcgKzQwOTgsNyBA QCBkZmFtdXN0IChzdHJ1Y3QgZGZhICpkKQogICAgICAgICAgICAgICAvKiBub3Qgb24gKm15 KiBzaGlmdCAqLwogICAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgICAgICB9Ci0g ICAgICAgICAgZWxzZSBpZiAodCA+PSBDU0VUIHx8ICFNQlNfU1VQUE9SVCB8fCB0ID09IEFO WUNIQVIgfHwgdCA9PSBNQkNTRVQpCisgICAgICAgICAgZWxzZSBpZiAodCA+PSBDU0VUIHx8 IHQgPT0gQU5ZQ0hBUiB8fCB0ID09IE1CQ1NFVCkKICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgLyogZWFzeSBlbm91Z2ggKi8KICAgICAgICAgICAgICAgcmVzZXRtdXN0IChtcCk7 CmRpZmYgLS1naXQgYS9tYnN1cHBvcnQuaCBiL21ic3VwcG9ydC5oCmluZGV4IDlhNjI0ODYu LmFiMzNlOTEgMTAwNjQ0Ci0tLSBhL21ic3VwcG9ydC5oCisrKyBiL21ic3VwcG9ydC5oCkBA IC02Niw2ICs2NiwxNSBAQAogI2VuZGlmCiAKICNpZiAhIE1CU19TVVBQT1JUCisKKy8qIElu Y2x1ZGUgd2NoYXIuaCBhbmQgd2N0eXBlLmggc28gdGhlaXIgZGVmaW5pdGlvbnMgY2FuIGJl IG92ZXJyaWRkZW4uICAqLworCisjIGluY2x1ZGUgPHdjaGFyLmg+CisjIGluY2x1ZGUgPHdj dHlwZS5oPgorCisvKiBPdmVycmlkZSB0aGUgZGVmaW5pdGlvbnMgb2Ygd2NoYXIuaCBhbmQg d2N0eXBlLmggdG8gcHJvdmlkZSBhCisgICB1bmlieXRlIHN1YnN0aXR1dGUgdGhhdCBpcyBn b29kIGVub3VnaCBmb3IgR2F3ay4gICovCisKICMgdW5kZWYgTUJfQ1VSX01BWAogIyBkZWZp bmUgTUJfQ1VSX01BWCAxCiAKQEAgLTc4LDE1ICs4NywyNCBAQAogI2RlZmluZSB3Y3R5cGVf dAlpbnQKICNkZWZpbmUgd2ludF90CQlpbnQKICNkZWZpbmUgbWJzdGF0ZV90CWludAorI3Vu ZGVmIFdFT0YKICNkZWZpbmUgV0VPRgkJRU9GCisjdW5kZWYgdG93dXBwZXIKICNkZWZpbmUg dG93dXBwZXIJdG91cHBlcgorI3VuZGVmIHRvd2xvd2VyCiAjZGVmaW5lIHRvd2xvd2VyCXRv bG93ZXIKICNpZm5kZWYgX19ESkdQUF9fCi0jZGVmaW5lIGJ0b3djKHgpCSgoaW50KXgpCisj dW5kZWYgYnRvd2MKKyNkZWZpbmUgYnRvd2MoeCkJKChpbnQpICh4KSkKICNlbmRpZgorI3Vu ZGVmIGlzd2FsbnVtCiAjZGVmaW5lIGlzd2FsbnVtCWlzYWxudW0KKyN1bmRlZiBpc3dhbHBo YQogI2RlZmluZSBpc3dhbHBoYQlpc2FscGhhCisjdW5kZWYgaXN3dXBwZXIKICNkZWZpbmUg aXN3dXBwZXIJaXN1cHBlcgorI3VuZGVmIGlzd2xvd2VyCisjZGVmaW5lIGlzd2xvd2VyCWlz bG93ZXIKICNpZiBkZWZpbmVkKFpPU19VU1MpCiAjdW5kZWYgdG93dXBwZXIKICN1bmRlZiB0 b3dsb3dlcgpAQCAtOTQsMTIgKzExMiw0MCBAQAogI3VuZGVmIGlzd2FsbnVtCiAjdW5kZWYg aXN3YWxwaGEKICN1bmRlZiBpc3d1cHBlcgotI3VuZGVmIHdjdHlwZQotI3VuZGVmIGlzd2N0 eXBlCi0jdW5kZWYgd2NzY29sbAogI2VuZGlmCiAKKyN1bmRlZiBtYnJ0b3djCisjZGVmaW5l IG1icnRvd2MocHdjLCBzLCBuLCBwcykgKChzaXplX3QpIC0xKQorI3VuZGVmIHdjcnRvbWIK KyNkZWZpbmUgd2NydG9tYihzLCB3YywgcHMpICgoc2l6ZV90KSAtMSkKKworI3VuZGVmIHdj dHlwZQorI2RlZmluZSB3Y3R5cGUgZ2F3a193Y3R5cGUKIGV4dGVybiB3Y3R5cGVfdCB3Y3R5 cGUoY29uc3QgY2hhciAqbmFtZSk7CisjdW5kZWYgaXN3Y3R5cGUKKyNkZWZpbmUgaXN3Y3R5 cGUgZ2F3a19pc3djdHlwZQogZXh0ZXJuIGludCBpc3djdHlwZSh3aW50X3Qgd2MsIHdjdHlw ZV90IGRlc2MpOworI3VuZGVmIHdjc2NvbGwKKyNkZWZpbmUgd2NzY29sbCBnYXdrX3djc2Nv bGwKIGV4dGVybiBpbnQgd2NzY29sbChjb25zdCB3Y2hhcl90ICp3czEsIGNvbnN0IHdjaGFy X3QgKndzMik7CiAjZW5kaWYKKworI2lmZGVmIExJQkNfSVNfQk9SS0VECisjIGluY2x1ZGUg PHdjaGFyLmg+CitleHRlcm4gaW50IGdhd2tfbWJfY3VyX21heDsKKyMgdW5kZWYgTUJfQ1VS X01BWAorIyB1bmRlZiBtYnJ0b3djCisjIGRlZmluZSBNQl9DVVJfTUFYIGdhd2tfbWJfY3Vy X21heAorIyBkZWZpbmUgbWJydG93YyhhLCBiLCBjLCBkKSAoKHNpemVfdCkgLTEpCisjZW5k aWYKKworI2luY2x1ZGUgPGxvY2FsZS5oPgorI2lmbmRlZiBMQ19BTEwKKyMgZGVmaW5lIHNl dGxvY2FsZShjYXRlZ29yeSwgbG9jYWxlKSBOVUxMCisjZW5kaWYKKworI2luY2x1ZGUgPGFz c2VydC5oPgorI2lmbmRlZiBzdGF0aWNfYXNzZXJ0CisjIGRlZmluZSBzdGF0aWNfYXNzZXJ0 KGNvbmQsIGRpYWdub3N0aWMpIFwKKyAgICBleHRlcm4gaW50ICgqZm9vICh2b2lkKSkgWyEh c2l6ZW9mIChzdHJ1Y3QgeyBpbnQgZm9vOiAoY29uZCkgPyA4IDogLTE7IH0pXQorI2VuZGlm CmRpZmYgLS1naXQgYS9taXNzaW5nX2QvQ2hhbmdlTG9nIGIvbWlzc2luZ19kL0NoYW5nZUxv ZwppbmRleCBmOTRjMDcwLi43ZmE2NTQxIDEwMDY0NAotLS0gYS9taXNzaW5nX2QvQ2hhbmdl TG9nCisrKyBiL21pc3NpbmdfZC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3IEBACisyMDE0LTA0 LTAzICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCSogd2NtaXNjLmM6 IFJlbW92ZSBub3ctdW5uZWNlc3NhcnkgaWZkZWZzLgorCiAyMDEzLTA1LTA5ICAgICAgICAg QXJub2xkIEQuIFJvYmJpbnMgICAgIDxhcm5vbGRAc2tlZXZlLmNvbT4KIAogCSogNC4xLjA6 IFJlbGVhc2UgdGFyIGJhbGwgbWFkZS4KZGlmZiAtLWdpdCBhL21pc3NpbmdfZC93Y21pc2Mu YyBiL21pc3NpbmdfZC93Y21pc2MuYwppbmRleCBkMmI3YWEwLi44OWUyNGM5IDEwMDY0NAot LS0gYS9taXNzaW5nX2Qvd2NtaXNjLmMKKysrIGIvbWlzc2luZ19kL3djbWlzYy5jCkBAIC0x Niw3ICsxNiw2IEBACiAgICBGb3VuZGF0aW9uLCBJbmMuLAogICAgNTEgRnJhbmtsaW4gU3Ry ZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQSAqLwogCi0j aWYgIWRlZmluZWQoSEFWRV9XQ1RZUEUpIHx8ICFkZWZpbmVkKEhBVkVfSVNXQ1RZUEUpCiBz dGF0aWMgY29uc3QgY2hhciAqY2xhc3Nlc1tdID0gewogCSI8ZHVtbXk+IiwKIAkiYWxudW0i LApAQCAtMzMsMTYgKzMyLDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyICpjbGFzc2VzW10gPSB7 CiAJInhkaWdpdCIsCiAJTlVMTAogfTsKLSNlbmRpZgogCi0jaWZuZGVmIEhBVkVfSVNXQ1RZ UEUKIHN0YXRpYyBpbnQgaXNfYmxhbmsgKGludCBjKQogewogICAgcmV0dXJuIChjID09ICcg JyB8fCBjID09ICdcdCcpOwogfQotI2VuZGlmCiAKLSNpZm5kZWYgSEFWRV9XQ1RZUEUKIHdj dHlwZV90IHdjdHlwZShjb25zdCBjaGFyICpuYW1lKQogewogCWludCBpOwpAQCAtNTMsOSAr NDgsNyBAQCB3Y3R5cGVfdCB3Y3R5cGUoY29uc3QgY2hhciAqbmFtZSkKIAogCXJldHVybiAw OwogfQotI2VuZGlmCiAKLSNpZm5kZWYgSEFWRV9JU1dDVFlQRQogaW50IGlzd2N0eXBlKHdp bnRfdCB3Yywgd2N0eXBlX3QgZGVzYykKIHsKIAlpbnQgaiA9IHNpemVvZihjbGFzc2VzKSAv IHNpemVvZihjbGFzc2VzWzBdKTsKQEAgLTc5LDkgKzcyLDcgQEAgaW50IGlzd2N0eXBlKHdp bnRfdCB3Yywgd2N0eXBlX3QgZGVzYykKIAlkZWZhdWx0OglyZXR1cm4gMDsKIAl9CiB9Ci0j ZW5kaWYKIAotI2lmbmRlZiBIQVZFX1dDU0NPTEwKIGludCB3Y3Njb2xsKGNvbnN0IHdjaGFy X3QgKndzMSwgY29uc3Qgd2NoYXJfdCAqd3MyKQogewogCXNpemVfdCBpOwpAQCAtOTUsNiAr ODYsNSBAQCBpbnQgd2NzY29sbChjb25zdCB3Y2hhcl90ICp3czEsIGNvbnN0IHdjaGFyX3Qg KndzMikKIAogCXJldHVybiAod3MxW2ldIC0gd3MyW2ldKTsKIH0KLSNlbmRpZgogCiAvKndj bWlzYy5jKi8KZGlmZiAtLWdpdCBhL3JlZ2V4X2ludGVybmFsLmggYi9yZWdleF9pbnRlcm5h bC5oCmluZGV4IGM4OTgxYTAuLjc1OGNmNDcgMTAwNjQ0Ci0tLSBhL3JlZ2V4X2ludGVybmFs LmgKKysrIGIvcmVnZXhfaW50ZXJuYWwuaApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUg PHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCi0jaW5jbHVkZSAibWJzdXBwb3J0 LmgiIC8qIGdhd2sgKi8KLQogI2lmIGRlZmluZWQgSEFWRV9MQU5HSU5GT19IIHx8IGRlZmlu ZWQgSEFWRV9MQU5HSU5GT19DT0RFU0VUIHx8IGRlZmluZWQgX0xJQkMKICMgaW5jbHVkZSA8 bGFuZ2luZm8uaD4KICNlbmRpZgotLSAKMS45LjAKCg== --------------030007020205000705070305-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 16:27:22 2014 Received: (at 17072) by debbugs.gnu.org; 6 Apr 2014 20:27:22 +0000 Received: from localhost ([127.0.0.1]:38405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWtey-0004tk-JI for submit@debbugs.gnu.org; Sun, 06 Apr 2014 16:27:21 -0400 Received: from frenzy.freefriends.org ([66.54.153.139]:37513 helo=freefriends.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWtet-0004tW-8U for 17072@debbugs.gnu.org; Sun, 06 Apr 2014 16:27:16 -0400 X-Envelope-From: arnold@skeeve.com X-Envelope-To: <17072@debbugs.gnu.org> Received: from freefriends.org (localhost [127.0.0.1]) by freefriends.org (8.14.8/8.14.8) with ESMTP id s36KREUD009830 for <17072@debbugs.gnu.org>; Sun, 6 Apr 2014 14:27:14 -0600 Received: (from arnold@localhost) by freefriends.org (8.14.8/8.14.8/submit) id s36KREqx009829 for 17072@debbugs.gnu.org; Sun, 6 Apr 2014 20:27:14 GMT From: arnold@skeeve.com Message-Id: <201404062027.s36KREqx009829@freefriends.org> X-Authentication-Warning: frenzy.freefriends.org: arnold set sender to arnold@skeeve.com using -f Date: Sun, 06 Apr 2014 14:27:14 -0600 To: 17072@debbugs.gnu.org Subject: Re: bug#17072: closed (Re: bug#17072: dfa change apparently needed on Irix) References: <5341965A.6050400@cs.ucla.edu> <201403231932.s2NJWLYA003481@skeeve.com> In-Reply-To: User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17072 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hello Paul. > Your bug report > > #17072: dfa change apparently needed on Irix > > which was filed against the grep package, has been closed. > > The explanation is attached below, along with your original report. > If you require more details, please reply to 17072@debbugs.gnu.org. Moving dfa.h back to where it was is likely to break OpenVMS. See this in the gawk ChangeLog: 2013-01-31 Arnold D. Robbins * dfa.c: Include "dfa.h" which includes regex.h after limits.h so that RE_DUP_MAX gets the correct value. Especially needed on OpenVMS. Thanks to Anders Wallin. In general, I don't do stuff like that without a reason, and the reason can usually be found in the ChangeLogs if you look (or check with me). I would prefer to have dfa.h after the standard includes in dfa.c. The current code works on Irix and other systems as is... Thanks though. Arnold From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 17:26:16 2014 Received: (at 17072) by debbugs.gnu.org; 6 Apr 2014 21:26:16 +0000 Received: from localhost ([127.0.0.1]:38444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWuZy-0006Re-J4 for submit@debbugs.gnu.org; Sun, 06 Apr 2014 17:26:16 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:43135) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WWuZt-0006RO-IO; Sun, 06 Apr 2014 17:26:11 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 76DD539E8013; Sun, 6 Apr 2014 14:26:08 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L1I8WuL2vnJn; Sun, 6 Apr 2014 14:26:04 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id E7DBA39E8018; Sun, 6 Apr 2014 14:26:03 -0700 (PDT) Message-ID: <5341C66B.9070008@cs.ucla.edu> Date: Sun, 06 Apr 2014 14:26:03 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: arnold@skeeve.com, 17072@debbugs.gnu.org Subject: Re: bug#17072: closed (Re: bug#17072: dfa change apparently needed on Irix) References: <5341965A.6050400@cs.ucla.edu> <201403231932.s2NJWLYA003481@skeeve.com> <201404062027.s36KREqx009829@freefriends.org> In-Reply-To: <201404062027.s36KREqx009829@freefriends.org> Content-Type: multipart/mixed; boundary="------------050903030004050401040207" X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 17072 Cc: 17157@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) This is a multi-part message in MIME format. --------------050903030004050401040207 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit arnold@skeeve.com wrote: > 2013-01-31 Arnold D. Robbins > > * dfa.c: Include "dfa.h" which includes regex.h after limits.h > so that RE_DUP_MAX gets the correct value. Sorry, I missed that one. We ran into that problem in Gnulib in March 2012 and I should have included the fix in the proposed Gawk patch. Revised Gawk patch attached. This affects only regex.h (to make it like gnulib regex.h with respect to RE_DUP_MAX) and mbsupport.h (to add a #define). --------------050903030004050401040207 Content-Type: text/plain; charset=UTF-8; name="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.pa"; filename*1="tch" RnJvbSA4ZDVmZDQ0ZmY4ZWVmOGViMjMyZDk2ZGYxNGNlMzU1YWZlY2NhOTJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDMgQXByIDIwMTQgMTg6MDQ6NTIgLTA3MDAKU3ViamVjdDogW1BBVENI XSBhd2s6IHNpbXBsaWZ5IGRmYS5jIGJ5IGhhdmluZyBpdCBub3QgaW5jbHVkZSBtYnN1cHBv cnQuaAogZGlyZWN0bHkKClRoaXMgc3luY3MgZGZhLmMgYmV0dGVyIHdpdGggJ2dyZXAnLgoq IGF3ay5oLCByZWdleF9pbnRlcm5hbC5oLCBkZmEuYzogRG9uJ3QgaW5jbHVkZSBtYnN1cHBv cnQuaC4KKiBjdXN0b20uaDogSW5jbHVkZSBtYnN1cHBvcnQuaCBoZXJlIGluc3RlYWQuCihf R0xfQVRUUklCVVRFX1BVUkUpOiBNb3ZlIGhlcmUgZnJvbSBkZmEuYywgdG8gbGVzc2VuIHRo ZQpudW1iZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBncmVwJ3MgZGZhLmMgYW5kIG91cnMu CiogZGZhLmM6IEluY2x1ZGUgZGZhLmggZmlyc3Q7IHRoYXQgd29ya3Mgbm93LgpJbmNsdWRl IHdjaGFyLmggYW5kIHdjdHlwZS5oIHVuY29uZGl0aW9uYWxseSwgYXMKdGhpcyBzaW1wbGlm aWVzIHRoZSB1c2Ugb2YgZGZhLmMgaW4gZ3JlcCwgYW5kIGl0IGRvZXMgbm8gaGFybQppbiBn YXdrLgooZ2F3a19tYl9jdXJfbWF4LCBNQl9DVVJfTUFYLCBtYnJ0b3djKSBbTElCQ19JU19C T1JLRURdOgpNb3ZlIHRvIG1ic3VwcG9ydC5oIChuZWVkZWQgZm9yIGNvbnNpc3RlbmN5IGlu IGFsbCB1c2VzKSwKYW5kIGZpeCBtYnJ0b3djIHRvIHJldHVybiBzaXplX3QuCihzZXRsb2Nh bGUsIHN0YXRpY19hc3NlcnQpOiBMaWtld2lzZS4KKHN0cnVjdCBkZmEsIGRmYW1iY2FjaGUs IG1ic190b193Y2hhcikKKGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFjdGVyLCBzZXRiaXRfd2Ms IHVzaW5nX3V0ZjgsIEZFVENIX1dDKQooYWRkdG9rX3djLCBhZGRfdXRmOF9hbnljaGFyLCBh dG9tLCBzdGF0ZV9pbmRleCwgZXBzY2xvc3VyZSkKKGRmYWFuYWx5emUsIGRmYXN0YXRlLCBw cmVwYXJlX3djX2J1ZiwgZGZhb3B0aW1pemUsIGRmYWZyZWUsIGRmYW11c3QpOgoqIGRmYXNl YXJjaC5jIChFR2V4ZWN1dGUpOgoqIGdyZXAuYyAobWFpbik6Ciogc2VhcmNodXRpbHMuYyAo bWJ0b3VwcGVyKToKQXNzdW1lIE1CU19TVVBQT1JULgoqIG1ic3VwcG9ydC5oIFshTUJTX1NV UFBPUlRdOiBJbmNsdWRlIHdjaGFyLmgsIHdjdHlwZS5oCmJlZm9yZSBvdmVycmlkaW5nIHRo ZWlyIGRlZmluaXRpb25zLgooV0VPRiwgdG93dXBwZXIsIHRvd2xvd2VyLCBidG93YywgaXN3 YWxudW0sIGlzd2FscGhhLCBpc3d1cHBlcikKKGlzd2xvd2VyLCBtYnJ0b3djLCB3Y3J0b21i LCB3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xsKToKKGJ0b3djKTogUGFyZW50aGVzaXplIHBy b3Blcmx5LgoobWJydG93Yywgd2NydG9tYiwgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gpOiBO ZXcgbWFjcm9zLgood2N0eXBlLCBpc3djdHlwZSwgd2NzY29sbCk6IERlZmluZSB0byBnYXdr X3djdHlwZSBldGMuIHRvIGF2b2lkCmNvbGxpc2lvbnMgd2l0aCBzdGFuZGFyZCBsaWJyYXJ5 LgoqIHJlZ2V4LmggW19SRUdFWF9JTkNMVURFX0xJTUlUU19IXTogSW5jbHVkZSBsaW1pdHMu aDsKdGhpcyBzeW5jcyB0aGlzIHBhcnQgb2YgcmVnZXguaCB3aXRoIGdudWxpYi4KKiBtaXNz aW5nX2Qvd2NtaXNjLmM6IFJlbW92ZSBub3ctdW5uZWNlc3NhcnkgaWZkZWZzLgotLS0KIENo YW5nZUxvZyAgICAgICAgICAgfCAgMzIgKysrKysrKysrKysrKysrCiBhd2suaCAgICAgICAg ICAgICAgIHwgICAyIC0KIGN1c3RvbS5oICAgICAgICAgICAgfCAgIDkgKysrKwogZGZhLmMg ICAgICAgICAgICAgICB8IDExNSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBtYnN1cHBvcnQuaCAgICAgICAgIHwgIDU3ICsrKysrKysr KysrKysrKysrKysrKysrKy0tCiBtaXNzaW5nX2QvQ2hhbmdlTG9nIHwgICA0ICsrCiBtaXNz aW5nX2Qvd2NtaXNjLmMgIHwgIDEwIC0tLS0tCiByZWdleC5oICAgICAgICAgICAgIHwgIDE4 ICsrKysrKy0tCiByZWdleF9pbnRlcm5hbC5oICAgIHwgICAyIC0KIDkgZmlsZXMgY2hhbmdl ZCwgMTI5IGluc2VydGlvbnMoKyksIDEyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9D aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYTBlZmQ4OS4uMzZmYjBmNCAxMDA2NDQKLS0t IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTA0 LTAzICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCWF3azogc2ltcGxp ZnkgZGZhLmMgYnkgaGF2aW5nIGl0IG5vdCBpbmNsdWRlIG1ic3VwcG9ydC5oIGRpcmVjdGx5 CisJVGhpcyBzeW5jcyBkZmEuYyBiZXR0ZXIgd2l0aCAnZ3JlcCcuCisJKiBhd2suaCwgcmVn ZXhfaW50ZXJuYWwuaCwgZGZhLmM6IERvbid0IGluY2x1ZGUgbWJzdXBwb3J0LmguCisJKiBj dXN0b20uaDogSW5jbHVkZSBtYnN1cHBvcnQuaCBoZXJlIGluc3RlYWQuCisJKF9HTF9BVFRS SUJVVEVfUFVSRSk6IE1vdmUgaGVyZSBmcm9tIGRmYS5jLCB0byBsZXNzZW4gdGhlCisJbnVt YmVyIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gZ3JlcCdzIGRmYS5jIGFuZCBvdXJzLgorCSog ZGZhLmM6IEluY2x1ZGUgd2NoYXIuaCBhbmQgd2N0eXBlLmggdW5jb25kaXRpb25hbGx5LCBh cworCXRoaXMgc2ltcGxpZmllcyB0aGUgdXNlIG9mIGRmYS5jIGluIGdyZXAsIGFuZCBpdCBk b2VzIG5vIGhhcm0KKwlpbiBnYXdrLgorCShnYXdrX21iX2N1cl9tYXgsIE1CX0NVUl9NQVgs IG1icnRvd2MpIFtMSUJDX0lTX0JPUktFRF06CisJTW92ZSB0byBtYnN1cHBvcnQuaCAobmVl ZGVkIGZvciBjb25zaXN0ZW5jeSBpbiBhbGwgdXNlcyksCisJYW5kIGZpeCBtYnJ0b3djIHRv IHJldHVybiBzaXplX3QuCisJKHN0cnVjdCBkZmEsIGRmYW1iY2FjaGUsIG1ic190b193Y2hh cikKKwkoaXNfdmFsaWRfdW5pYnl0ZV9jaGFyYWN0ZXIsIHNldGJpdF93YywgdXNpbmdfdXRm OCwgRkVUQ0hfV0MpCisJKGFkZHRva193YywgYWRkX3V0ZjhfYW55Y2hhciwgYXRvbSwgc3Rh dGVfaW5kZXgsIGVwc2Nsb3N1cmUpCisJKGRmYWFuYWx5emUsIGRmYXN0YXRlLCBwcmVwYXJl X3djX2J1ZiwgZGZhb3B0aW1pemUsIGRmYWZyZWUsIGRmYW11c3QpOgorCSogZGZhc2VhcmNo LmMgKEVHZXhlY3V0ZSk6CisJKiBncmVwLmMgKG1haW4pOgorCSogc2VhcmNodXRpbHMuYyAo bWJ0b3VwcGVyKToKKwlBc3N1bWUgTUJTX1NVUFBPUlQuCisJKiBtYnN1cHBvcnQuaCBbIU1C U19TVVBQT1JUXTogSW5jbHVkZSB3Y2hhci5oLCB3Y3R5cGUuaAorCWJlZm9yZSBvdmVycmlk aW5nIHRoZWlyIGRlZmluaXRpb25zLgorCShXRU9GLCB0b3d1cHBlciwgdG93bG93ZXIsIGJ0 b3djLCBpc3dhbG51bSwgaXN3YWxwaGEsIGlzd3VwcGVyKQorCShpc3dsb3dlciwgbWJydG93 Yywgd2NydG9tYiwgd2N0eXBlLCBpc3djdHlwZSwgd2NzY29sbCk6CisJI3VuZGVmIGJlZm9y ZSAjZGVmaW5pbmcuCisJKGJ0b3djKTogUGFyZW50aGVzaXplIHByb3Blcmx5LgorCShtYnJ0 b3djLCB3Y3J0b21iKTogTmV3IG1hY3Jvcy4KKwkod2N0eXBlLCBpc3djdHlwZSwgd2NzY29s bCk6IERlZmluZSB0byBnYXdrX3djdHlwZSBldGMuIHRvIGF2b2lkCisJY29sbGlzaW9ucyB3 aXRoIHN0YW5kYXJkIGxpYnJhcnkuCisKIDIwMTQtMDQtMDMgICAgICAgICBBcm5vbGQgRC4g Um9iYmlucyAgICAgPGFybm9sZEBza2VldmUuY29tPgogCiAJKiByZWdjb21wLmMgKHBhcnNl X2JyYWNrZXRfZXhwKTogTW92ZSBhIGNhbGwgdG8gYHJlX2ZyZWUnIGluc2lkZQpkaWZmIC0t Z2l0IGEvYXdrLmggYi9hd2suaAppbmRleCBhZWZkZDA3Li5jZGJhN2E4IDEwMDY0NAotLS0g YS9hd2suaAorKysgYi9hd2suaApAQCAtOTUsOCArOTUsNiBAQCBleHRlcm4gaW50IGVycm5v OwogI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9vbC5oIgogI2VuZGlmCiAKLSNpbmNsdWRl ICJtYnN1cHBvcnQuaCIgLyogZGVmaW5lcyBNQlNfU1VQUE9SVCAqLwotCiAjaWYgTUJTX1NV UFBPUlQKIC8qIFdlIGNhbiBoYW5kbGUgbXVsdGlieXRlIHN0cmluZ3MuICAqLwogI2luY2x1 ZGUgPHdjaGFyLmg+CmRpZmYgLS1naXQgYS9jdXN0b20uaCBiL2N1c3RvbS5oCmluZGV4IDM2 YjRhYTAuLmJhZGU0Y2YgMTAwNjQ0Ci0tLSBhL2N1c3RvbS5oCisrKyBiL2N1c3RvbS5oCkBA IC03NiwzICs3NiwxMiBAQAogZXh0ZXJuIGludCBzZXRlbnYoY29uc3QgY2hhciAqbmFtZSwg Y29uc3QgY2hhciAqdmFsdWUsIGludCByZXdyaXRlKTsKIGV4dGVybiBpbnQgdW5zZXRlbnYo Y29uc3QgY2hhciAqbmFtZSk7CiAjZW5kaWYKKworLyogVGhlIF9fcHVyZV9fIGF0dHJpYnV0 ZSB3YXMgYWRkZWQgaW4gZ2NjIDIuOTYuICAqLworI2lmIF9fR05VQ19fID4gMiB8fCAoX19H TlVDX18gPT0gMiAmJiBfX0dOVUNfTUlOT1JfXyA+PSA5NikKKyMgZGVmaW5lIF9HTF9BVFRS SUJVVEVfUFVSRSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKQorI2Vsc2UKKyMgZGVmaW5l IF9HTF9BVFRSSUJVVEVfUFVSRSAvKiBlbXB0eSAqLworI2VuZGlmCisKKyNpbmNsdWRlICJt YnN1cHBvcnQuaCIKZGlmZiAtLWdpdCBhL2RmYS5jIGIvZGZhLmMKaW5kZXggMzc4MzA1ZC4u YjVmNjhiYSAxMDA2NDQKLS0tIGEvZGZhLmMKKysrIGIvZGZhLmMKQEAgLTIyLDYgKzIyLDgg QEAKIAogI2luY2x1ZGUgPGNvbmZpZy5oPgogCisjaW5jbHVkZSAiZGZhLmgiCisKICNpbmNs dWRlIDxhc3NlcnQuaD4KICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+ CkBAIC00MywxNiArNDUsNiBAQAogI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9vbC5oIgog I2VuZGlmIC8qIEhBVkVfU1REQk9PTF9IICovCiAKLS8qIEdhd2sgZG9lc24ndCB1c2UgR251 bGliLCBzbyBkb24ndCBhc3N1bWUgdGhhdCBzZXRsb2NhbGUgYW5kCi0gICBzdGF0aWNfYXNz ZXJ0IGFyZSBwcmVzZW50LiAgKi8KLSNpZm5kZWYgTENfQUxMCi0jIGRlZmluZSBzZXRsb2Nh bGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAotI2VuZGlmCi0jaWZuZGVmIHN0YXRpY19hc3Nl cnQKLSMgZGVmaW5lIHN0YXRpY19hc3NlcnQoY29uZCwgZGlhZ25vc3RpYykgXAotICAgIGV4 dGVybiBpbnQgKCpmb28gKHZvaWQpKSBbISFzaXplb2YgKHN0cnVjdCB7IGludCBmb286IChj b25kKSA/IDggOiAtMTsgfSldCi0jZW5kaWYKLQogI2RlZmluZSBTVFJFUShhLCBiKSAoc3Ry Y21wIChhLCBiKSA9PSAwKQogCiAvKiBJU0FTQ0lJRElHSVQgZGlmZmVycyBmcm9tIGlzZGln aXQsIGFzIGZvbGxvd3M6CkBAIC02OSwyMSArNjEsOCBAQAogI2luY2x1ZGUgImdldHRleHQu aCIKICNkZWZpbmUgXyhzdHIpIGdldHRleHQgKHN0cikKIAotI2luY2x1ZGUgIm1ic3VwcG9y dC5oIiAvKiBEZWZpbmUgTUJTX1NVUFBPUlQgdG8gMSBvciAwLCBhcyBhcHByb3ByaWF0ZS4g ICovCi0jaWYgTUJTX1NVUFBPUlQKLS8qIFdlIGNhbiBoYW5kbGUgbXVsdGlieXRlIHN0cmlu Z3MuICAqLwotIyBpbmNsdWRlIDx3Y2hhci5oPgotIyBpbmNsdWRlIDx3Y3R5cGUuaD4KLSNl bmRpZgotCi0jaWZkZWYgR0FXSwotLyogVGhlIF9fcHVyZV9fIGF0dHJpYnV0ZSB3YXMgYWRk ZWQgaW4gZ2NjIDIuOTYuICAqLwotI2lmIF9fR05VQ19fID4gMiB8fCAoX19HTlVDX18gPT0g MiAmJiBfX0dOVUNfTUlOT1JfXyA+PSA5NikKLSMgZGVmaW5lIF9HTF9BVFRSSUJVVEVfUFVS RSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKQotI2Vsc2UKLSMgZGVmaW5lIF9HTF9BVFRS SUJVVEVfUFVSRSAvKiBlbXB0eSAqLwotI2VuZGlmCi0jZW5kaWYgLyogR0FXSyAqLworI2lu Y2x1ZGUgPHdjaGFyLmg+CisjaW5jbHVkZSA8d2N0eXBlLmg+CiAKICNpZiBIQVZFX0xBTkdJ TkZPX0NPREVTRVQKICMgaW5jbHVkZSA8bGFuZ2luZm8uaD4KQEAgLTkxLDggKzcwLDYgQEAK IAogI2luY2x1ZGUgInhhbGxvYy5oIgogCi0jaW5jbHVkZSAiZGZhLmgiCi0KICNpZmRlZiBH QVdLCiBzdGF0aWMgaW50CiBpc19ibGFuayAoaW50IGMpCkBAIC0xMDEsMTQgKzc4LDYgQEAg aXNfYmxhbmsgKGludCBjKQogfQogI2VuZGlmIC8qIEdBV0sgKi8KIAotI2lmZGVmIExJQkNf SVNfQk9SS0VECi1leHRlcm4gaW50IGdhd2tfbWJfY3VyX21heDsKLSN1bmRlZiBNQl9DVVJf TUFYCi0jZGVmaW5lIE1CX0NVUl9NQVggZ2F3a19tYl9jdXJfbWF4Ci0jdW5kZWYgbWJydG93 YwotI2RlZmluZSBtYnJ0b3djKGEsIGIsIGMsIGQpICgtMSkKLSNlbmRpZgotCiAvKiBIUFVY IGRlZmluZXMgdGhlc2UgYXMgbWFjcm9zIGluIHN5cy9wYXJhbS5oLiAgKi8KICNpZmRlZiBz ZXRiaXQKICMgdW5kZWYgc2V0Yml0CkBAIC00MTIsMTMgKzM4MSwxMSBAQCBzdHJ1Y3QgZGZh CiAgIHNpemVfdCBubXVsdGlieXRlX3Byb3A7CiAgIGludCAqbXVsdGlieXRlX3Byb3A7CiAK LSNpZiBNQlNfU1VQUE9SVAogICAvKiBBIHRhYmxlIGluZGV4ZWQgYnkgYnl0ZSB2YWx1ZXMg dGhhdCBjb250YWlucyB0aGUgY29ycmVzcG9uZGluZyB3aWRlCiAgICAgIGNoYXJhY3RlciAo aWYgYW55KSBmb3IgdGhhdCBieXRlLiAgV0VPRiBtZWFucyB0aGUgYnl0ZSBpcyB0aGUKICAg ICAgbGVhZGluZyBieXRlIG9mIGEgbXVsdGlieXRlIGNoYXJhY3Rlci4gIEludmFsaWQgYW5k IG51bGwgYnl0ZXMgYXJlCiAgICAgIG1hcHBlZCB0byB0aGVtc2VsdmVzLiAgKi8KICAgd2lu dF90IG1icnRvd2NfY2FjaGVbTk9UQ0hBUl07Ci0jZW5kaWYKIAogICAvKiBBcnJheSBvZiB0 aGUgYnJhY2tldCBleHByZXNzaW9uIGluIHRoZSBERkEuICAqLwogICBzdHJ1Y3QgbWJfY2hh cl9jbGFzc2VzICptYmNzZXRzOwpAQCAtNTI1LDcgKzQ5Miw2IEBAIHN0YXRpYyB2b2lkIHJl Z2V4cCAodm9pZCk7CiBzdGF0aWMgdm9pZAogZGZhbWJjYWNoZSAoc3RydWN0IGRmYSAqZCkK IHsKLSNpZiBNQlNfU1VQUE9SVAogICBpbnQgaTsKICAgZm9yIChpID0gQ0hBUl9NSU47IGkg PD0gQ0hBUl9NQVg7ICsraSkKICAgICB7CkBAIC01NDIsMTAgKzUwOCw4IEBAIGRmYW1iY2Fj aGUgKHN0cnVjdCBkZmEgKmQpCiAgICAgICAgIH0KICAgICAgIGQtPm1icnRvd2NfY2FjaGVb dWNdID0gd2k7CiAgICAgfQotI2VuZGlmCiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogR2l2 ZW4gdGhlIGRmYSBELCBzdG9yZSBpbnRvICpQV0MgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5n IHRoZQogICAgbGVhZGluZyBieXRlcyBvZiB0aGUgbXVsdGlieXRlIGJ1ZmZlciBTIG9mIGxl bmd0aCBOIGJ5dGVzLCB1cGRhdGluZwogICAgdGhlIGNvbnZlcnNpb24gc3RhdGUgaW4gKk1C Uy4gIE9uIGNvbnZlcnNpb24gZXJyb3IsIGNvbnZlcnQganVzdCBhCkBAIC01NzksNyArNTQz LDYgQEAgbWJzX3RvX3djaGFyIChzdHJ1Y3QgZGZhICpkLCB3Y2hhcl90ICpwd2MsIGNoYXIg Y29uc3QgKnMsIHNpemVfdCBuLAogICAqcHdjID0gd2M7CiAgIHJldHVybiAxOwogfQotI2Vu ZGlmCiAKICNpZmRlZiBERUJVRwogCkBAIC03NDksNyArNzEyLDcgQEAgc3RhdGljIGNoYXJj bGFzcyBuZXdsaW5lOwogI2lmZGVmIF9fR0xJQkNfXwogIyBkZWZpbmUgaXNfdmFsaWRfdW5p Ynl0ZV9jaGFyYWN0ZXIoYykgMQogI2Vsc2UKLSMgZGVmaW5lIGlzX3ZhbGlkX3VuaWJ5dGVf Y2hhcmFjdGVyKGMpICghIChNQlNfU1VQUE9SVCAmJiBidG93YyAoYykgPT0gV0VPRikpCisj IGRlZmluZSBpc192YWxpZF91bmlieXRlX2NoYXJhY3RlcihjKSAoYnRvd2MgKGMpICE9IFdF T0YpCiAjZW5kaWYKIAogLyogUmV0dXJuIG5vbi16ZXJvIGlmIEMgaXMgYSAid29yZC1jb25z dGl0dWVudCIgYnl0ZTsgemVybyBvdGhlcndpc2UuICAqLwpAQCAtODEwLDE3ICs3NzMsMTIg QEAgZGZhc3ludGF4IChyZWdfc3ludGF4X3QgYml0cywgaW50IGZvbGQsIHVuc2lnbmVkIGNo YXIgZW9sKQogc3RhdGljIGJvb2wKIHNldGJpdF93YyAod2ludF90IHdjLCBjaGFyY2xhc3Mg YykKIHsKLSNpZiBNQlNfU1VQUE9SVAogICBpbnQgYiA9IHdjdG9iICh3Yyk7CiAgIGlmIChi ID09IEVPRikKICAgICByZXR1cm4gZmFsc2U7CiAKICAgc2V0Yml0IChiLCBjKTsKICAgcmV0 dXJuIHRydWU7Ci0jZWxzZQotICBhYm9ydCAoKTsKLSAgIC8qTk9UUkVBQ0hFRCovIHJldHVy biBmYWxzZTsKLSNlbmRpZgogfQogCiAvKiBTZXQgYSBiaXQgZm9yIEIgYW5kIGl0cyBjYXNl IHZhcmlhbnRzIGluIHRoZSBjaGFyY2xhc3MgQy4KQEAgLTg0NSw3ICs4MDMsNyBAQCB1c2lu Z191dGY4ICh2b2lkKQogICBzdGF0aWMgaW50IHV0ZjggPSAtMTsKICAgaWYgKHV0ZjggPT0g LTEpCiAgICAgewotI2lmIGRlZmluZWQgSEFWRV9MQU5HSU5GT19DT0RFU0VUICYmIE1CU19T VVBQT1JUCisjaWYgZGVmaW5lZCBIQVZFX0xBTkdJTkZPX0NPREVTRVQKICAgICAgIHV0Zjgg PSAoU1RSRVEgKG5sX2xhbmdpbmZvIChDT0RFU0VUKSwgIlVURi04IikpOwogI2Vsc2UKICAg ICAgIHV0ZjggPSAwOwpAQCAtOTM4LDcgKzg5Niw2IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFy IGNvbnN0ICpidWZfYmVnaW47ICAvKiByZWZlcmVuY2UgdG8gYmVnaW4gaW4gZGZhZXhlYy4g ICovCiBzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCAqYnVmX2VuZDsgICAgLyogcmVmZXJl bmNlIHRvIGVuZCBpbiBkZmFleGVjLiAgKi8KIAogCi0jaWYgTUJTX1NVUFBPUlQKIC8qIE5v dGUgdGhhdCBjaGFyYWN0ZXJzIGJlY29tZSB1bnNpZ25lZCBoZXJlLiAgKi8KICMgZGVmaW5l IEZFVENIX1dDKGMsIHdjLCBlb2ZlcnIpCQlcCiAgIGRvIHsJCQkJCQlcCkBAIC05NjEsMjMg KzkxOCw2IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0ICpidWZfZW5kOyAgICAvKiBy ZWZlcmVuY2UgdG8gZW5kIGluIGRmYWV4ZWMuICAqLwogICAgICAgfQkJCQkJCVwKICAgfSB3 aGlsZSAoMCkKIAotI2Vsc2UKLS8qIE5vdGUgdGhhdCBjaGFyYWN0ZXJzIGJlY29tZSB1bnNp Z25lZCBoZXJlLiAgKi8KLSMgZGVmaW5lIEZFVENIX1dDKGMsIHVudXNlZCwgZW9mZXJyKSAg XAotICBkbyB7CQkJCSAgICAgIFwKLSAgICBpZiAoISBsZXhsZWZ0KQkJICAgICAgXAotICAg ICAgewkJCQkgICAgICBcCi0gICAgICAgIGlmICgoZW9mZXJyKSAhPSAwKQkgICAgICBcCi0g ICAgICAgICAgZGZhZXJyb3IgKGVvZmVycik7CSAgICAgIFwKLSAgICAgICAgZWxzZQkJCSAg ICAgIFwKLSAgICAgICAgICByZXR1cm4gbGFzdHRvayA9IEVORDsJICAgICAgXAotICAgICAg fQkJCQkgICAgICBcCi0gICAgKGMpID0gdG9fdWNoYXIgKCpsZXhwdHIrKyk7ICAgICAgIFwK LSAgICAtLWxleGxlZnQ7CQkJICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZW5kaWYgLyog TUJTX1NVUFBPUlQgKi8KLQogI2lmbmRlZiBNSU4KICMgZGVmaW5lIE1JTihhLGIpICgoYSkg PCAoYikgPyAoYSkgOiAoYikpCiAjZW5kaWYKQEAgLTE3NjEsNyArMTcwMSw2IEBAIGFkZHRv ayAodG9rZW4gdCkKICAgICB9CiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogV2UgdHJlYXQg YSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGF0b20sIHNvIHRoYXQgREZBCiAg ICBjYW4gdHJlYXQgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGV4cHJlc3Np b24uCiAKQEAgLTE3OTMsMTcgKzE3MzIsMTAgQEAgYWRkdG9rX3djICh3aW50X3Qgd2MpCiAg ICAgICBhZGR0b2sgKENBVCk7CiAgICAgfQogfQotI2Vsc2UKLXN0YXRpYyB2b2lkCi1hZGR0 b2tfd2MgKHdpbnRfdCB3YykKLXsKLX0KLSNlbmRpZgogCiBzdGF0aWMgdm9pZAogYWRkX3V0 ZjhfYW55Y2hhciAodm9pZCkKIHsKLSNpZiBNQlNfU1VQUE9SVAogICBzdGF0aWMgY29uc3Qg Y2hhcmNsYXNzIHV0ZjhfY2xhc3Nlc1s1XSA9IHsKICAgICB7MCwgMCwgMCwgMCwgfjAsIH4w LCAwLCAwfSwJCS8qIDgwLWJmOiBub24tbGVhZGluZyBieXRlcyAqLwogICAgIHt+MCwgfjAs IH4wLCB+MCwgMCwgMCwgMCwgMH0sICAgICAgIC8qIDAwLTdmOiAxLWJ5dGUgc2VxdWVuY2Ug Ki8KQEAgLTE4NDgsNyArMTc4MCw2IEBAIGFkZF91dGY4X2FueWNoYXIgKHZvaWQpCiAgICAg ICBhZGR0b2sgKENBVCk7CiAgICAgICBhZGR0b2sgKE9SKTsKICAgICB9Ci0jZW5kaWYKIH0K IAogLyogVGhlIGdyYW1tYXIgdW5kZXJzdG9vZCBieSB0aGUgcGFyc2VyIGlzIGFzIGZvbGxv d3MuCkBAIC0xODg5LDcgKzE4MjAsNyBAQCBhZGRfdXRmOF9hbnljaGFyICh2b2lkKQogc3Rh dGljIHZvaWQKIGF0b20gKHZvaWQpCiB7Ci0gIGlmIChNQlNfU1VQUE9SVCAmJiB0b2sgPT0g V0NIQVIpCisgIGlmICh0b2sgPT0gV0NIQVIpCiAgICAgewogICAgICAgYWRkdG9rX3djICh3 Y3Rvayk7CiAKQEAgLTE5MDYsNyArMTgzNyw3IEBAIGF0b20gKHZvaWQpCiAKICAgICAgIHRv ayA9IGxleCAoKTsKICAgICB9Ci0gIGVsc2UgaWYgKE1CU19TVVBQT1JUICYmIHRvayA9PSBB TllDSEFSICYmIHVzaW5nX3V0ZjggKCkpCisgIGVsc2UgaWYgKHRvayA9PSBBTllDSEFSICYm IHVzaW5nX3V0ZjggKCkpCiAgICAgewogICAgICAgLyogRm9yIFVURi04IGV4cGFuZCB0aGUg cGVyaW9kIHRvIGEgc2VyaWVzIG9mIENTRVRzIHRoYXQgZGVmaW5lIGEgdmFsaWQKICAgICAg ICAgIFVURi04IGNoYXJhY3Rlci4gIFRoaXMgYXZvaWRzIHVzaW5nIHRoZSBzbG93IG11bHRp Ynl0ZSBwYXRoLiAgSSdtCkBAIC0xOTIwLDkgKzE4NTEsNyBAQCBhdG9tICh2b2lkKQogICAg IH0KICAgZWxzZSBpZiAoKHRvayA+PSAwICYmIHRvayA8IE5PVENIQVIpIHx8IHRvayA+PSBD U0VUIHx8IHRvayA9PSBCQUNLUkVGCiAgICAgICAgICAgIHx8IHRvayA9PSBCRUdMSU5FIHx8 IHRvayA9PSBFTkRMSU5FIHx8IHRvayA9PSBCRUdXT1JECi0jaWYgTUJTX1NVUFBPUlQKICAg ICAgICAgICAgfHwgdG9rID09IEFOWUNIQVIgfHwgdG9rID09IE1CQ1NFVAotI2VuZGlmIC8q IE1CU19TVVBQT1JUICovCiAgICAgICAgICAgIHx8IHRvayA9PSBFTkRXT1JEIHx8IHRvayA9 PSBMSU1XT1JEIHx8IHRvayA9PSBOT1RMSU1XT1JEKQogICAgIHsKICAgICAgIGFkZHRvayAo dG9rKTsKQEAgLTIyMDUsMTEgKzIxMzQsOSBAQCBzdGF0ZV9pbmRleCAoc3RydWN0IGRmYSAq ZCwgcG9zaXRpb25fc2V0IGNvbnN0ICpzLCBpbnQgY29udGV4dCkKICAgZC0+c3RhdGVzW2ld LmJhY2tyZWYgPSAwOwogICBkLT5zdGF0ZXNbaV0uY29uc3RyYWludCA9IDA7CiAgIGQtPnN0 YXRlc1tpXS5maXJzdF9lbmQgPSAwOwotICBpZiAoTUJTX1NVUFBPUlQpCi0gICAgewotICAg ICAgZC0+c3RhdGVzW2ldLm1icHMubmVsZW0gPSAwOwotICAgICAgZC0+c3RhdGVzW2ldLm1i cHMuZWxlbXMgPSBOVUxMOwotICAgIH0KKyAgZC0+c3RhdGVzW2ldLm1icHMubmVsZW0gPSAw OworICBkLT5zdGF0ZXNbaV0ubWJwcy5lbGVtcyA9IE5VTEw7CisKICAgZm9yIChqID0gMDsg aiA8IHMtPm5lbGVtOyArK2opCiAgICAgaWYgKGQtPnRva2Vuc1tzLT5lbGVtc1tqXS5pbmRl eF0gPCAwKQogICAgICAgewpAQCAtMjI0NywxMCArMjE3NCw4IEBAIGVwc2Nsb3N1cmUgKHBv c2l0aW9uX3NldCAqIHMsIHN0cnVjdCBkZmEgY29uc3QgKmQpCiAgIGZvciAoaSA9IDA7IGkg PCBzLT5uZWxlbTsgKytpKQogICAgIGlmIChkLT50b2tlbnNbcy0+ZWxlbXNbaV0uaW5kZXhd ID49IE5PVENIQVIKICAgICAgICAgJiYgZC0+dG9rZW5zW3MtPmVsZW1zW2ldLmluZGV4XSAh PSBCQUNLUkVGCi0jaWYgTUJTX1NVUFBPUlQKICAgICAgICAgJiYgZC0+dG9rZW5zW3MtPmVs ZW1zW2ldLmluZGV4XSAhPSBBTllDSEFSCiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVt c1tpXS5pbmRleF0gIT0gTUJDU0VUCi0jZW5kaWYKICAgICAgICAgJiYgZC0+dG9rZW5zW3Mt PmVsZW1zW2ldLmluZGV4XSA8IENTRVQpCiAgICAgICB7CiAgICAgICAgIG9sZCA9IHMtPmVs ZW1zW2ldOwpAQCAtMjU2Nyw5ICsyNDkyLDcgQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAq ZCwgaW50IHNlYXJjaGZsYWcpCiAgICAgIGl0IHdpdGggaXRzIGVwc2lsb24gY2xvc3VyZS4g ICovCiAgIGZvciAoaSA9IDA7IGkgPCBkLT50aW5kZXg7ICsraSkKICAgICBpZiAoZC0+dG9r ZW5zW2ldIDwgTk9UQ0hBUiB8fCBkLT50b2tlbnNbaV0gPT0gQkFDS1JFRgotI2lmIE1CU19T VVBQT1JUCiAgICAgICAgIHx8IGQtPnRva2Vuc1tpXSA9PSBBTllDSEFSIHx8IGQtPnRva2Vu c1tpXSA9PSBNQkNTRVQKLSNlbmRpZgogICAgICAgICB8fCBkLT50b2tlbnNbaV0gPj0gQ1NF VCkKICAgICAgIHsKICNpZmRlZiBERUJVRwpAQCAtMjY3OSw5ICsyNjAyLDggQEAgZGZhc3Rh dGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAg ICAgICAgc2V0Yml0IChkLT50b2tlbnNbcG9zLmluZGV4XSwgbWF0Y2hlcyk7CiAgICAgICBl bHNlIGlmIChkLT50b2tlbnNbcG9zLmluZGV4XSA+PSBDU0VUKQogICAgICAgICBjb3B5c2V0 IChkLT5jaGFyY2xhc3Nlc1tkLT50b2tlbnNbcG9zLmluZGV4XSAtIENTRVRdLCBtYXRjaGVz KTsKLSAgICAgIGVsc2UgaWYgKE1CU19TVVBQT1JUCi0gICAgICAgICAgICAgICAmJiAoZC0+ dG9rZW5zW3Bvcy5pbmRleF0gPT0gQU5ZQ0hBUgotICAgICAgICAgICAgICAgICAgIHx8IGQt PnRva2Vuc1twb3MuaW5kZXhdID09IE1CQ1NFVCkpCisgICAgICBlbHNlIGlmIChkLT50b2tl bnNbcG9zLmluZGV4XSA9PSBBTllDSEFSCisgICAgICAgICAgICAgICB8fCBkLT50b2tlbnNb cG9zLmluZGV4XSA9PSBNQkNTRVQpCiAgICAgICAgIC8qIE1CX0NVUl9NQVggPiAxICAqLwog ICAgICAgICB7CiAgICAgICAgICAgLyogQU5ZQ0hBUiBhbmQgTUJDU0VUIG11c3QgbWF0Y2gg d2l0aCBhIHNpbmdsZSBjaGFyYWN0ZXIsIHNvIHdlCkBAIC0yODU1LDcgKzI3NzcsNyBAQCBk ZmFzdGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1td KQogICAgICAgLyogSWYgd2UgYXJlIGJ1aWxkaW5nIGEgc2VhcmNoaW5nIG1hdGNoZXIsIHRo cm93IGluIHRoZSBwb3NpdGlvbnMKICAgICAgICAgIG9mIHN0YXRlIDAgYXMgd2VsbC4gICov CiAgICAgICBpZiAoZC0+c2VhcmNoZmxhZwotICAgICAgICAgICYmICghTUJTX1NVUFBPUlQg fHwgKGQtPm1iX2N1cl9tYXggPT0gMSB8fCAhbmV4dF9pc250XzFzdF9ieXRlKSkpCisgICAg ICAgICAgJiYgKGQtPm1iX2N1cl9tYXggPT0gMSB8fCAhbmV4dF9pc250XzFzdF9ieXRlKSkK ICAgICAgICAgZm9yIChqID0gMDsgaiA8IGQtPnN0YXRlc1swXS5lbGVtcy5uZWxlbTsgKytq KQogICAgICAgICAgIGluc2VydCAoZC0+c3RhdGVzWzBdLmVsZW1zLmVsZW1zW2pdLCAmZm9s bG93cyk7CiAKQEAgLTM0MDcsNyArMzMyOSw2IEBAIHRyYW5zaXRfc3RhdGUgKHN0cnVjdCBk ZmEgKmQsIHN0YXRlX251bSBzLCB1bnNpZ25lZCBjaGFyIGNvbnN0ICoqcHApCiBzdGF0aWMg dm9pZAogcHJlcGFyZV93Y19idWYgKHN0cnVjdCBkZmEgKmQsIGNvbnN0IGNoYXIgKmJlZ2lu LCBjb25zdCBjaGFyICplbmQpCiB7Ci0jaWYgTUJTX1NVUFBPUlQKICAgdW5zaWduZWQgY2hh ciBlb2wgPSBlb2xieXRlOwogICBzaXplX3QgaTsKICAgc2l6ZV90IGlsaW0gPSBlbmQgLSBi ZWdpbiArIDE7CkBAIC0zNDMxLDcgKzMzNTIsNiBAQCBwcmVwYXJlX3djX2J1ZiAoc3RydWN0 IGRmYSAqZCwgY29uc3QgY2hhciAqYmVnaW4sIGNvbnN0IGNoYXIgKmVuZCkKICAgYnVmX2Vu ZCA9ICh1bnNpZ25lZCBjaGFyICopIChiZWdpbiArIGkpOwogICBtYmxlbl9idWZbaV0gPSAw OwogICBpbnB1dHdjc1tpXSA9IDA7ICAgICAgICAgICAgICAvKiBzZW50aW5lbCAqLwotI2Vu ZGlmIC8qIE1CU19TVVBQT1JUICovCiB9CiAKIC8qIFNlYXJjaCB0aHJvdWdoIGEgYnVmZmVy IGxvb2tpbmcgZm9yIGEgbWF0Y2ggdG8gdGhlIGdpdmVuIHN0cnVjdCBkZmEuCkBAIC0zNjUz LDcgKzM1NzMsNyBAQCBkZmFvcHRpbWl6ZSAoc3RydWN0IGRmYSAqZCkKIHsKICAgc2l6ZV90 IGk7CiAKLSAgaWYgKCFNQlNfU1VQUE9SVCB8fCAhdXNpbmdfdXRmOCAoKSkKKyAgaWYgKCF1 c2luZ191dGY4ICgpKQogICAgIHJldHVybjsKIAogICBmb3IgKGkgPSAwOyBpIDwgZC0+dGlu ZGV4OyArK2kpCkBAIC0zNzAzLDggKzM2MjMsNyBAQCBkZmFmcmVlIChzdHJ1Y3QgZGZhICpk KQogICBmb3IgKGkgPSAwOyBpIDwgZC0+c2luZGV4OyArK2kpCiAgICAgewogICAgICAgZnJl ZSAoZC0+c3RhdGVzW2ldLmVsZW1zLmVsZW1zKTsKLSAgICAgIGlmIChNQlNfU1VQUE9SVCkK LSAgICAgICAgZnJlZSAoZC0+c3RhdGVzW2ldLm1icHMuZWxlbXMpOworICAgICAgZnJlZSAo ZC0+c3RhdGVzW2ldLm1icHMuZWxlbXMpOwogICAgIH0KICAgZnJlZSAoZC0+c3RhdGVzKTsK ICAgZm9yIChpID0gMDsgaSA8IGQtPnRpbmRleDsgKytpKQpAQCAtNDE3OSw3ICs0MDk4LDcg QEAgZGZhbXVzdCAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgICAgICAgLyogbm90IG9uICpt eSogc2hpZnQgKi8KICAgICAgICAgICAgICAgZ290byBkb25lOwogICAgICAgICAgICAgfQot ICAgICAgICAgIGVsc2UgaWYgKHQgPj0gQ1NFVCB8fCAhTUJTX1NVUFBPUlQgfHwgdCA9PSBB TllDSEFSIHx8IHQgPT0gTUJDU0VUKQorICAgICAgICAgIGVsc2UgaWYgKHQgPj0gQ1NFVCB8 fCB0ID09IEFOWUNIQVIgfHwgdCA9PSBNQkNTRVQpCiAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgIC8qIGVhc3kgZW5vdWdoICovCiAgICAgICAgICAgICAgIHJlc2V0bXVzdCAobXAp OwpkaWZmIC0tZ2l0IGEvbWJzdXBwb3J0LmggYi9tYnN1cHBvcnQuaAppbmRleCA5YTYyNDg2 Li4xOThhMGYzIDEwMDY0NAotLS0gYS9tYnN1cHBvcnQuaAorKysgYi9tYnN1cHBvcnQuaApA QCAtNjYsNiArNjYsMTUgQEAKICNlbmRpZgogCiAjaWYgISBNQlNfU1VQUE9SVAorCisvKiBJ bmNsdWRlIHdjaGFyLmggYW5kIHdjdHlwZS5oIHNvIHRoZWlyIGRlZmluaXRpb25zIGNhbiBi ZSBvdmVycmlkZGVuLiAgKi8KKworIyBpbmNsdWRlIDx3Y2hhci5oPgorIyBpbmNsdWRlIDx3 Y3R5cGUuaD4KKworLyogT3ZlcnJpZGUgdGhlIGRlZmluaXRpb25zIG9mIHdjaGFyLmggYW5k IHdjdHlwZS5oIHRvIHByb3ZpZGUgYQorICAgdW5pYnl0ZSBzdWJzdGl0dXRlIHRoYXQgaXMg Z29vZCBlbm91Z2ggZm9yIEdhd2suICAqLworCiAjIHVuZGVmIE1CX0NVUl9NQVgKICMgZGVm aW5lIE1CX0NVUl9NQVggMQogCkBAIC03OCwxNSArODcsMjQgQEAKICNkZWZpbmUgd2N0eXBl X3QJaW50CiAjZGVmaW5lIHdpbnRfdAkJaW50CiAjZGVmaW5lIG1ic3RhdGVfdAlpbnQKKyN1 bmRlZiBXRU9GCiAjZGVmaW5lIFdFT0YJCUVPRgorI3VuZGVmIHRvd3VwcGVyCiAjZGVmaW5l IHRvd3VwcGVyCXRvdXBwZXIKKyN1bmRlZiB0b3dsb3dlcgogI2RlZmluZSB0b3dsb3dlcgl0 b2xvd2VyCiAjaWZuZGVmIF9fREpHUFBfXwotI2RlZmluZSBidG93Yyh4KQkoKGludCl4KQor I3VuZGVmIGJ0b3djCisjZGVmaW5lIGJ0b3djKHgpCSgoaW50KSAoeCkpCiAjZW5kaWYKKyN1 bmRlZiBpc3dhbG51bQogI2RlZmluZSBpc3dhbG51bQlpc2FsbnVtCisjdW5kZWYgaXN3YWxw aGEKICNkZWZpbmUgaXN3YWxwaGEJaXNhbHBoYQorI3VuZGVmIGlzd3VwcGVyCiAjZGVmaW5l IGlzd3VwcGVyCWlzdXBwZXIKKyN1bmRlZiBpc3dsb3dlcgorI2RlZmluZSBpc3dsb3dlcglp c2xvd2VyCiAjaWYgZGVmaW5lZChaT1NfVVNTKQogI3VuZGVmIHRvd3VwcGVyCiAjdW5kZWYg dG93bG93ZXIKQEAgLTk0LDEyICsxMTIsNDMgQEAKICN1bmRlZiBpc3dhbG51bQogI3VuZGVm IGlzd2FscGhhCiAjdW5kZWYgaXN3dXBwZXIKLSN1bmRlZiB3Y3R5cGUKLSN1bmRlZiBpc3dj dHlwZQotI3VuZGVmIHdjc2NvbGwKICNlbmRpZgogCisjdW5kZWYgbWJydG93YworI2RlZmlu ZSBtYnJ0b3djKHB3YywgcywgbiwgcHMpICgoc2l6ZV90KSAtMSkKKyN1bmRlZiB3Y3J0b21i CisjZGVmaW5lIHdjcnRvbWIocywgd2MsIHBzKSAoKHNpemVfdCkgLTEpCisKKyN1bmRlZiB3 Y3R5cGUKKyNkZWZpbmUgd2N0eXBlIGdhd2tfd2N0eXBlCiBleHRlcm4gd2N0eXBlX3Qgd2N0 eXBlKGNvbnN0IGNoYXIgKm5hbWUpOworI3VuZGVmIGlzd2N0eXBlCisjZGVmaW5lIGlzd2N0 eXBlIGdhd2tfaXN3Y3R5cGUKIGV4dGVybiBpbnQgaXN3Y3R5cGUod2ludF90IHdjLCB3Y3R5 cGVfdCBkZXNjKTsKKyN1bmRlZiB3Y3Njb2xsCisjZGVmaW5lIHdjc2NvbGwgZ2F3a193Y3Nj b2xsCiBleHRlcm4gaW50IHdjc2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hh cl90ICp3czIpOwogI2VuZGlmCisKKyNpZmRlZiBMSUJDX0lTX0JPUktFRAorIyBpbmNsdWRl IDx3Y2hhci5oPgorZXh0ZXJuIGludCBnYXdrX21iX2N1cl9tYXg7CisjIHVuZGVmIE1CX0NV Ul9NQVgKKyMgdW5kZWYgbWJydG93YworIyBkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1 cl9tYXgKKyMgZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKChzaXplX3QpIC0xKQorI2Vu ZGlmCisKKyNpbmNsdWRlIDxsb2NhbGUuaD4KKyNpZm5kZWYgTENfQUxMCisjIGRlZmluZSBz ZXRsb2NhbGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAorI2VuZGlmCisKKyNpbmNsdWRlIDxh c3NlcnQuaD4KKyNpZm5kZWYgc3RhdGljX2Fzc2VydAorIyBkZWZpbmUgc3RhdGljX2Fzc2Vy dChjb25kLCBkaWFnbm9zdGljKSBcCisgICAgZXh0ZXJuIGludCAoKmZvbyAodm9pZCkpIFsh IXNpemVvZiAoc3RydWN0IHsgaW50IGZvbzogKGNvbmQpID8gOCA6IC0xOyB9KV0KKyNlbmRp ZgorCisvKiBNYWtlIHN1cmUgUkVfRFVQX01BWCBnZXRzIHRoZSBjb3JyZWN0IHZhbHVlLiAg Ki8KKyNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gKZGlmZiAtLWdpdCBhL21pc3Np bmdfZC9DaGFuZ2VMb2cgYi9taXNzaW5nX2QvQ2hhbmdlTG9nCmluZGV4IGY5NGMwNzAuLjdm YTY1NDEgMTAwNjQ0Ci0tLSBhL21pc3NpbmdfZC9DaGFuZ2VMb2cKKysrIGIvbWlzc2luZ19k L0NoYW5nZUxvZwpAQCAtMSwzICsxLDcgQEAKKzIwMTQtMDQtMDMgIFBhdWwgRWdnZXJ0ICA8 ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJKiB3Y21pc2MuYzogUmVtb3ZlIG5vdy11bm5lY2Vz c2FyeSBpZmRlZnMuCisKIDIwMTMtMDUtMDkgICAgICAgICBBcm5vbGQgRC4gUm9iYmlucyAg ICAgPGFybm9sZEBza2VldmUuY29tPgogCiAJKiA0LjEuMDogUmVsZWFzZSB0YXIgYmFsbCBt YWRlLgpkaWZmIC0tZ2l0IGEvbWlzc2luZ19kL3djbWlzYy5jIGIvbWlzc2luZ19kL3djbWlz Yy5jCmluZGV4IGQyYjdhYTAuLjg5ZTI0YzkgMTAwNjQ0Ci0tLSBhL21pc3NpbmdfZC93Y21p c2MuYworKysgYi9taXNzaW5nX2Qvd2NtaXNjLmMKQEAgLTE2LDcgKzE2LDYgQEAKICAgIEZv dW5kYXRpb24sIEluYy4sCiAgICA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBICovCiAKLSNpZiAhZGVmaW5lZChIQVZFX1dD VFlQRSkgfHwgIWRlZmluZWQoSEFWRV9JU1dDVFlQRSkKIHN0YXRpYyBjb25zdCBjaGFyICpj bGFzc2VzW10gPSB7CiAJIjxkdW1teT4iLAogCSJhbG51bSIsCkBAIC0zMywxNiArMzIsMTIg QEAgc3RhdGljIGNvbnN0IGNoYXIgKmNsYXNzZXNbXSA9IHsKIAkieGRpZ2l0IiwKIAlOVUxM CiB9OwotI2VuZGlmCiAKLSNpZm5kZWYgSEFWRV9JU1dDVFlQRQogc3RhdGljIGludCBpc19i bGFuayAoaW50IGMpCiB7CiAgICByZXR1cm4gKGMgPT0gJyAnIHx8IGMgPT0gJ1x0Jyk7CiB9 Ci0jZW5kaWYKIAotI2lmbmRlZiBIQVZFX1dDVFlQRQogd2N0eXBlX3Qgd2N0eXBlKGNvbnN0 IGNoYXIgKm5hbWUpCiB7CiAJaW50IGk7CkBAIC01Myw5ICs0OCw3IEBAIHdjdHlwZV90IHdj dHlwZShjb25zdCBjaGFyICpuYW1lKQogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKIAotI2lm bmRlZiBIQVZFX0lTV0NUWVBFCiBpbnQgaXN3Y3R5cGUod2ludF90IHdjLCB3Y3R5cGVfdCBk ZXNjKQogewogCWludCBqID0gc2l6ZW9mKGNsYXNzZXMpIC8gc2l6ZW9mKGNsYXNzZXNbMF0p OwpAQCAtNzksOSArNzIsNyBAQCBpbnQgaXN3Y3R5cGUod2ludF90IHdjLCB3Y3R5cGVfdCBk ZXNjKQogCWRlZmF1bHQ6CXJldHVybiAwOwogCX0KIH0KLSNlbmRpZgogCi0jaWZuZGVmIEhB VkVfV0NTQ09MTAogaW50IHdjc2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hh cl90ICp3czIpCiB7CiAJc2l6ZV90IGk7CkBAIC05NSw2ICs4Niw1IEBAIGludCB3Y3Njb2xs KGNvbnN0IHdjaGFyX3QgKndzMSwgY29uc3Qgd2NoYXJfdCAqd3MyKQogCiAJcmV0dXJuICh3 czFbaV0gLSB3czJbaV0pOwogfQotI2VuZGlmCiAKIC8qd2NtaXNjLmMqLwpkaWZmIC0tZ2l0 IGEvcmVnZXguaCBiL3JlZ2V4LmgKaW5kZXggNTY2MDI5Ni4uNDAwYjQwNyAxMDA2NDQKLS0t IGEvcmVnZXguaAorKysgYi9yZWdleC5oCkBAIC0yNjQsMTQgKzI2NCwyNCBAQCBleHRlcm4g cmVnX3N5bnRheF90IHJlX3N5bnRheF9vcHRpb25zOwogICAgfCBSRV9OT19CS19QQVJFTlMg ICAgICAgIHwgUkVfTk9fQktfUkVGUwkJCQlcCiAgICB8IFJFX05PX0JLX1ZCQVIJICAgIHwg UkVfVU5NQVRDSEVEX1JJR0hUX1BBUkVOX09SRCkKIC8qIFtbW2VuZCBzeW50YXhlc11dXSAq LwotDAotLyogTWF4aW11bSBudW1iZXIgb2YgZHVwbGljYXRlcyBhbiBpbnRlcnZhbCBjYW4g YWxsb3cuICBTb21lIHN5c3RlbXMKLSAgIChlcnJvbmVvdXNseSkgZGVmaW5lIHRoaXMgaW4g b3RoZXIgaGVhZGVyIGZpbGVzLCBidXQgd2Ugd2FudCBvdXIKKworLyogTWF4aW11bSBudW1i ZXIgb2YgZHVwbGljYXRlcyBhbiBpbnRlcnZhbCBjYW4gYWxsb3cuICBQT1NJWC1jb25mb3Jt aW5nCisgICBzeXN0ZW1zIG1pZ2h0IGRlZmluZSB0aGlzIGluIDxsaW1pdHMuaD4sIGJ1dCB3 ZSB3YW50IG91cgogICAgdmFsdWUsIHNvIHJlbW92ZSBhbnkgcHJldmlvdXMgZGVmaW5lLiAg Ki8KKyMgaWZkZWYgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gKKyMgIGluY2x1ZGUgPGxpbWl0 cy5oPgorIyBlbmRpZgogIyBpZmRlZiBSRV9EVVBfTUFYCiAjICB1bmRlZiBSRV9EVVBfTUFY CiAjIGVuZGlmCi0vKiBJZiBzaXplb2YoaW50KSA9PSAyLCB0aGVuICgoMSA8PCAxNSkgLSAx KSBvdmVyZmxvd3MuICAqLworCisvKiBSRV9EVVBfTUFYIGlzIDIqKjE1IC0gMSBiZWNhdXNl IGFuIGVhcmxpZXIgaW1wbGVtZW50YXRpb24gc3RvcmVkCisgICB0aGUgY291bnRlciBhcyBh IDItYnl0ZSBzaWduZWQgaW50ZWdlci4gIFRoaXMgaXMgbm8gbG9uZ2VyIHRydWUsIHNvCisg ICBSRV9EVVBfTUFYIGNvdWxkIGJlIGluY3JlYXNlZCB0byAoSU5UX01BWCAvIDEwIC0gMSks IG9yIHRvCisgICAoKFNJWkVfTUFYIC0gOSkgLyAxMCkgaWYgX1JFR0VYX0xBUkdFX09GRlNF VFMgaXMgZGVmaW5lZC4KKyAgIEhvd2V2ZXIsIHRoZXJlIHdvdWxkIGJlIGEgaHVnZSBwZXJm b3JtYW5jZSBwcm9ibGVtIGlmIHNvbWVvbmUKKyAgIGFjdHVhbGx5IHVzZWQgYSBwYXR0ZXJu IGxpa2UgYVx7MjE0NzQ4MzYzXH0sIHNvIFJFX0RVUF9NQVggcmV0YWlucworICAgaXRzIGhp c3RvcmljYWwgdmFsdWUuICAqLwogIyBkZWZpbmUgUkVfRFVQX01BWCAoMHg3ZmZmKQogI2Vu ZGlmCiAKZGlmZiAtLWdpdCBhL3JlZ2V4X2ludGVybmFsLmggYi9yZWdleF9pbnRlcm5hbC5o CmluZGV4IGM4OTgxYTAuLjc1OGNmNDcgMTAwNjQ0Ci0tLSBhL3JlZ2V4X2ludGVybmFsLmgK KysrIGIvcmVnZXhfaW50ZXJuYWwuaApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgPHN0 ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCi0jaW5jbHVkZSAibWJzdXBwb3J0Lmgi IC8qIGdhd2sgKi8KLQogI2lmIGRlZmluZWQgSEFWRV9MQU5HSU5GT19IIHx8IGRlZmluZWQg SEFWRV9MQU5HSU5GT19DT0RFU0VUIHx8IGRlZmluZWQgX0xJQkMKICMgaW5jbHVkZSA8bGFu Z2luZm8uaD4KICNlbmRpZgotLSAKMS45LjAKCg== --------------050903030004050401040207-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 02 02:11:24 2014 Received: (at 17072) by debbugs.gnu.org; 2 May 2014 06:11:24 +0000 Received: from localhost ([127.0.0.1]:47868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wg6gs-0004MV-Ee for submit@debbugs.gnu.org; Fri, 02 May 2014 02:11:23 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:47137) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wg6gn-0004M2-Ke; Fri, 02 May 2014 02:11:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6B944A60049; Thu, 1 May 2014 23:11:11 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uYzbHjlCoa6o; Thu, 1 May 2014 23:11:07 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id F302039E8014; Thu, 1 May 2014 23:11:06 -0700 (PDT) Message-ID: <536336FA.8020109@cs.ucla.edu> Date: Thu, 01 May 2014 23:11:06 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Aharon Robbins , 17381@debbugs.gnu.org Subject: Re: bug#17381: _GL_ATTRIBUTE_PURE in dfa.h References: <201405010619.s416JeNl020893@freefriends.org> <5361EAD7.7040507@cs.ucla.edu> <201405011829.s41IThl8004128@skeeve.com> In-Reply-To: <201405011829.s41IThl8004128@skeeve.com> Content-Type: multipart/mixed; boundary="------------030302090000050300070904" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17072 Cc: 17072@debbugs.gnu.org, 17157@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------030302090000050300070904 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 05/01/2014 11:29 AM, Aharon Robbins wrote: > custom.h is for system customization to override things that Autoconf > can't figure out or gets wrong OK, it's easy to have something else include mbsupport.h instead. config.h, say. The attached patch does that. It doesn't really matter what includes it, so long as it's done before dfa.c and dfa.h start using the multibyte functions. > Requiring gnulib in that header makes it less attractive to other > projects that might want to use dfa as a black box. Are there such? I > don't know. (I thought I'd heard something about gettext using dfa but > I am unsure if that is true.) gettext uses gnulib, so that's not an issue. > Does the GL_PURE stuff have to be on every declaration? Or can it just > be on the body? It should be on the declaration for external functions, so that the function's caller knows to optimize it. > What does it even mean It means the function has no effects except the return value and that the return value depends only on the parameters and/or global variables. > Does whatever optimization it enables *really* make a big difference, > or is it just a micro-optimization? We put it in because GCC nowadays complains if we leave it out, if we configure with --enable-gcc-warnings. The optimization seems to be a win in general and (more important) an aid for humans reading the code, so we typically just add the pure attribute and move on. > Yes, I know. I am unsure if your patch, which totally eliminates the > ability to compile gawk on systems without multibyte support It's not supposed to do that. It's supposed to work on those hosts, by supplying substitutes for wchar_t, wctype_t, etc. Hmm, are you worried about hosts that don't even have wchar.h and wctype.h? If so, that can be worked around reasonably easily; please see attached patch. > I just looked at the patch again. It really doesn't do the trick; > there are lots of places where MBS_SUPPORT is checked in the gawk code > and pulling mbsupport.h out of awk.h is likely to break things No, it should still work. With the revised patch, config.h includes mbsupport.h, so MBS_SUPPORT will be defined appropriately for gawk code and gawk's other MBS_SUPPORT usages will continue to work as before. I'll CC: this to Bug#17157 and Bug#17072 as it's following up to the last messages in both those threads, too. --------------030302090000050300070904 Content-Type: text/plain; charset=UTF-8; name="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-awk-simplify-dfa.c-by-having-it-not-include-mbsuppor.pa"; filename*1="tch" RnJvbSBmNjExMmFjYTQxZWE4YmQyMDI4ZWE1YjAwYTNhNzVkYjE0YTMyZWVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDEgTWF5IDIwMTQgMjM6MDk6MDAgLTA3MDAKU3ViamVjdDogW1BBVENI XSBhd2s6IHNpbXBsaWZ5IGRmYS5jIGJ5IGhhdmluZyBpdCBub3QgaW5jbHVkZSBtYnN1cHBv cnQuaAogZGlyZWN0bHkKClRoaXMgc3luY3MgZGZhLmMgYmV0dGVyIHdpdGggJ2dyZXAnLgoq IE1ha2VmaWxlLmFtIChTVERCT09MX0gsIFdDSEFSX0gsIFdDVFlQRV9IKTogTmV3IG1hY3Jv cy4KKCQoZ2F3a19PQkpDRVRTKSk6IERlcGVuZCBvbiB0aGVtLgooc3RkYm9vbC5oLCB3Y2hh ci5oLCB3Y3R5cGUuaCk6IE5ldyBydWxlcy4KKENMRUFORklMRVMpOiBBZGQgdGhlIG5ldyBm aWxlcyB0byB0aGlzIGxpc3QuCiogYXdrLmgsIHJlZ2V4X2ludGVybmFsLmgsIGRmYS5jOiBE b24ndCBpbmNsdWRlIG1ic3VwcG9ydC5oLgoqIGNvbmZpZ3VyZS5hYzogQXJyYW5nZSBmb3Ig Y29uZmlnLmggdG8gaW5jbHVkZSBpdCBpbnN0ZWFkLgooU1REQk9PTF9ILCBXQ0hBUl9ILCBX Q1RZUEVfSCk6IE5ldyBjb25maWd1cmF0aW9uIGl0ZW1zLgoqIGN1c3RvbS5oIChfR0xfQVRU UklCVVRFX1BVUkUpOiBNb3ZlIGhlcmUgZnJvbSBkZmEuYywgdG8gbGVzc2VuIHRoZQpudW1i ZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBncmVwJ3MgZGZhLmMgYW5kIG91cnMuCiogZGZh LmM6IEluY2x1ZGUgd2NoYXIuaCBhbmQgd2N0eXBlLmggdW5jb25kaXRpb25hbGx5LCBhcwp0 aGlzIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiBkZmEuYyBpbiBncmVwLCBhbmQgaXQgZG9lcyBu byBoYXJtCmluIGdhd2suCihzZXRsb2NhbGUpIFshTENfQUxMXToKKGdhd2tfbWJfY3VyX21h eCwgTUJfQ1VSX01BWCwgbWJydG93YykgW0xJQkNfSVNfQk9SS0VEXToKTW92ZSB0byBtYnN1 cHBvcnQuaCAobmVlZGVkIGZvciBjb25zaXN0ZW5jeSBpbiBhbGwgdXNlcyksCmFuZCBmaXgg bWJydG93YyB0byByZXR1cm4gc2l6ZV90Lgooc3RydWN0IGRmYSwgZGZhbWJjYWNoZSwgbWJz X3RvX3djaGFyKQooaXNfdmFsaWRfdW5pYnl0ZV9jaGFyYWN0ZXIsIHNldGJpdF93YywgdXNp bmdfdXRmOCwgRkVUQ0hfV0MpCihhZGR0b2tfd2MsIGFkZF91dGY4X2FueWNoYXIsIGF0b20s IHN0YXRlX2luZGV4LCBlcHNjbG9zdXJlKQooZGZhYW5hbHl6ZSwgZGZhc3RhdGUsIHByZXBh cmVfd2NfYnVmLCBkZmFvcHRpbWl6ZSwgZGZhZnJlZSwgZGZhbXVzdCk6CiogZGZhc2VhcmNo LmMgKEVHZXhlY3V0ZSk6CiogZ3JlcC5jIChtYWluKToKKiBzZWFyY2h1dGlscy5jIChtYnRv dXBwZXIpOgpBc3N1bWUgTUJTX1NVUFBPUlQuCiogZGZhLmg6IEluY2x1ZGUgc3RkYm9vbC5o IHVuY29uZGl0aW9uYWxseSwgc28gdGhhdCB0aGlzIGZpbGUgaXMKY2xvc2VyIHRvIHdoYXQn cyBpbiBncmVwLgoqIG1ic3VwcG9ydC5oIFshTUJTX1NVUFBPUlRdOiBJbmNsdWRlIHdjaGFy LmgsIHdjdHlwZS5oCmJlZm9yZSBvdmVycmlkaW5nIHRoZWlyIGRlZmluaXRpb25zLgooV0VP RiwgdG93dXBwZXIsIHRvd2xvd2VyLCBidG93YywgaXN3YWxudW0sIGlzd2FscGhhLCBpc3d1 cHBlcikKKGlzd2xvd2VyLCBtYnJ0b3djLCB3Y3J0b21iLCB3Y3R5cGUsIGlzd2N0eXBlLCB3 Y3Njb2xsKToKKGJ0b3djKTogUGFyZW50aGVzaXplIHByb3Blcmx5LgoobWJydG93Yywgd2Ny dG9tYik6IE5ldyBtYWNyb3MuCih3Y3R5cGUsIGlzd2N0eXBlLCB3Y3Njb2xsKTogRGVmaW5l IHRvIGdhd2tfd2N0eXBlIGV0Yy4gdG8gYXZvaWQKY29sbGlzaW9ucyB3aXRoIHN0YW5kYXJk IGxpYnJhcnkuCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICB8IDQwICsrKysrKysrKysrKysr KysrKysrKysrCiBNYWtlZmlsZS5hbSAgICAgICAgIHwgMTEgKysrKysrKwogYXdrLmggICAg ICAgICAgICAgICB8ICAyIC0tCiBjb25maWd1cmUuYWMgICAgICAgIHwgIDkgKysrKysrCiBj dXN0b20uaCAgICAgICAgICAgIHwgIDcgKysrKwogZGZhLmMgICAgICAgICAgICAgICB8IDkz ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkZmEuaCAgICAgICAgICAgICAgIHwgIDQgLS0tCiBtYnN1cHBvcnQuaCAgICAgICAgIHwg NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIG1pc3NpbmdfZC9DaGFuZ2VM b2cgfCAgNCArKysKIG1pc3NpbmdfZC93Y21pc2MuYyAgfCAxMCAtLS0tLS0KIHJlZ2V4Lmgg ICAgICAgICAgICAgfCAxOCArKysrKysrKy0tLQogcmVnZXhfaW50ZXJuYWwuaCAgICB8ICAy IC0tCiAxMiBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKSwgMTA4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMWIyOTRi Li44ZWJmYWVkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0x LDMgKzEsNDMgQEAKKzIwMTQtMDUtMDEgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEu ZWR1PgorCisJYXdrOiBzaW1wbGlmeSBkZmEuYyBieSBoYXZpbmcgaXQgbm90IGluY2x1ZGUg bWJzdXBwb3J0LmggZGlyZWN0bHkKKwlUaGlzIHN5bmNzIGRmYS5jIGJldHRlciB3aXRoICdn cmVwJy4KKwkqIE1ha2VmaWxlLmFtIChTVERCT09MX0gsIFdDSEFSX0gsIFdDVFlQRV9IKTog TmV3IG1hY3Jvcy4KKwkoJChnYXdrX09CSkNFVFMpKTogRGVwZW5kIG9uIHRoZW0uCisJKHN0 ZGJvb2wuaCwgd2NoYXIuaCwgd2N0eXBlLmgpOiBOZXcgcnVsZXMuCisJKENMRUFORklMRVMp OiBBZGQgdGhlIG5ldyBmaWxlcyB0byB0aGlzIGxpc3QuCisJKiBhd2suaCwgcmVnZXhfaW50 ZXJuYWwuaCwgZGZhLmM6IERvbid0IGluY2x1ZGUgbWJzdXBwb3J0LmguCisJKiBjb25maWd1 cmUuYWM6IEFycmFuZ2UgZm9yIGNvbmZpZy5oIHRvIGluY2x1ZGUgaXQgaW5zdGVhZC4KKwko U1REQk9PTF9ILCBXQ0hBUl9ILCBXQ1RZUEVfSCk6IE5ldyBjb25maWd1cmF0aW9uIGl0ZW1z LgorCSogY3VzdG9tLmggKF9HTF9BVFRSSUJVVEVfUFVSRSk6IE1vdmUgaGVyZSBmcm9tIGRm YS5jLCB0byBsZXNzZW4gdGhlCisJbnVtYmVyIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gZ3Jl cCdzIGRmYS5jIGFuZCBvdXJzLgorCSogZGZhLmM6IEluY2x1ZGUgd2NoYXIuaCBhbmQgd2N0 eXBlLmggdW5jb25kaXRpb25hbGx5LCBhcworCXRoaXMgc2ltcGxpZmllcyB0aGUgdXNlIG9m IGRmYS5jIGluIGdyZXAsIGFuZCBpdCBkb2VzIG5vIGhhcm0KKwlpbiBnYXdrLgorCShzZXRs b2NhbGUpIFshTENfQUxMXToKKwkoZ2F3a19tYl9jdXJfbWF4LCBNQl9DVVJfTUFYLCBtYnJ0 b3djKSBbTElCQ19JU19CT1JLRURdOgorCU1vdmUgdG8gbWJzdXBwb3J0LmggKG5lZWRlZCBm b3IgY29uc2lzdGVuY3kgaW4gYWxsIHVzZXMpLAorCWFuZCBmaXggbWJydG93YyB0byByZXR1 cm4gc2l6ZV90LgorCShzdHJ1Y3QgZGZhLCBkZmFtYmNhY2hlLCBtYnNfdG9fd2NoYXIpCisJ KGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFjdGVyLCBzZXRiaXRfd2MsIHVzaW5nX3V0ZjgsIEZF VENIX1dDKQorCShhZGR0b2tfd2MsIGFkZF91dGY4X2FueWNoYXIsIGF0b20sIHN0YXRlX2lu ZGV4LCBlcHNjbG9zdXJlKQorCShkZmFhbmFseXplLCBkZmFzdGF0ZSwgcHJlcGFyZV93Y19i dWYsIGRmYW9wdGltaXplLCBkZmFmcmVlLCBkZmFtdXN0KToKKwkqIGRmYXNlYXJjaC5jIChF R2V4ZWN1dGUpOgorCSogZ3JlcC5jIChtYWluKToKKwkqIHNlYXJjaHV0aWxzLmMgKG1idG91 cHBlcik6CisJQXNzdW1lIE1CU19TVVBQT1JULgorCSogZGZhLmg6IEluY2x1ZGUgc3RkYm9v bC5oIHVuY29uZGl0aW9uYWxseSwgc28gdGhhdCB0aGlzIGZpbGUgaXMKKwljbG9zZXIgdG8g d2hhdCdzIGluIGdyZXAuCisJKiBtYnN1cHBvcnQuaCBbIU1CU19TVVBQT1JUXTogSW5jbHVk ZSB3Y2hhci5oLCB3Y3R5cGUuaAorCWJlZm9yZSBvdmVycmlkaW5nIHRoZWlyIGRlZmluaXRp b25zLgorCShXRU9GLCB0b3d1cHBlciwgdG93bG93ZXIsIGJ0b3djLCBpc3dhbG51bSwgaXN3 YWxwaGEsIGlzd3VwcGVyKQorCShpc3dsb3dlciwgbWJydG93Yywgd2NydG9tYiwgd2N0eXBl LCBpc3djdHlwZSwgd2NzY29sbCk6CisJI3VuZGVmIGJlZm9yZSAjZGVmaW5pbmcuCisJKGJ0 b3djKTogUGFyZW50aGVzaXplIHByb3Blcmx5LgorCShtYnJ0b3djLCB3Y3J0b21iKTogTmV3 IG1hY3Jvcy4KKwkod2N0eXBlLCBpc3djdHlwZSwgd2NzY29sbCk6IERlZmluZSB0byBnYXdr X3djdHlwZSBldGMuIHRvIGF2b2lkCisJY29sbGlzaW9ucyB3aXRoIHN0YW5kYXJkIGxpYnJh cnkuCisKIDIwMTQtMDQtMjUgICAgICAgICBBbmRyZXcgSi4gU2Nob3JyICAgICA8YXNjaG9y ckB0ZWxlbWV0cnktaW52ZXN0bWVudHMuY29tPgogCiAJKiBpby5jICh0d29fd2F5X29wZW4p OiBJbiBmb3JrZWQgY2hpbGQsIHJlc2V0IFNJR1BJUEUgdG8gU0lHX0RGTC4KZGlmZiAtLWdp dCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNmU1NzE1ZC4uZjFhNzI1YSAx MDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAgLTE5Niw2ICsx OTYsMTcgQEAgY29tbWFuZC5jOiBjb21tYW5kLnkKIAkkKFlBQ0MpIC1wIHp6ICQ8CiAJc2Vk ICdzL3BhcnNlIGVycm9yL3N5bnRheCBlcnJvci9nJyA8IHkudGFiLmMgfCBhd2sgLWYgJChz cmNkaXIpL2Jpc29uZml4LmF3ayBjb21tYW5kID4gJCouYyAmJiBybSB5LnRhYi5jCiAKKyMg QXJyYW5nZSBmb3Igc29tZSBzdGFuZGFyZCBoZWFkZXJzIG9uIHBsYXRmb3JtcyB0aGF0IGxh Y2sgdGhlbS4KK1NUREJPT0xfSCA9IEBTVERCT09MX0hACitXQ0hBUl9IID0gQFdDSEFSX0hA CitXQ1RZUEVfSCA9IEBXQ1RZUEVfSEAKKyQoZ2F3a19PQkpFQ1RTKTogJChTVERCT09MX0gp ICQoV0NIQVJfSCkgJChXQ1RZUEVfSCkKK3N0ZGJvb2wuaDoKKwllY2hvICcjaW5jbHVkZSAi bWlzc2luZ19kL2dhd2tib29sLmgiJyA+JEAKK3djaGFyLmggd2N0eXBlLmg6CisJZWNobyAn JyA+JEAKK0NMRUFORklMRVMgKz0gc3RkYm9vbC5oIHdjaGFyLmggd2N0eXBlLmgKKwogIyBU aGlzIGlzIGZvciBteSBkZXZlbG9wbWVudCAmIHRlc3RpbmcuCiBlZmVuY2U6IGdhd2sKIAkk KENDKSAkKExERkxBR1MpIC1vIGdhd2sgJCQobHMgKi5vIHwgZ3JlcCAtdiAnX3AubyQkJykg JChMSUJTKSAtbGVmZW5jZQpkaWZmIC0tZ2l0IGEvYXdrLmggYi9hd2suaAppbmRleCBhZWZk ZDA3Li5jZGJhN2E4IDEwMDY0NAotLS0gYS9hd2suaAorKysgYi9hd2suaApAQCAtOTUsOCAr OTUsNiBAQCBleHRlcm4gaW50IGVycm5vOwogI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9v bC5oIgogI2VuZGlmCiAKLSNpbmNsdWRlICJtYnN1cHBvcnQuaCIgLyogZGVmaW5lcyBNQlNf U1VQUE9SVCAqLwotCiAjaWYgTUJTX1NVUFBPUlQKIC8qIFdlIGNhbiBoYW5kbGUgbXVsdGli eXRlIHN0cmluZ3MuICAqLwogI2luY2x1ZGUgPHdjaGFyLmg+CmRpZmYgLS1naXQgYS9jb25m aWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggZTdlMmQ1Zi4uMjQ0N2MzMiAxMDA2NDQK LS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTUzLDYgKzE1Mywx NCBAQCBlbHNlCiAJQUNfQ0hFQ0tfSEVBREVSUyhzdHJpbmdzLmgpCiBmaQogCitTVERCT09M X0g9IFdDSEFSX0g9IFdDVFlQRV9IPQordGVzdCAiJGFjX2N2X2hlYWRlcl9zdGRib29sX2gi ICE9IHllcyAmJiBTVERCT09MX0g9c3RkYm9vbC5oCit0ZXN0ICIkYWNfY3ZfaGVhZGVyX3dj aGFyX2giICE9IHllcyAmJiBXQ0hBUl9IPXdjaGFyLmgKK3Rlc3QgIiRhY19jdl9oZWFkZXJf d2N0eXBlX2giICE9IHllcyAmJiBXQ1RZUEVfSD13Y3R5cGUuaAorQUNfU1VCU1QoW1NUREJP T0xfSF0pCitBQ19TVUJTVChbV0NIQVJfSF0pCitBQ19TVUJTVChbV0NUWVBFX0hdKQorCiBk bmwgQ2hlY2sgY3Jvc3MgY29tcGlsaW5nCiBBTV9DT05ESVRJT05BTChbVEVTVF9DUk9TU19D T01QSUxFXSwgW3Rlc3QgIngkYnVpbGRfYWxpYXMiICE9ICJ4JGhvc3RfYWxpYXMiXSkKIApA QCAtMzkwLDYgKzM5OCw3IEBAIEFDX0NfU1RSSU5HSVpFCiAKIEFDX0NPTkZJR19IRUFERVJT KFtjb25maWcuaDpjb25maWdoLmluXSkKIEFIX0JPVFRPTShbI2luY2x1ZGUgImN1c3RvbS5o Il0pCitBSF9CT1RUT00oWyNpbmNsdWRlICJtYnN1cHBvcnQuaCJdKQogCiBkbmwgQ3J1ZGUg YnV0IHNtYWxsIGhhY2sgdG8gbWFrZSBwbHVnLWlucyB3b3JrIG9uIE1hYyBPUyBYCiBkbmwg V2Ugc2hvdWxkIHJlYWxseSB1c2UgdGhlIGxpYnRvb2wgdmFsdWUgZm9yIHNocmV4dF9jbWRz LCBidXQgdGhhdApkaWZmIC0tZ2l0IGEvY3VzdG9tLmggYi9jdXN0b20uaAppbmRleCAzNmI0 YWEwLi41YjE5ZGQ0IDEwMDY0NAotLS0gYS9jdXN0b20uaAorKysgYi9jdXN0b20uaApAQCAt NzYsMyArNzYsMTAgQEAKIGV4dGVybiBpbnQgc2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUsIGNv bnN0IGNoYXIgKnZhbHVlLCBpbnQgcmV3cml0ZSk7CiBleHRlcm4gaW50IHVuc2V0ZW52KGNv bnN0IGNoYXIgKm5hbWUpOwogI2VuZGlmCisKKy8qIFRoZSBfX3B1cmVfXyBhdHRyaWJ1dGUg d2FzIGFkZGVkIGluIGdjYyAyLjk2LiAgKi8KKyNpZiBfX0dOVUNfXyA+IDIgfHwgKF9fR05V Q19fID09IDIgJiYgX19HTlVDX01JTk9SX18gPj0gOTYpCisjIGRlZmluZSBfR0xfQVRUUklC VVRFX1BVUkUgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkKKyNlbHNlCisjIGRlZmluZSBf R0xfQVRUUklCVVRFX1BVUkUgLyogZW1wdHkgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGZh LmMgYi9kZmEuYwppbmRleCBkMzA2ZDVjLi45YzQxZmQxIDEwMDY0NAotLS0gYS9kZmEuYwor KysgYi9kZmEuYwpAQCAtMjIsNiArMjIsOCBAQAogCiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAK KyNpbmNsdWRlICJkZmEuaCIKKwogI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGN0 eXBlLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KQEAgLTM4LDExICs0MCw2IEBACiAjaW5jbHVk ZSA8bG9jYWxlLmg+CiAjZW5kaWYKIAotLyogR2F3ayBkb2Vzbid0IHVzZSBHbnVsaWIsIHNv IGRvbid0IGFzc3VtZSB0aGF0IHNldGxvY2FsZSBpcyBwcmVzZW50LiAgKi8KLSNpZm5kZWYg TENfQUxMCi0jIGRlZmluZSBzZXRsb2NhbGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAotI2Vu ZGlmCi0KICNkZWZpbmUgU1RSRVEoYSwgYikgKHN0cmNtcCAoYSwgYikgPT0gMCkKIAogLyog SVNBU0NJSURJR0lUIGRpZmZlcnMgZnJvbSBpc2RpZ2l0LCBhcyBmb2xsb3dzOgpAQCAtNTks MjYgKzU2LDExIEBACiAjaW5jbHVkZSAiZ2V0dGV4dC5oIgogI2RlZmluZSBfKHN0cikgZ2V0 dGV4dCAoc3RyKQogCi0jaW5jbHVkZSAibWJzdXBwb3J0LmgiIC8qIERlZmluZSBNQlNfU1VQ UE9SVCB0byAxIG9yIDAsIGFzIGFwcHJvcHJpYXRlLiAgKi8KLSNpZiBNQlNfU1VQUE9SVAot LyogV2UgY2FuIGhhbmRsZSBtdWx0aWJ5dGUgc3RyaW5ncy4gICovCi0jIGluY2x1ZGUgPHdj aGFyLmg+Ci0jIGluY2x1ZGUgPHdjdHlwZS5oPgotI2VuZGlmCi0KLSNpZmRlZiBHQVdLCi0v KiBUaGUgX19wdXJlX18gYXR0cmlidXRlIHdhcyBhZGRlZCBpbiBnY2MgMi45Ni4gICovCi0j aWYgX19HTlVDX18gPiAyIHx8IChfX0dOVUNfXyA9PSAyICYmIF9fR05VQ19NSU5PUl9fID49 IDk2KQotIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJFIF9fYXR0cmlidXRlX18gKChfX3B1 cmVfXykpCi0jZWxzZQotIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJFIC8qIGVtcHR5ICov Ci0jZW5kaWYKLSNlbmRpZiAvKiBHQVdLICovCisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNs dWRlIDx3Y3R5cGUuaD4KIAogI2luY2x1ZGUgInhhbGxvYy5oIgogCi0jaW5jbHVkZSAiZGZh LmgiCi0KICNpZmRlZiBHQVdLCiBzdGF0aWMgaW50CiBpc19ibGFuayAoaW50IGMpCkBAIC04 NywxNCArNjksNiBAQCBpc19ibGFuayAoaW50IGMpCiB9CiAjZW5kaWYgLyogR0FXSyAqLwog Ci0jaWZkZWYgTElCQ19JU19CT1JLRUQKLWV4dGVybiBpbnQgZ2F3a19tYl9jdXJfbWF4Owot I3VuZGVmIE1CX0NVUl9NQVgKLSNkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1cl9tYXgK LSN1bmRlZiBtYnJ0b3djCi0jZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKC0xKQotI2Vu ZGlmCi0KIC8qIEhQVVggZGVmaW5lcyB0aGVzZSBhcyBtYWNyb3MgaW4gc3lzL3BhcmFtLmgu ICAqLwogI2lmZGVmIHNldGJpdAogIyB1bmRlZiBzZXRiaXQKQEAgLTQwMiwxMyArMzc2LDEx IEBAIHN0cnVjdCBkZmEKICAgICovCiAgIGludCAqbXVsdGlieXRlX3Byb3A7CiAKLSNpZiBN QlNfU1VQUE9SVAogICAvKiBBIHRhYmxlIGluZGV4ZWQgYnkgYnl0ZSB2YWx1ZXMgdGhhdCBj b250YWlucyB0aGUgY29ycmVzcG9uZGluZyB3aWRlCiAgICAgIGNoYXJhY3RlciAoaWYgYW55 KSBmb3IgdGhhdCBieXRlLiAgV0VPRiBtZWFucyB0aGUgYnl0ZSBpcyB0aGUKICAgICAgbGVh ZGluZyBieXRlIG9mIGEgbXVsdGlieXRlIGNoYXJhY3Rlci4gIEludmFsaWQgYW5kIG51bGwg Ynl0ZXMgYXJlCiAgICAgIG1hcHBlZCB0byB0aGVtc2VsdmVzLiAgKi8KICAgd2ludF90IG1i cnRvd2NfY2FjaGVbTk9UQ0hBUl07Ci0jZW5kaWYKIAogICAvKiBBcnJheSBvZiB0aGUgYnJh Y2tldCBleHByZXNzaW9uIGluIHRoZSBERkEuICAqLwogICBzdHJ1Y3QgbWJfY2hhcl9jbGFz c2VzICptYmNzZXRzOwpAQCAtNDg4LDcgKzQ2MCw2IEBAIHN0YXRpYyB2b2lkIHJlZ2V4cCAo dm9pZCk7CiBzdGF0aWMgdm9pZAogZGZhbWJjYWNoZSAoc3RydWN0IGRmYSAqZCkKIHsKLSNp ZiBNQlNfU1VQUE9SVAogICBpbnQgaTsKICAgZm9yIChpID0gQ0hBUl9NSU47IGkgPD0gQ0hB Ul9NQVg7ICsraSkKICAgICB7CkBAIC01MDUsMTAgKzQ3Niw4IEBAIGRmYW1iY2FjaGUgKHN0 cnVjdCBkZmEgKmQpCiAgICAgICAgIH0KICAgICAgIGQtPm1icnRvd2NfY2FjaGVbdWNdID0g d2k7CiAgICAgfQotI2VuZGlmCiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogU3RvcmUgaW50 byAqUFdDIHRoZSByZXN1bHQgb2YgY29udmVydGluZyB0aGUgbGVhZGluZyBieXRlcyBvZiB0 aGUKICAgIG11bHRpYnl0ZSBidWZmZXIgUyBvZiBsZW5ndGggTiBieXRlcywgdXNpbmcgdGhl IG1icnRvd2NfY2FjaGUgaW4gKkQKICAgIGFuZCB1cGRhdGluZyB0aGUgY29udmVyc2lvbiBz dGF0ZSBpbiAqRC4gIE9uIGNvbnZlcnNpb24gZXJyb3IsCkBAIC01NDMsNyArNTEyLDYgQEAg bWJzX3RvX3djaGFyICh3Y2hhcl90ICpwd2MsIGNoYXIgY29uc3QgKnMsIHNpemVfdCBuLCBz dHJ1Y3QgZGZhICpkKQogICAqcHdjID0gd2M7CiAgIHJldHVybiAxOwogfQotI2VuZGlmCiAK ICNpZmRlZiBERUJVRwogCkBAIC03MzcsNyArNzA1LDcgQEAgc3RhdGljIGNoYXJjbGFzcyBu ZXdsaW5lOwogI2lmZGVmIF9fR0xJQkNfXwogIyBkZWZpbmUgaXNfdmFsaWRfdW5pYnl0ZV9j aGFyYWN0ZXIoYykgMQogI2Vsc2UKLSMgZGVmaW5lIGlzX3ZhbGlkX3VuaWJ5dGVfY2hhcmFj dGVyKGMpICghIChNQlNfU1VQUE9SVCAmJiBidG93YyAoYykgPT0gV0VPRikpCisjIGRlZmlu ZSBpc192YWxpZF91bmlieXRlX2NoYXJhY3RlcihjKSAoYnRvd2MgKGMpICE9IFdFT0YpCiAj ZW5kaWYKIAogLyogUmV0dXJuIG5vbi16ZXJvIGlmIEMgaXMgYSAid29yZC1jb25zdGl0dWVu dCIgYnl0ZTsgemVybyBvdGhlcndpc2UuICAqLwpAQCAtNzk4LDE3ICs3NjYsMTIgQEAgZGZh c3ludGF4IChyZWdfc3ludGF4X3QgYml0cywgaW50IGZvbGQsIHVuc2lnbmVkIGNoYXIgZW9s KQogc3RhdGljIGJvb2wKIHNldGJpdF93YyAod2ludF90IHdjLCBjaGFyY2xhc3MgYykKIHsK LSNpZiBNQlNfU1VQUE9SVAogICBpbnQgYiA9IHdjdG9iICh3Yyk7CiAgIGlmIChiID09IEVP RikKICAgICByZXR1cm4gZmFsc2U7CiAKICAgc2V0Yml0IChiLCBjKTsKICAgcmV0dXJuIHRy dWU7Ci0jZWxzZQotICBhYm9ydCAoKTsKLSAgIC8qTk9UUkVBQ0hFRCovIHJldHVybiBmYWxz ZTsKLSNlbmRpZgogfQogCiAvKiBTZXQgYSBiaXQgZm9yIEIgYW5kIGl0cyBjYXNlIHZhcmlh bnRzIGluIHRoZSBjaGFyY2xhc3MgQy4KQEAgLTkwNCw3ICs4NjcsNiBAQCBzdGF0aWMgd2No YXJfdCB3Y3RvazsgICAgICAgICAgIC8qIFdpZGUgY2hhcmFjdGVyIHJlcHJlc2VudGF0aW9u IG9mIHRoZSBjdXJyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11 bHRpYnl0ZSBjaGFyYWN0ZXIuICAqLwogCiAKLSNpZiBNQlNfU1VQUE9SVAogLyogTm90ZSB0 aGF0IGNoYXJhY3RlcnMgYmVjb21lIHVuc2lnbmVkIGhlcmUuICAqLwogIyBkZWZpbmUgRkVU Q0hfV0MoYywgd2MsIGVvZmVycikJCVwKICAgZG8gewkJCQkJCVwKQEAgLTkyNywyMyArODg5 LDYgQEAgc3RhdGljIHdjaGFyX3Qgd2N0b2s7ICAgICAgICAgICAvKiBXaWRlIGNoYXJhY3Rl ciByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudAogICAgICAgfQkJCQkJCVwKICAgfSB3 aGlsZSAoMCkKIAotI2Vsc2UKLS8qIE5vdGUgdGhhdCBjaGFyYWN0ZXJzIGJlY29tZSB1bnNp Z25lZCBoZXJlLiAgKi8KLSMgZGVmaW5lIEZFVENIX1dDKGMsIHVudXNlZCwgZW9mZXJyKSAg XAotICBkbyB7CQkJCSAgICAgIFwKLSAgICBpZiAoISBsZXhsZWZ0KQkJICAgICAgXAotICAg ICAgewkJCQkgICAgICBcCi0gICAgICAgIGlmICgoZW9mZXJyKSAhPSAwKQkgICAgICBcCi0g ICAgICAgICAgZGZhZXJyb3IgKGVvZmVycik7CSAgICAgIFwKLSAgICAgICAgZWxzZQkJCSAg ICAgIFwKLSAgICAgICAgICByZXR1cm4gbGFzdHRvayA9IEVORDsJICAgICAgXAotICAgICAg fQkJCQkgICAgICBcCi0gICAgKGMpID0gdG9fdWNoYXIgKCpsZXhwdHIrKyk7ICAgICAgIFwK LSAgICAtLWxleGxlZnQ7CQkJICAgICAgXAotICB9IHdoaWxlICgwKQotCi0jZW5kaWYgLyog TUJTX1NVUFBPUlQgKi8KLQogI2lmbmRlZiBNSU4KICMgZGVmaW5lIE1JTihhLGIpICgoYSkg PCAoYikgPyAoYSkgOiAoYikpCiAjZW5kaWYKQEAgLTE3MjgsNyArMTY3Myw2IEBAIGFkZHRv ayAodG9rZW4gdCkKICAgICB9CiB9CiAKLSNpZiBNQlNfU1VQUE9SVAogLyogV2UgdHJlYXQg YSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGF0b20sIHNvIHRoYXQgREZBCiAg ICBjYW4gdHJlYXQgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyIGFzIGEgc2luZ2xlIGV4cHJlc3Np b24uCiAKQEAgLTE3NjAsMTcgKzE3MDQsMTAgQEAgYWRkdG9rX3djICh3aW50X3Qgd2MpCiAg ICAgICBhZGR0b2sgKENBVCk7CiAgICAgfQogfQotI2Vsc2UKLXN0YXRpYyB2b2lkCi1hZGR0 b2tfd2MgKHdpbnRfdCB3YykKLXsKLX0KLSNlbmRpZgogCiBzdGF0aWMgdm9pZAogYWRkX3V0 ZjhfYW55Y2hhciAodm9pZCkKIHsKLSNpZiBNQlNfU1VQUE9SVAogICBzdGF0aWMgY29uc3Qg Y2hhcmNsYXNzIHV0ZjhfY2xhc3Nlc1s1XSA9IHsKICAgICB7MCwgMCwgMCwgMCwgfjAsIH4w LCAwLCAwfSwJCS8qIDgwLWJmOiBub24tbGVhZGluZyBieXRlcyAqLwogICAgIHt+MCwgfjAs IH4wLCB+MCwgMCwgMCwgMCwgMH0sICAgICAgIC8qIDAwLTdmOiAxLWJ5dGUgc2VxdWVuY2Ug Ki8KQEAgLTE4MTUsNyArMTc1Miw2IEBAIGFkZF91dGY4X2FueWNoYXIgKHZvaWQpCiAgICAg ICBhZGR0b2sgKENBVCk7CiAgICAgICBhZGR0b2sgKE9SKTsKICAgICB9Ci0jZW5kaWYKIH0K IAogLyogVGhlIGdyYW1tYXIgdW5kZXJzdG9vZCBieSB0aGUgcGFyc2VyIGlzIGFzIGZvbGxv d3MuCkBAIC0xODU2LDcgKzE3OTIsNyBAQCBhZGRfdXRmOF9hbnljaGFyICh2b2lkKQogc3Rh dGljIHZvaWQKIGF0b20gKHZvaWQpCiB7Ci0gIGlmIChNQlNfU1VQUE9SVCAmJiB0b2sgPT0g V0NIQVIpCisgIGlmICh0b2sgPT0gV0NIQVIpCiAgICAgewogICAgICAgYWRkdG9rX3djICh3 Y3Rvayk7CiAKQEAgLTE4NzMsNyArMTgwOSw3IEBAIGF0b20gKHZvaWQpCiAKICAgICAgIHRv ayA9IGxleCAoKTsKICAgICB9Ci0gIGVsc2UgaWYgKE1CU19TVVBQT1JUICYmIHRvayA9PSBB TllDSEFSICYmIHVzaW5nX3V0ZjggKCkpCisgIGVsc2UgaWYgKHRvayA9PSBBTllDSEFSICYm IHVzaW5nX3V0ZjggKCkpCiAgICAgewogICAgICAgLyogRm9yIFVURi04IGV4cGFuZCB0aGUg cGVyaW9kIHRvIGEgc2VyaWVzIG9mIENTRVRzIHRoYXQgZGVmaW5lIGEgdmFsaWQKICAgICAg ICAgIFVURi04IGNoYXJhY3Rlci4gIFRoaXMgYXZvaWRzIHVzaW5nIHRoZSBzbG93IG11bHRp Ynl0ZSBwYXRoLiAgSSdtCkBAIC0xODg3LDkgKzE4MjMsNyBAQCBhdG9tICh2b2lkKQogICAg IH0KICAgZWxzZSBpZiAoKHRvayA+PSAwICYmIHRvayA8IE5PVENIQVIpIHx8IHRvayA+PSBD U0VUIHx8IHRvayA9PSBCQUNLUkVGCiAgICAgICAgICAgIHx8IHRvayA9PSBCRUdMSU5FIHx8 IHRvayA9PSBFTkRMSU5FIHx8IHRvayA9PSBCRUdXT1JECi0jaWYgTUJTX1NVUFBPUlQKICAg ICAgICAgICAgfHwgdG9rID09IEFOWUNIQVIgfHwgdG9rID09IE1CQ1NFVAotI2VuZGlmIC8q IE1CU19TVVBQT1JUICovCiAgICAgICAgICAgIHx8IHRvayA9PSBFTkRXT1JEIHx8IHRvayA9 PSBMSU1XT1JEIHx8IHRvayA9PSBOT1RMSU1XT1JEKQogICAgIHsKICAgICAgIGFkZHRvayAo dG9rKTsKQEAgLTIyMjQsMTAgKzIxNTgsOCBAQCBlcHNjbG9zdXJlIChwb3NpdGlvbl9zZXQg KiBzLCBzdHJ1Y3QgZGZhIGNvbnN0ICpkKQogICBmb3IgKGkgPSAwOyBpIDwgcy0+bmVsZW07 ICsraSkKICAgICBpZiAoZC0+dG9rZW5zW3MtPmVsZW1zW2ldLmluZGV4XSA+PSBOT1RDSEFS CiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRleF0gIT0gQkFDS1JFRgot I2lmIE1CU19TVVBQT1JUCiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRl eF0gIT0gQU5ZQ0hBUgogICAgICAgICAmJiBkLT50b2tlbnNbcy0+ZWxlbXNbaV0uaW5kZXhd ICE9IE1CQ1NFVAotI2VuZGlmCiAgICAgICAgICYmIGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5p bmRleF0gPCBDU0VUKQogICAgICAgewogICAgICAgICBvbGQgPSBzLT5lbGVtc1tpXTsKQEAg LTI1NDEsOSArMjQ3Myw3IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFy Y2hmbGFnKQogICAgICBpdCB3aXRoIGl0cyBlcHNpbG9uIGNsb3N1cmUuICAqLwogICBmb3Ig KGkgPSAwOyBpIDwgZC0+dGluZGV4OyArK2kpCiAgICAgaWYgKGQtPnRva2Vuc1tpXSA8IE5P VENIQVIgfHwgZC0+dG9rZW5zW2ldID09IEJBQ0tSRUYKLSNpZiBNQlNfU1VQUE9SVAogICAg ICAgICB8fCBkLT50b2tlbnNbaV0gPT0gQU5ZQ0hBUiB8fCBkLT50b2tlbnNbaV0gPT0gTUJD U0VUCi0jZW5kaWYKICAgICAgICAgfHwgZC0+dG9rZW5zW2ldID49IENTRVQpCiAgICAgICB7 CiAjaWZkZWYgREVCVUcKQEAgLTI2NDMsOSArMjU3Myw4IEBAIGRmYXN0YXRlIChzdGF0ZV9u dW0gcywgc3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5zW10pCiAgICAgICAgIHNldGJp dCAoZC0+dG9rZW5zW3Bvcy5pbmRleF0sIG1hdGNoZXMpOwogICAgICAgZWxzZSBpZiAoZC0+ dG9rZW5zW3Bvcy5pbmRleF0gPj0gQ1NFVCkKICAgICAgICAgY29weXNldCAoZC0+Y2hhcmNs YXNzZXNbZC0+dG9rZW5zW3Bvcy5pbmRleF0gLSBDU0VUXSwgbWF0Y2hlcyk7Ci0gICAgICBl bHNlIGlmIChNQlNfU1VQUE9SVAotICAgICAgICAgICAgICAgJiYgKGQtPnRva2Vuc1twb3Mu aW5kZXhdID09IEFOWUNIQVIKLSAgICAgICAgICAgICAgICAgICB8fCBkLT50b2tlbnNbcG9z LmluZGV4XSA9PSBNQkNTRVQpKQorICAgICAgZWxzZSBpZiAoZC0+dG9rZW5zW3Bvcy5pbmRl eF0gPT0gQU5ZQ0hBUgorICAgICAgICAgICAgICAgfHwgZC0+dG9rZW5zW3Bvcy5pbmRleF0g PT0gTUJDU0VUKQogICAgICAgICAvKiBNQl9DVVJfTUFYID4gMSAgKi8KICAgICAgICAgewog ICAgICAgICAgIC8qIEFOWUNIQVIgYW5kIE1CQ1NFVCBtdXN0IG1hdGNoIHdpdGggYSBzaW5n bGUgY2hhcmFjdGVyLCBzbyB3ZQpAQCAtMjgyMCw3ICsyNzQ5LDcgQEAgZGZhc3RhdGUgKHN0 YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAgICAgIC8q IElmIHdlIGFyZSBidWlsZGluZyBhIHNlYXJjaGluZyBtYXRjaGVyLCB0aHJvdyBpbiB0aGUg cG9zaXRpb25zCiAgICAgICAgICBvZiBzdGF0ZSAwIGFzIHdlbGwuICAqLwogICAgICAgaWYg KGQtPnNlYXJjaGZsYWcKLSAgICAgICAgICAmJiAoIU1CU19TVVBQT1JUIHx8ICghZC0+bXVs dGlieXRlIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKSkKKyAgICAgICAgICAmJiAoTUJfQ1VS X01BWCA9PSAxIHx8ICFuZXh0X2lzbnRfMXN0X2J5dGUpKQogICAgICAgICBmb3IgKGogPSAw OyBqIDwgZC0+c3RhdGVzWzBdLmVsZW1zLm5lbGVtOyArK2opCiAgICAgICAgICAgaW5zZXJ0 IChkLT5zdGF0ZXNbMF0uZWxlbXMuZWxlbXNbal0sICZmb2xsb3dzKTsKIApAQCAtMzU0MSw3 ICszNDcwLDcgQEAgZGZhb3B0aW1pemUgKHN0cnVjdCBkZmEgKmQpCiB7CiAgIHNpemVfdCBp OwogCi0gIGlmICghTUJTX1NVUFBPUlQgfHwgIXVzaW5nX3V0ZjggKCkpCisgIGlmICghdXNp bmdfdXRmOCAoKSkKICAgICByZXR1cm47CiAKICAgZm9yIChpID0gMDsgaSA8IGQtPnRpbmRl eDsgKytpKQpkaWZmIC0tZ2l0IGEvZGZhLmggYi9kZmEuaAppbmRleCAxNTE0MjM2Li42MGFm ZjExIDEwMDY0NAotLS0gYS9kZmEuaAorKysgYi9kZmEuaApAQCAtMTksMTEgKzE5LDcgQEAK IC8qIFdyaXR0ZW4gSnVuZSwgMTk4OCBieSBNaWtlIEhhZXJ0ZWwgKi8KIAogI2luY2x1ZGUg PHJlZ2V4Lmg+Ci0jaWZkZWYgSEFWRV9TVERCT09MX0gKICNpbmNsdWRlIDxzdGRib29sLmg+ Ci0jZWxzZQotI2luY2x1ZGUgIm1pc3NpbmdfZC9nYXdrYm9vbC5oIgotI2VuZGlmIC8qIEhB VkVfU1REQk9PTF9IICovCiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAKIC8qIEVsZW1lbnQgb2Yg YSBsaXN0IG9mIHN0cmluZ3MsIGF0IGxlYXN0IG9uZSBvZiB3aGljaCBpcyBrbm93biB0bwpk aWZmIC0tZ2l0IGEvbWJzdXBwb3J0LmggYi9tYnN1cHBvcnQuaAppbmRleCA5YTYyNDg2Li4x OThhMGYzIDEwMDY0NAotLS0gYS9tYnN1cHBvcnQuaAorKysgYi9tYnN1cHBvcnQuaApAQCAt NjYsNiArNjYsMTUgQEAKICNlbmRpZgogCiAjaWYgISBNQlNfU1VQUE9SVAorCisvKiBJbmNs dWRlIHdjaGFyLmggYW5kIHdjdHlwZS5oIHNvIHRoZWlyIGRlZmluaXRpb25zIGNhbiBiZSBv dmVycmlkZGVuLiAgKi8KKworIyBpbmNsdWRlIDx3Y2hhci5oPgorIyBpbmNsdWRlIDx3Y3R5 cGUuaD4KKworLyogT3ZlcnJpZGUgdGhlIGRlZmluaXRpb25zIG9mIHdjaGFyLmggYW5kIHdj dHlwZS5oIHRvIHByb3ZpZGUgYQorICAgdW5pYnl0ZSBzdWJzdGl0dXRlIHRoYXQgaXMgZ29v ZCBlbm91Z2ggZm9yIEdhd2suICAqLworCiAjIHVuZGVmIE1CX0NVUl9NQVgKICMgZGVmaW5l IE1CX0NVUl9NQVggMQogCkBAIC03OCwxNSArODcsMjQgQEAKICNkZWZpbmUgd2N0eXBlX3QJ aW50CiAjZGVmaW5lIHdpbnRfdAkJaW50CiAjZGVmaW5lIG1ic3RhdGVfdAlpbnQKKyN1bmRl ZiBXRU9GCiAjZGVmaW5lIFdFT0YJCUVPRgorI3VuZGVmIHRvd3VwcGVyCiAjZGVmaW5lIHRv d3VwcGVyCXRvdXBwZXIKKyN1bmRlZiB0b3dsb3dlcgogI2RlZmluZSB0b3dsb3dlcgl0b2xv d2VyCiAjaWZuZGVmIF9fREpHUFBfXwotI2RlZmluZSBidG93Yyh4KQkoKGludCl4KQorI3Vu ZGVmIGJ0b3djCisjZGVmaW5lIGJ0b3djKHgpCSgoaW50KSAoeCkpCiAjZW5kaWYKKyN1bmRl ZiBpc3dhbG51bQogI2RlZmluZSBpc3dhbG51bQlpc2FsbnVtCisjdW5kZWYgaXN3YWxwaGEK ICNkZWZpbmUgaXN3YWxwaGEJaXNhbHBoYQorI3VuZGVmIGlzd3VwcGVyCiAjZGVmaW5lIGlz d3VwcGVyCWlzdXBwZXIKKyN1bmRlZiBpc3dsb3dlcgorI2RlZmluZSBpc3dsb3dlcglpc2xv d2VyCiAjaWYgZGVmaW5lZChaT1NfVVNTKQogI3VuZGVmIHRvd3VwcGVyCiAjdW5kZWYgdG93 bG93ZXIKQEAgLTk0LDEyICsxMTIsNDMgQEAKICN1bmRlZiBpc3dhbG51bQogI3VuZGVmIGlz d2FscGhhCiAjdW5kZWYgaXN3dXBwZXIKLSN1bmRlZiB3Y3R5cGUKLSN1bmRlZiBpc3djdHlw ZQotI3VuZGVmIHdjc2NvbGwKICNlbmRpZgogCisjdW5kZWYgbWJydG93YworI2RlZmluZSBt YnJ0b3djKHB3YywgcywgbiwgcHMpICgoc2l6ZV90KSAtMSkKKyN1bmRlZiB3Y3J0b21iCisj ZGVmaW5lIHdjcnRvbWIocywgd2MsIHBzKSAoKHNpemVfdCkgLTEpCisKKyN1bmRlZiB3Y3R5 cGUKKyNkZWZpbmUgd2N0eXBlIGdhd2tfd2N0eXBlCiBleHRlcm4gd2N0eXBlX3Qgd2N0eXBl KGNvbnN0IGNoYXIgKm5hbWUpOworI3VuZGVmIGlzd2N0eXBlCisjZGVmaW5lIGlzd2N0eXBl IGdhd2tfaXN3Y3R5cGUKIGV4dGVybiBpbnQgaXN3Y3R5cGUod2ludF90IHdjLCB3Y3R5cGVf dCBkZXNjKTsKKyN1bmRlZiB3Y3Njb2xsCisjZGVmaW5lIHdjc2NvbGwgZ2F3a193Y3Njb2xs CiBleHRlcm4gaW50IHdjc2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hhcl90 ICp3czIpOwogI2VuZGlmCisKKyNpZmRlZiBMSUJDX0lTX0JPUktFRAorIyBpbmNsdWRlIDx3 Y2hhci5oPgorZXh0ZXJuIGludCBnYXdrX21iX2N1cl9tYXg7CisjIHVuZGVmIE1CX0NVUl9N QVgKKyMgdW5kZWYgbWJydG93YworIyBkZWZpbmUgTUJfQ1VSX01BWCBnYXdrX21iX2N1cl9t YXgKKyMgZGVmaW5lIG1icnRvd2MoYSwgYiwgYywgZCkgKChzaXplX3QpIC0xKQorI2VuZGlm CisKKyNpbmNsdWRlIDxsb2NhbGUuaD4KKyNpZm5kZWYgTENfQUxMCisjIGRlZmluZSBzZXRs b2NhbGUoY2F0ZWdvcnksIGxvY2FsZSkgTlVMTAorI2VuZGlmCisKKyNpbmNsdWRlIDxhc3Nl cnQuaD4KKyNpZm5kZWYgc3RhdGljX2Fzc2VydAorIyBkZWZpbmUgc3RhdGljX2Fzc2VydChj b25kLCBkaWFnbm9zdGljKSBcCisgICAgZXh0ZXJuIGludCAoKmZvbyAodm9pZCkpIFshIXNp emVvZiAoc3RydWN0IHsgaW50IGZvbzogKGNvbmQpID8gOCA6IC0xOyB9KV0KKyNlbmRpZgor CisvKiBNYWtlIHN1cmUgUkVfRFVQX01BWCBnZXRzIHRoZSBjb3JyZWN0IHZhbHVlLiAgKi8K KyNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gKZGlmZiAtLWdpdCBhL21pc3Npbmdf ZC9DaGFuZ2VMb2cgYi9taXNzaW5nX2QvQ2hhbmdlTG9nCmluZGV4IDcwZmJkZTYuLjQ2ODZj NzQgMTAwNjQ0Ci0tLSBhL21pc3NpbmdfZC9DaGFuZ2VMb2cKKysrIGIvbWlzc2luZ19kL0No YW5nZUxvZwpAQCAtMSwzICsxLDcgQEAKKzIwMTQtMDUtMDEgIFBhdWwgRWdnZXJ0ICA8ZWdn ZXJ0QHBlbmd1aW4uY3MudWNsYS5lZHU+CisKKwkqIHdjbWlzYy5jOiBSZW1vdmUgbm93LXVu bmVjZXNzYXJ5IGlmZGVmcy4KKwogMjAxNC0wNC0wOCAgICAgICAgIEFybm9sZCBELiBSb2Ji aW5zICAgICA8YXJub2xkQHNrZWV2ZS5jb20+CiAKIAkqIDQuMS4xOiBSZWxlYXNlIHRhciBi YWxsIG1hZGUuCmRpZmYgLS1naXQgYS9taXNzaW5nX2Qvd2NtaXNjLmMgYi9taXNzaW5nX2Qv d2NtaXNjLmMKaW5kZXggZDJiN2FhMC4uODllMjRjOSAxMDA2NDQKLS0tIGEvbWlzc2luZ19k L3djbWlzYy5jCisrKyBiL21pc3NpbmdfZC93Y21pc2MuYwpAQCAtMTYsNyArMTYsNiBAQAog ICAgRm91bmRhdGlvbiwgSW5jLiwKICAgIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EgKi8KIAotI2lmICFkZWZpbmVkKEhB VkVfV0NUWVBFKSB8fCAhZGVmaW5lZChIQVZFX0lTV0NUWVBFKQogc3RhdGljIGNvbnN0IGNo YXIgKmNsYXNzZXNbXSA9IHsKIAkiPGR1bW15PiIsCiAJImFsbnVtIiwKQEAgLTMzLDE2ICsz MiwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciAqY2xhc3Nlc1tdID0gewogCSJ4ZGlnaXQiLAog CU5VTEwKIH07Ci0jZW5kaWYKIAotI2lmbmRlZiBIQVZFX0lTV0NUWVBFCiBzdGF0aWMgaW50 IGlzX2JsYW5rIChpbnQgYykKIHsKICAgIHJldHVybiAoYyA9PSAnICcgfHwgYyA9PSAnXHQn KTsKIH0KLSNlbmRpZgogCi0jaWZuZGVmIEhBVkVfV0NUWVBFCiB3Y3R5cGVfdCB3Y3R5cGUo Y29uc3QgY2hhciAqbmFtZSkKIHsKIAlpbnQgaTsKQEAgLTUzLDkgKzQ4LDcgQEAgd2N0eXBl X3Qgd2N0eXBlKGNvbnN0IGNoYXIgKm5hbWUpCiAKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgog Ci0jaWZuZGVmIEhBVkVfSVNXQ1RZUEUKIGludCBpc3djdHlwZSh3aW50X3Qgd2MsIHdjdHlw ZV90IGRlc2MpCiB7CiAJaW50IGogPSBzaXplb2YoY2xhc3NlcykgLyBzaXplb2YoY2xhc3Nl c1swXSk7CkBAIC03OSw5ICs3Miw3IEBAIGludCBpc3djdHlwZSh3aW50X3Qgd2MsIHdjdHlw ZV90IGRlc2MpCiAJZGVmYXVsdDoJcmV0dXJuIDA7CiAJfQogfQotI2VuZGlmCiAKLSNpZm5k ZWYgSEFWRV9XQ1NDT0xMCiBpbnQgd2NzY29sbChjb25zdCB3Y2hhcl90ICp3czEsIGNvbnN0 IHdjaGFyX3QgKndzMikKIHsKIAlzaXplX3QgaTsKQEAgLTk1LDYgKzg2LDUgQEAgaW50IHdj c2NvbGwoY29uc3Qgd2NoYXJfdCAqd3MxLCBjb25zdCB3Y2hhcl90ICp3czIpCiAKIAlyZXR1 cm4gKHdzMVtpXSAtIHdzMltpXSk7CiB9Ci0jZW5kaWYKIAogLyp3Y21pc2MuYyovCmRpZmYg LS1naXQgYS9yZWdleC5oIGIvcmVnZXguaAppbmRleCA1NjYwMjk2Li40MDBiNDA3IDEwMDY0 NAotLS0gYS9yZWdleC5oCisrKyBiL3JlZ2V4LmgKQEAgLTI2NCwxNCArMjY0LDI0IEBAIGV4 dGVybiByZWdfc3ludGF4X3QgcmVfc3ludGF4X29wdGlvbnM7CiAgICB8IFJFX05PX0JLX1BB UkVOUyAgICAgICAgfCBSRV9OT19CS19SRUZTCQkJCVwKICAgIHwgUkVfTk9fQktfVkJBUgkg ICAgfCBSRV9VTk1BVENIRURfUklHSFRfUEFSRU5fT1JEKQogLyogW1tbZW5kIHN5bnRheGVz XV1dICovCi0MCi0vKiBNYXhpbXVtIG51bWJlciBvZiBkdXBsaWNhdGVzIGFuIGludGVydmFs IGNhbiBhbGxvdy4gIFNvbWUgc3lzdGVtcwotICAgKGVycm9uZW91c2x5KSBkZWZpbmUgdGhp cyBpbiBvdGhlciBoZWFkZXIgZmlsZXMsIGJ1dCB3ZSB3YW50IG91cgorCisvKiBNYXhpbXVt IG51bWJlciBvZiBkdXBsaWNhdGVzIGFuIGludGVydmFsIGNhbiBhbGxvdy4gIFBPU0lYLWNv bmZvcm1pbmcKKyAgIHN5c3RlbXMgbWlnaHQgZGVmaW5lIHRoaXMgaW4gPGxpbWl0cy5oPiwg YnV0IHdlIHdhbnQgb3VyCiAgICB2YWx1ZSwgc28gcmVtb3ZlIGFueSBwcmV2aW91cyBkZWZp bmUuICAqLworIyBpZmRlZiBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSAorIyAgaW5jbHVkZSA8 bGltaXRzLmg+CisjIGVuZGlmCiAjIGlmZGVmIFJFX0RVUF9NQVgKICMgIHVuZGVmIFJFX0RV UF9NQVgKICMgZW5kaWYKLS8qIElmIHNpemVvZihpbnQpID09IDIsIHRoZW4gKCgxIDw8IDE1 KSAtIDEpIG92ZXJmbG93cy4gICovCisKKy8qIFJFX0RVUF9NQVggaXMgMioqMTUgLSAxIGJl Y2F1c2UgYW4gZWFybGllciBpbXBsZW1lbnRhdGlvbiBzdG9yZWQKKyAgIHRoZSBjb3VudGVy IGFzIGEgMi1ieXRlIHNpZ25lZCBpbnRlZ2VyLiAgVGhpcyBpcyBubyBsb25nZXIgdHJ1ZSwg c28KKyAgIFJFX0RVUF9NQVggY291bGQgYmUgaW5jcmVhc2VkIHRvIChJTlRfTUFYIC8gMTAg LSAxKSwgb3IgdG8KKyAgICgoU0laRV9NQVggLSA5KSAvIDEwKSBpZiBfUkVHRVhfTEFSR0Vf T0ZGU0VUUyBpcyBkZWZpbmVkLgorICAgSG93ZXZlciwgdGhlcmUgd291bGQgYmUgYSBodWdl IHBlcmZvcm1hbmNlIHByb2JsZW0gaWYgc29tZW9uZQorICAgYWN0dWFsbHkgdXNlZCBhIHBh dHRlcm4gbGlrZSBhXHsyMTQ3NDgzNjNcfSwgc28gUkVfRFVQX01BWCByZXRhaW5zCisgICBp dHMgaGlzdG9yaWNhbCB2YWx1ZS4gICovCiAjIGRlZmluZSBSRV9EVVBfTUFYICgweDdmZmYp CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvcmVnZXhfaW50ZXJuYWwuaCBiL3JlZ2V4X2ludGVy bmFsLmgKaW5kZXggYzg5ODFhMC4uNzU4Y2Y0NyAxMDA2NDQKLS0tIGEvcmVnZXhfaW50ZXJu YWwuaAorKysgYi9yZWdleF9pbnRlcm5hbC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVk ZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKLSNpbmNsdWRlICJtYnN1cHBv cnQuaCIgLyogZ2F3ayAqLwotCiAjaWYgZGVmaW5lZCBIQVZFX0xBTkdJTkZPX0ggfHwgZGVm aW5lZCBIQVZFX0xBTkdJTkZPX0NPREVTRVQgfHwgZGVmaW5lZCBfTElCQwogIyBpbmNsdWRl IDxsYW5naW5mby5oPgogI2VuZGlmCi0tIAoxLjkuMAoK --------------030302090000050300070904-- From unknown Fri Jun 20 07:10:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 30 May 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator