From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19046 invoked by alias); 29 Jul 2011 13:35:29 -0000 Received: (qmail 18679 invoked by uid 22791); 29 Jul 2011 13:35:27 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_BJ,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-ey0-f174.google.com (HELO mail-ey0-f174.google.com) (209.85.215.174) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 29 Jul 2011 13:35:12 +0000 Received: by eyx24 with SMTP id 24so3531891eyx.5 for ; Fri, 29 Jul 2011 06:35:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.213.27.18 with SMTP id g18mr623338ebc.50.1311946511045; Fri, 29 Jul 2011 06:35:11 -0700 (PDT) Received: by 10.213.19.13 with HTTP; Fri, 29 Jul 2011 06:35:10 -0700 (PDT) In-Reply-To: References: Date: Fri, 29 Jul 2011 15:29:00 -0000 Message-ID: Subject: Re: [PATCH] An implementation of pipe to make I/O communication between gdb and shell. From: Abhijit Halder To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=0015174c18a8c153a504a93559f4 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-07/txt/msg00800.txt.bz2 --0015174c18a8c153a504a93559f4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1405 On Fri, Jul 29, 2011 at 6:45 PM, Abhijit Halder wrote: > This is the implementation of a new gdb command, named 'pipe', to make > ease of I/O communication between gdb and shell. > The syntax of this command is shown as follows: > (gdb) pipe [option] gdb-cmd shell-cmd > List of options go with pipe command: > =A0-r =A0 gdb reads output of shell-command from pipe > =A0-w =A0gdb passes output of a command to shell to process. > =A0- =A0 =A0end of gdb option list > dlim (delimiter) is a single ASCII character from the set below: > {|/\'"`#@!$%^} (We actually can remove this restriction). > The default behaviour of pipe will be to pass the gdb command output to s= hell. > > > =A0Makefile.in | =A0 =A04 - > =A0pipe.c =A0 =A0 =A0| =A0194 +++++++++++++++++++++++++++++++++++++++++++= +++++++++++++++++ > =A0pipe.h =A0 =A0 =A0| =A0 34 ++++++++++ > =A0ui-file.c =A0 | =A0 14 ++++ > =A0ui-file.h =A0 | =A0 =A03 > =A05 files changed, 247 insertions(+), 2 deletions(-) > > > Thanks, > Abhijit Halder > A last minute regression happened because of wrong use skip_spaces. Re-submitting the corrected patch. Makefile.in | 4 - pipe.c | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++= +++++ pipe.h | 34 ++++++++++ ui-file.c | 14 ++++ ui-file.h | 3 5 files changed, 247 insertions(+), 2 deletions(-) Thanks, Abhijit Halder --0015174c18a8c153a504a93559f4 Content-Type: text/x-patch; charset=US-ASCII; name="gdb-pipe-command-corrected.patch" Content-Disposition: attachment; filename="gdb-pipe-command-corrected.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gqp71shv2 Content-length: 12054 ZGlmZiAtcnVwIHNyYy9nZGIvTWFrZWZpbGUuaW4gZHN0L2dkYi9NYWtlZmls ZS5pbgotLS0gc3JjL2dkYi9NYWtlZmlsZS5pbgkyMDExLTA3LTI3IDIzOjU1 OjI2LjAwMDAwMDAwMCArMDUzMAorKysgZHN0L2dkYi9NYWtlZmlsZS5pbgky MDExLTA3LTI5IDE2OjEyOjMyLjU3ODA0ODc5NyArMDUzMApAQCAtNzEzLDcg KzcxMyw3IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFkYS10 eXBlcHIKIAlvYmpjLWV4cC55IG9iamMtbGFuZy5jIFwKIAlvYmpmaWxlcy5j IG9zYWJpLmMgb2JzZXJ2ZXIuYyBvc2RhdGEuYyBcCiAJb3BlbmNsLWxhbmcu YyBcCi0JcC1leHAueSBwLWxhbmcuYyBwLXR5cGVwcmludC5jIHAtdmFscHJp bnQuYyBwYXJzZS5jIHByaW50Y21kLmMgXAorCXAtZXhwLnkgcC1sYW5nLmMg cC10eXBlcHJpbnQuYyBwLXZhbHByaW50LmMgcGFyc2UuYyBwaXBlLmMgcHJp bnRjbWQuYyBcCiAJcHJvYy1zZXJ2aWNlLmxpc3QgcHJvZ3NwYWNlLmMgXAog CXByb2xvZ3VlLXZhbHVlLmMgcHN5bXRhYi5jIFwKIAlyZWdjYWNoZS5jIHJl Z2dyb3Vwcy5jIHJlbW90ZS5jIHJlbW90ZS1maWxlaW8uYyByZXZlcnNlLmMg XApAQCAtODcwLDcgKzg3MCw3IEBAIENPTU1PTl9PQlMgPSAkKERFUEZJTEVT KSAkKENPTkZJR19PQlMpICQKIAltaS1jb21tb24ubyBcCiAJZXZlbnQtbG9v cC5vIGV2ZW50LXRvcC5vIGluZi1sb29wLm8gY29tcGxldGVyLm8gXAogCWdk YmFyY2gubyBhcmNoLXV0aWxzLm8gZ2RidHlwZXMubyBvc2FiaS5vIGNvcHlp bmcubyBcCi0JbWVtYXR0ci5vIG1lbS1icmVhay5vIHRhcmdldC5vIHBhcnNl Lm8gbGFuZ3VhZ2UubyBidWlsZHN5bS5vIFwKKwltZW1hdHRyLm8gbWVtLWJy ZWFrLm8gdGFyZ2V0Lm8gcGFyc2UubyBwaXBlLm8gbGFuZ3VhZ2UubyBidWls ZHN5bS5vIFwKIAlmaW5kY21kLm8gXAogCXN0ZC1yZWdzLm8gXAogCXNpZ25h bHMubyBcCmRpZmYgLXJ1cCBzcmMvZ2RiL3BpcGUuYyBkc3QvZ2RiL3BpcGUu YwotLS0gc3JjL2dkYi9waXBlLmMJMjAxMS0wNy0yOSAxNToxNToyNi4wNzgw NDg1MTcgKzA1MzAKKysrIGRzdC9nZGIvcGlwZS5jCTIwMTEtMDctMjkgMTg6 MTY6MDcuNTAyMDQ5MTI1ICswNTMwCkBAIC0wLDAgKzEsMTk0IEBACisvKiBF dmVyeXRoaW5nIGFib3V0IHBpcGUsIGZvciBHREIuCisKKyAgIENvcHlyaWdo dCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5 OSwgMjAwMCwgMjAwMSwgMjAwMiwKKyAgIDIwMDMsIDIwMDQsIDIwMDcsIDIw MDgsIDIwMDksIDIwMTAsIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KKworICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgImRlZnMuaCIK KyNpbmNsdWRlICJnZGJjbWQuaCIKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lu Y2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVk ZSAidWktZmlsZS5oIgorI2luY2x1ZGUgInBpcGUuaCIKKworLyogUHJvdG90 eXBlcyBmb3IgbG9jYWwgZnVuY3Rpb25zICovCisKK3N0YXRpYyBzdHJ1Y3Qg cGlwZV90ICpjb25zdHJ1Y3RfcGlwZSAoY2hhciAqKTsKK3N0YXRpYyB2b2lk IGRlc3RydWN0X3BpcGUgKHN0cnVjdCBwaXBlX3QgKik7CitzdGF0aWMgc3Ry dWN0IHBpcGVfdCAqZXhlY3V0ZV9jb21tYW5kX3RvX3BpcGUgKHN0cnVjdCBw aXBlX3QgKiwgaW50KTsKK3N0YXRpYyB2b2lkIHBpcGVfY29tbWFuZCAoY2hh ciAqLCBpbnQpOworCitzdGF0aWMgc3RydWN0IHBpcGVfdCAqCitjb25zdHJ1 Y3RfcGlwZSAoY2hhciAqcCkKK3sKKyAgc3RydWN0IHBpcGVfdCAqcGlwZSA9 IE5VTEw7CisgIGludCBmb3VuZF9tb2RlID0gMCwgcGlwZV9vcHRfZG9uZSA9 IDA7CisKKyAgaWYgKHAgIT0gTlVMTCAmJiAqcCAhPSAnXDAnKQorICAgIHsK KyAgICAgIHBpcGUgPSB4bWFsbG9jIChzaXplb2Yoc3RydWN0IHBpcGVfdCkp OworICAgICAgcGlwZS0+bW9kZSA9IFdSX1RFWFQ7CisKKyAgICAgIHdoaWxl ICghcGlwZV9vcHRfZG9uZSkKKyAgICB7CisgICAgICB3aGlsZSAoaXNzcGFj ZSAoKnApKQorICAgICAgICArK3A7CisKKyAgICAgIC8qIElmIHdlIGRvbid0 IGdldCBhbiBhcmd1bWVudCBzdGFydGVkIHdpdGggJy0nCisgICAgICAgICBh bmQgd2hpY2ggaXMgbm90IGV2ZW4gYSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGgK KyAgICAgICAgIHNvbWUgb3B0aW9uLCB3ZSBjb25zaWRlciBpdCBhcyBhIHBv dGVudGlhbCAKKyAgICAgICAgIGRlbGltaXRlciBhbmQgc3RvcCBwYXJzaW5n IGZvciBmdXJ0aGVyIG9wdGlvbgorICAgICAgICAgYXJndW1lbnRzLiAgKi8K KyAgICAgIGlmICgqcCAhPSAnLScpCisgICAgICAgIGJyZWFrOworIAorICAg ICAgc3dpdGNoICgqKytwKQorICAgICAgICB7CisgICAgICAgICAgY2FzZSAn cic6CisgICAgICAgICAgICBpZiAoZm91bmRfbW9kZSkKKyAgICAgICAgICB7 CisgICAgICAgICAgICBwcmludGZfZmlsdGVyZWQgKF8oIkludmFsaWQgb3B0 aW9uXG4iKSk7CisgICAgICAgICAgICB4ZnJlZSAocGlwZSk7CisgICAgICAg ICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICB9CisgICAgICAgICAgICBw aXBlLT5tb2RlID0gUkRfVEVYVDsKKyAgICAgICAgICAgIGZvdW5kX21vZGUg PSAxOworICAgICAgICAgICAgKytwOworICAgICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgICBjYXNlICd3JzoKKyAgICAgICAgICAgIGlmIChmb3VuZF9t b2RlKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50Zl9maWx0ZXJl ZCAoXygiSW52YWxpZCBvcHRpb25cbiIpKTsKKyAgICAgICAgICAgIHhmcmVl IChwaXBlKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAg IH0KKyAgICAgICAgICAgIHBpcGUtPm1vZGUgPSBXUl9URVhUOworICAgICAg ICAgICAgZm91bmRfbW9kZSA9IDE7CisgICAgICAgICAgICArK3A7CisgICAg ICAgICAgICBicmVhazsKKworICAgICAgICAgIGNhc2UgJyAnOgorICAgICAg ICAgICAgcGlwZV9vcHRfZG9uZSA9IDE7CisgICAgICAgICAgICArK3A7Cisg ICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgICBkZWZhdWx0OgorICAg ICAgICAgICAgcHJpbnRmX2ZpbHRlcmVkIChfKCJJbnZhbGlkIG9wdGlvblxu IikpOworICAgICAgICAgICAgeGZyZWUgKHBpcGUpOworICAgICAgICAgICAg cmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAgIHdoaWxl IChpc3NwYWNlICgqcCkpCisgICAgICAgICsrcDsKKworICAgICAgcGlwZS0+ ZGxpbSA9ICpwKys7CisgICAgICBwaXBlLT5nZGJfY21kID0gcDsKKworICAg ICAgLyogVmFsaWRhdGUgdGhlIGRlbGltaXRlciBmcm9tIGEgcHJlLWRlZmlu ZWQKKyAgICAgICAgIHdoaXRlbGlzdCBjaGFyYWN0ZXJzLiBUaGlzIHdpbGwg ZW5mb3JjZSAKKyAgICAgICAgIG5vdCB0byB1c2Ugc3BlY2lhbCAoZS5nLiwg YWxwaGEtbnVtZXJpYykgbGlzdCAKKyAgICAgICAgIG9mIGNoYXJhY3RlcnMu ICAqLworICAgICAgLyogTk9URTogSWYgRExJTSBiZWNvbWUgbnVsbCwgUCBw b2ludHMgdG8gYSBiYWQKKyAgICAgICAgIHN0cmluZywgaGVuY2UgYmVmb3Jl IGRvaW5nIGZ1cnRoZXIgcHJvY2Vzc2luZworICAgICAgICAgb2YgUCB3ZSBz aG91bGQgY2hlY2sgRExJTS4gICovCisgICAgICBpZiAocGlwZS0+ZGxpbSA9 PSAnXDAnIHx8IAorICAgICAgc3RyY2hyICgifC9cXCdcImAjQCEkJV4iLCBw aXBlLT5kbGltKSA9PSBOVUxMKQorICAgIHsKKyAgICAgIHByaW50Zl9maWx0 ZXJlZCAoXygiSW52YWxpZCBkZWxpbWl0ZXIgJyVjJ1xuIiksIHBpcGUtPmRs aW0pOworICAgICAgeGZyZWUgKHBpcGUpOworICAgICAgcmV0dXJuIE5VTEw7 CisgICAgfQorCisgICAgICBpZiAoKHAgPSBzdHJjaHIgKHAsIHBpcGUtPmRs aW0pKSA9PSBOVUxMKQorICAgIHsKKyAgICAgIHByaW50Zl9maWx0ZXJlZCAo XygiRm91bmQgbm8gc2hlbGwgY29tbWFuZFxuIikpOworICAgICAgeGZyZWUg KHBpcGUpOworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgICAq cCsrID0gJ1wwJzsKKyAgICAgIHBpcGUtPnNoZWxsX2NtZCA9IHA7CisKKyAg ICAgIHBpcGUtPmhhbmRsZSA9IHBvcGVuIChwaXBlLT5zaGVsbF9jbWQsIHBp cGUtPm1vZGUpOworCisgICAgICBpZiAoIXBpcGUtPmhhbmRsZSkKKyAgICB7 CisgICAgICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAor CQkgICAgICBfKCJjb25zdHJ1Y3RfcGlwZTogZmFpbGVkIHRvIGNyZWF0ZSBw aXBlLlxuJXMiKSwgCisgICAgICAgICAgICAgIHN0cmVycm9yIChlcnJubykp OworCisgICAgICB4ZnJlZSAocGlwZSk7CisgICAgICByZXR1cm4gTlVMTDsK KyAgICB9CisgICAgfQorCisgIHJldHVybiBwaXBlOworfQorCitzdGF0aWMg dm9pZAorZGVzdHJ1Y3RfcGlwZSAoc3RydWN0IHBpcGVfdCAqcGlwZSkKK3sK KyAgcGNsb3NlIChwaXBlLT5oYW5kbGUpOworICB4ZnJlZSAocGlwZSk7Cit9 CisKK3N0YXRpYyBzdHJ1Y3QgcGlwZV90ICoKK2V4ZWN1dGVfY29tbWFuZF90 b19waXBlIChzdHJ1Y3QgcGlwZV90ICpwaXBlLCBpbnQgZnJvbV90dHkpCit7 CisgIEZJTEUgKmZzdHJlYW0sICpwc3RyZWFtOworICBzdHJ1Y3QgdWlfZmls ZSAqZ2RiX3N0ZGlvOworCisgIGlmICghcGlwZS0+bW9kZSkKKyAgICBpbnRl cm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAorCQkgICAgXygiZXhl Y3V0ZV9jb21tYW5kX3RvX3BpcGU6IHVuLWluaXRpYWxpemVkIHBpcGUiKSk7 CisgIGVsc2UgaWYgKCFzdHJjbXAgKHBpcGUtPm1vZGUsIFJEX1RFWFQpKQor ICAgIGdkYl9zdGRpbyA9IGdkYl9zdGRpbjsKKyAgZWxzZSBpZiAoIXN0cmNt cCAocGlwZS0+bW9kZSwgV1JfVEVYVCkpCisgICAgZ2RiX3N0ZGlvID0gZ2Ri X3N0ZG91dDsKKyAgZWxzZQorICAgIGludGVybmFsX2Vycm9yIChfX0ZJTEVf XywgX19MSU5FX18sCisJCSAgICBfKCJleGVjdXRlX2NvbW1hbmRfdG9fcGlw ZTogYmFkIHBpcGUgbW9kZSIpKTsKKyAgcHN0cmVhbSA9IHBpcGUtPmhhbmRs ZTsKKyAgZnN0cmVhbSA9IGdkYl9tb2RpZnlfaW8gKGdkYl9zdGRpbywgcHN0 cmVhbSk7CisgIGV4ZWN1dGVfY29tbWFuZCAocGlwZS0+Z2RiX2NtZCwgZnJv bV90dHkpOworICBwc3RyZWFtID0gZ2RiX21vZGlmeV9pbyAoZ2RiX3N0ZGlv LCBmc3RyZWFtKTsKKyAgcGlwZS0+aGFuZGxlID0gcHN0cmVhbTsKKyAgcmV0 dXJuIHBpcGU7Cit9CisKK3N0YXRpYyB2b2lkCitwaXBlX2NvbW1hbmQgKGNo YXIgKmFyZywgaW50IGZyb21fdHR5KQoreworICBzdHJ1Y3QgcGlwZV90ICpw aXBlOworCisgIHBpcGUgPSBjb25zdHJ1Y3RfcGlwZSAoYXJnKTsKKyAgaWYg KHBpcGUgIT0gTlVMTCkgCisgICAgeworICAgICAgcGlwZSA9IGV4ZWN1dGVf Y29tbWFuZF90b19waXBlIChwaXBlLCBmcm9tX3R0eSk7CisgICAgICBkZXN0 cnVjdF9waXBlIChwaXBlKTsKKyAgICB9Cit9CisKK3ZvaWQKK19pbml0aWFs aXplX3BpcGUgKHZvaWQpCit7CisgIGFkZF9jbWQgKCJwaXBlIiwgbm9fY2xh c3MsIHBpcGVfY29tbWFuZCwgXygiXAorQ3JlYXRlIHBpcGUgYmV0d2VlbiBn ZGIgYW5kIHNoZWxsIGZvciBJL08gYmFzZWQgY29tbXVuaWNhdGlvbi4iKSwg CisgICAgJmNtZGxpc3QpOworfQpkaWZmIC1ydXAgc3JjL2dkYi9waXBlLmgg ZHN0L2dkYi9waXBlLmgKLS0tIHNyYy9nZGIvcGlwZS5oCTIwMTEtMDctMjkg MTU6MTU6MzIuNDY2MDQ5MTI2ICswNTMwCisrKyBkc3QvZ2RiL3BpcGUuaAky MDExLTA3LTI5IDE0OjM0OjAyLjMzMDA0OTExMCArMDUzMApAQCAtMCwwICsx LDM0IEBACisvKiBEYXRhIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB3aXRoIHBp cGUgaW4gR0RCLgorICAgQ29weXJpZ2h0IChDKSAxOTg2LCAxOTg5LCAxOTkw LCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk4LCAxOTk5LCAyMDAwLAor ICAgMjAwMiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworI2lmICFkZWZpbmVkIChQSVBFX0gpCisjZGVmaW5lIFBJ UEVfSCAxCisKK3R5cGVkZWYgY2hhciAqaW9zdHJlYW1fbW9kZV90OworCisj ZGVmaW5lIFJEX1RFWFQgInIiCisjZGVmaW5lIFdSX1RFWFQgInciCisKK3N0 cnVjdCBwaXBlX3QgeworICBjaGFyICpzaGVsbF9jbWQ7CisgIGNoYXIgKmdk Yl9jbWQ7CisgIGNoYXIgZGxpbTsKKyAgaW9zdHJlYW1fbW9kZV90IG1vZGU7 CisgIEZJTEUgKmhhbmRsZTsKK307CisKKyNlbmRpZiAvKiAhZGVmaW5lZCAo UElQRV9IKSAqLwpkaWZmIC1ydXAgc3JjL2dkYi91aS1maWxlLmMgZHN0L2dk Yi91aS1maWxlLmMKLS0tIHNyYy9nZGIvdWktZmlsZS5jCTIwMTEtMDUtMTQg MTE6MTQ6MzYuMDAwMDAwMDAwICswNTMwCisrKyBkc3QvZ2RiL3VpLWZpbGUu YwkyMDExLTA3LTI5IDE0OjMyOjA3LjgzODA0OTQxMyArMDUzMApAQCAtNjE5 LDYgKzYxOSwyMCBAQCBzdGRpb19maWxlb3BlbiAoRklMRSAqZmlsZSkKICAg cmV0dXJuIHN0ZGlvX2ZpbGVfbmV3IChmaWxlLCAwKTsKIH0KIAorRklMRSAq CitnZGJfbW9kaWZ5X2lvIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgRklMRSAq aW9zdHJlYW1fbmV3KQoreworICBGSUxFICppb3N0cmVhbV9vbGQ7CisgIHN0 cnVjdCBzdGRpb19maWxlICpzdGRpbyA9IHVpX2ZpbGVfZGF0YSAoZmlsZSk7 CisKKyAgaWYgKHN0ZGlvLT5tYWdpYyAhPSAmc3RkaW9fZmlsZV9tYWdpYykK KyAgICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAorCQkg ICAgXygiZ2RiX21vZGlmeV9pbzogYmFkIG1hZ2ljIG51bWJlciIpKTsKKyAg aW9zdHJlYW1fb2xkID0gc3RkaW8tPmZpbGU7CisgIHN0ZGlvLT5maWxlID0g aW9zdHJlYW1fbmV3OworICByZXR1cm4gaW9zdHJlYW1fb2xkOworfQorCiBz dHJ1Y3QgdWlfZmlsZSAqCiBnZGJfZm9wZW4gKGNoYXIgKm5hbWUsIGNoYXIg Km1vZGUpCiB7CmRpZmYgLXJ1cCBzcmMvZ2RiL3VpLWZpbGUuaCBkc3QvZ2Ri L3VpLWZpbGUuaAotLS0gc3JjL2dkYi91aS1maWxlLmgJMjAxMS0wNS0xMyAy Mjo1ODoyMC4wMDAwMDAwMDAgKzA1MzAKKysrIGRzdC9nZGIvdWktZmlsZS5o CTIwMTEtMDctMjkgMTQ6MzE6MzguMDc0MDQ3MTIyICswNTMwCkBAIC0xMjYs NiArMTI2LDkgQEAgZXh0ZXJuIHN0cnVjdCB1aV9maWxlICpzdGRpb19maWxl b3BlbiAoRgogLyogT3BlbiBOQU1FIHJldHVybmluZyBhbiBTVERJTyBiYXNl ZCBVSV9GSUxFLiAgKi8KIGV4dGVybiBzdHJ1Y3QgdWlfZmlsZSAqZ2RiX2Zv cGVuIChjaGFyICpuYW1lLCBjaGFyICptb2RlKTsKIAorLyogTW9kaWZ5IHRo ZSBmaWxlIEkvTyBzdHJlYW0gcG9pbnRlciBvZiBhbiBTVERJTyBiYXNlZCBV SV9GSUxFLiAgKi8KK0ZJTEUgKmdkYl9tb2RpZnlfaW8gKHN0cnVjdCB1aV9m aWxlICpmaWxlLCBGSUxFICppb3N0cmVhbV9uZXcpOworCiAvKiBDcmVhdGUg YSBmaWxlIHdoaWNoIHdyaXRlcyB0byBib3RoIE9ORSBhbmQgVFdPLiAgQ0xP U0VfT05FCiAgICBhbmQgQ0xPU0VfVFdPIGluZGljYXRlIHdoZXRoZXIgdGhl IG9yaWdpbmFsIGZpbGVzIHNob3VsZCBiZQogICAgY2xvc2VkIHdoZW4gdGhl IG5ldyBmaWxlIGlzIGNsb3NlZC4gICovCg== --0015174c18a8c153a504a93559f4 Content-Type: application/octet-stream; name=ChangeLog Content-Disposition: attachment; filename=ChangeLog Content-Transfer-Encoding: base64 X-Attachment-Id: f_gqp721q53 Content-length: 456 MjAxMS0wNy0yOSBBYmhpaml0IEhhbGRlciA8YWJoaWppdC5rLmhhbGRlckBz eW1hbnRlYy5jb20+CgoJSW1wbGVtZW50YXRpb24gb2YgcGlwZSB0byBtYWtl IEkvTyBjb21tdW5pY2F0aW9uIAoJYmV0d2VlbiBnZGIgYW5kIHNoZWxsLgoK CSogdWktZmlsZS5jIChnZGJfbW9kaWZ5X2lvKTogTmV3IGZ1bmN0aW9uLgoJ KiB1aS1maWxlLmggKGdkYl9tb2RpZnlfaW8pOiBGdW5jdGlvbiBwcm90b3R5 cGUuCgkqIHBpcGUuYzogTmV3IGZpbGUuCgkqIHBpcGUuaDogTmV3IGZpbGUu CgkqIE1ha2VmaWxlLmluIChTRklMRVMpOiBBZGQgcGlwZS5jLgoJKENPTU1P Tl9PQlMpOiBBZGQgcGlwZS5vLiAK --0015174c18a8c153a504a93559f4--