From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3646 invoked by alias); 3 Jan 2012 17:04:47 -0000 Received: (qmail 3446 invoked by uid 22791); 3 Jan 2012 17:04:41 -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,TW_TD,TW_XC X-Spam-Check-By: sourceware.org Received: from mail-wi0-f169.google.com (HELO mail-wi0-f169.google.com) (209.85.212.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Jan 2012 17:04:23 +0000 Received: by wibhq12 with SMTP id hq12so12474270wib.0 for ; Tue, 03 Jan 2012 09:04:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.181.13.162 with SMTP id ez2mr115838123wid.17.1325610262076; Tue, 03 Jan 2012 09:04:22 -0800 (PST) Received: by 10.180.107.69 with HTTP; Tue, 3 Jan 2012 09:04:22 -0800 (PST) Date: Tue, 03 Jan 2012 17:04:00 -0000 Message-ID: Subject: Re: [PATCH] Implementation of pipe to pass GDB's command output to the shell. From: Abhijit Halder To: "gdb-patches@sourceware.org ml" Content-Type: multipart/mixed; boundary=f46d043be264c81cec04b5a2b043 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: 2012-01/txt/msg00098.txt.bz2 --f46d043be264c81cec04b5a2b043 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 386 Hi all, The copyright assignment is yet to be accomplished, it's almost in final stage. Meanwhile I want you to please do a final review of the changes I made. This patch implements a new gdb command namely, "pipe" to pass gdb command output to a shell command for further processing. This patch includes necessary documentation change and test-cases as well. Thanks, Abhijit Halder --f46d043be264c81cec04b5a2b043 Content-Type: text/plain; charset=US-ASCII; name="ChangeLog.txt" Content-Disposition: attachment; filename="ChangeLog.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwz4vk6w1 Content-length: 387 MjAxMi0wMS0wMyAgQWJoaWppdCBIYWxkZXIgIDxhYmhpaml0LmsuaGFsZGVy QGdtYWlsLmNvbT4KCglJbXBsZW1lbnRhdGlvbiBvZiBwaXBlIHRvIHBhc3Mg R0RCJ3MgY29tbWFuZCBvdXRwdXQgdG8gYSBzaGVsbAoJY29tbWFuZCBmb3Ig cHJvY2Vzc2luZy4KCgkqIE5FV1M6IEFkZCBuZXdzIGl0ZW0gZm9yIHRoZSBu ZXcgY29tbWFuZCAicGlwZSIuCgkqIHBpcGUuYzogTmV3IGZpbGUuCgkqIE1h a2VmaWxlLmluIChTRklMRVMpOiBBZGQgcGlwZS5jLgoJKENPTU1PTl9PQlMp OiBBZGQgcGlwZS5vLgo= --f46d043be264c81cec04b5a2b043 Content-Type: text/x-patch; charset=US-ASCII; name="gdb-pipecmd.patch" Content-Disposition: attachment; filename="gdb-pipecmd.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwz4ocet0 Content-length: 16812 ZGlmZiAtcnVwIHNyYy9nZGIvZG9jL2dkYi50ZXhpbmZvIGRzdC9nZGIvZG9j L2dkYi50ZXhpbmZvCi0tLSBzcmMvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDEy LTAxLTAzIDE5OjM4OjE4LjU0NTAwMzk5NiArMDUzMAorKysgZHN0L2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxMi0wMS0wMyAyMDoxMzoxNy4yMDkwMDM5OTQg KzA1MzAKQEAgLTEzNjksNiArMTM2OSw1NiBAQCBFeGVjdXRlIHRoZSBAY29k ZXttYWtlfSBwcm9ncmFtIHdpdGggdGhlCiBhcmd1bWVudHMuICBUaGlzIGlz IGVxdWl2YWxlbnQgdG8gQHNhbXB7c2hlbGwgbWFrZSBAdmFye21ha2UtYXJn c319LgogQGVuZCB0YWJsZQogCitJZiB5b3Ugd2FudCB0byBwcm9jZXNzIHRo ZSBvdXRwdXQgb2YgYSBAdmFsdWV7R0RCTn0gY29tbWFuZCB1c2luZyBzb21l IHNoZWxsCitjb21tYW5kIG9yIHNvbWUgc2NyaXB0LCB0aGF0IGNhbiBiZSBk b25lIGJ5IHVzaW5nIHRoZSBjb21tYW5kIEBjb2Rle3BpcGV9LgorCitAdGFi bGUgQGNvZGUKK0BraW5kZXggcGlwZQorQGl0ZW0gcGlwZSBAdmFye2RsaW19 IEB2YXJ7Z2RiY21kfSBAdmFye2RsaW19IEB2YXJ7c2hlbGxjbWR9CitAdmFy e2RsaW19IGlzIGEgc3RyaW5nIG9mIGFyYml0cmFyeSBsZW5ndGgsIGNvbnRh aW5pbmcgbm8gd2hpdGVzcGFjZSBhbmQgbm8KK2xlYWRpbmcgQHNhbXB7LX0s IGFjdHMgYXMgYSBzZXBhcmF0b3IgYmV0d2VlbiBhIEB2YWx1ZXtHREJOfSBj b21tYW5kCitAdmFye2dkYmNtZH0gYW5kIGEgc2hlbGwgY29tbWFuZCBAdmFy e3NoZWxsY21kfS4gIFRoZSBzaGVsbCBjb21tYW5kIHNob3VsZCBiZQoraW4g Y29tcGxpYW5jZSB3aXRoIHRoZSBzeW50YXggb2YgdGhlIHNoZWxsLiAgVGhl IEB2YXJ7ZGxpbX0gcGF0dGVybiBzaG91bGQgbm90CithcHBlYXIgaW4gQHZh cntnZGJjb21kfSwgb3RoZXJ3aXNlIHRoZSBwYXJzaW5nIHdpbGwgZmFpbDsg YWx0aG91Z2ggaXQgbWF5CithcHBlYXIgaW4gQHZhcntzaGVsbGNtZH0uCisK K0lmIGV4aXN0cywgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEBjb2Rle1NI RUxMfSBkZXRlcm1pbmVzIGluIHdoaWNoIHNoZWxsIHRvCitydW4gdGhlIHNo ZWxsIGNvbW1hbmQuICBPdGhlcndpc2UgQHZhbHVle0dEQk59IHVzZXMgdGhl IGRlZmF1bHQgc2hlbGwKKyhAZmlsZXsvYmluL3NofSBvbiBVbml4IHN5c3Rl bXMsIEBmaWxle0NPTU1BTkQuQ09NfSBvbiBNUy1ET1MsIGV0Yy4pLgorQGVu ZCB0YWJsZQorCitAc21hbGxleGFtcGxlCisoQHZhbHVle0dEQlB9KSBAYntw dHlwZSBkZF90Ymx9Cit0eXBlID0gc3RydWN0IGRkIEB7CisgICAgaW50IGRk X2hhbmRsZTsKKyAgICBjb25zdCBjaGFyICpkZF9uYW1lOworICAgIGludCBk ZF9tYWpvcjsKKyAgICBpbnQgZGRfbWlub3I7CisgICAgdm9pZCAqZGRfY29k ZTsKKyAgICB2b2lkICpkZF9kYXRhOworQH0gWzEwMjRdCisoQHZhbHVle0dE QlB9KSBAYntwaXBlIDxicj4gcHJpbnQgZGRfdGJsIDxicj4gc2VkICdzL0B9 L1xuL2cnIHwgZ3JlcCBACisiXC50ZXN0X2RkIiB8IHRyICcsJyAnXG4nfQor CisgIEB7ZGRfaGFuZGxlID0gMTAKKyAgZGRfbmFtZSA9IDB4ODA0ODUzOCAi LnRlc3RfZGQiCisgIGRkX21ham9yID0gMTAwCisgIGRkX21pbm9yID0gMAor ICBkZF9jb2RlID0gMHhjYworICBkZF9kYXRhID0gMHg4MAorQGVuZCBzbWFs bGV4YW1wbGUKKworSW4gdGhlIGFib3ZlIGV4YW1wbGUgQHNhbXB7PGJyPn0g YWN0cyBhcyBhIGRlbGltaXRlci4gIFRoZSBvdXRwdXQgb2YKK0BzYW1we3By aW50IGRkX3RibH0gaXMgcGFzc2VkIHRvIHRoZSBzaGVsbCBjb21tYW5kIEBz YW1we3NlZCAncy9AfS9cbi9nJyB8IEAKK2dyZXAgIi50ZXN0X2RkIiB8IHRy ICcsJyAnXG4nfSBmb3IgcHJvY2Vzc2luZy4gIEBzYW1we3x9IGNvdWxkIGJl IG9uZSBvZiB0aGUKK25hdHVyYWwgY2hvaXNlIG9mIGJlaW5nIHVzZWQgYXMg dGhlIGRlbGltaXRlci4gIEluIHRoZSBhYm92ZSBleGFtcGxlIHdlIGhhdmUK K2F2b2lkZWQgdGhlIHNhbWUgZm9yIHJlYWRhYmlsaXR5IHB1cnBvc2UuCisK K0luIHRoZSBnaXZlbiBleGFtcGxlIHRoZSBvdXRwdXQgb2YgQHZhbHVle0dE Qk59IGNvbW1hbmQgQHNhbXB7cHJpbnQgZGRfdGJsfSBpcworaHVnZSBhbmQg bm90IHdlbGwgZm9ybWF0ZWQuICBUaGUgdXNlIG9mIHNoZWxsIGNvbW1hbmRz IGxpa2UgQGNvbW1hbmR7c2VkfSwKK0Bjb21tYW5ke3RyfSBhbmQgQGNvbW1h bmR7Z3JlcH0gZWFzZSB0aGUgc2VhcmNoaW5nIG9mIGRlc2lyZWQgcGF0dGVy biBhbmQgaGVuY2UKK2Vhc2UgZGVidWdnaW5nLgorCiBAbm9kZSBMb2dnaW5n IE91dHB1dAogQHNlY3Rpb24gTG9nZ2luZyBPdXRwdXQKIEBjaW5kZXggbG9n Z2luZyBAdmFsdWV7R0RCTn0gb3V0cHV0CmRpZmYgLXJ1cCBzcmMvZ2RiL01h a2VmaWxlLmluIGRzdC9nZGIvTWFrZWZpbGUuaW4KLS0tIHNyYy9nZGIvTWFr ZWZpbGUuaW4JMjAxMi0wMS0wMyAyMTo1Nzo0Ni41NDkwMDIzNTggKzA1MzAK KysrIGRzdC9nZGIvTWFrZWZpbGUuaW4JMjAxMi0wMS0wMyAyMDoxMzoxNy4y MTMwMDM5OTYgKzA1MzAKQEAgLTcyMCw3ICs3MjAsNyBAQCBTRklMRVMgPSBh ZGEtZXhwLnkgYWRhLWxhbmcuYyBhZGEtdHlwZXByCiAJb2JqYy1leHAueSBv YmpjLWxhbmcuYyBcCiAJb2JqZmlsZXMuYyBvc2FiaS5jIG9ic2VydmVyLmMg b3NkYXRhLmMgXAogCW9wZW5jbC1sYW5nLmMgXAotCXAtZXhwLnkgcC1sYW5n LmMgcC10eXBlcHJpbnQuYyBwLXZhbHByaW50LmMgcGFyc2UuYyBwcmludGNt ZC5jIFwKKwlwLWV4cC55IHAtbGFuZy5jIHAtdHlwZXByaW50LmMgcC12YWxw cmludC5jIHBhcnNlLmMgcGlwZS5jIHByaW50Y21kLmMgXAogCXByb2Mtc2Vy dmljZS5saXN0IHByb2dzcGFjZS5jIFwKIAlwcm9sb2d1ZS12YWx1ZS5jIHBz eW10YWIuYyBcCiAJcmVnY2FjaGUuYyByZWdncm91cHMuYyByZW1vdGUuYyBy ZW1vdGUtZmlsZWlvLmMgcmV2ZXJzZS5jIFwKQEAgLTg3Nyw3ICs4NzcsNyBA QCBDT01NT05fT0JTID0gJChERVBGSUxFUykgJChDT05GSUdfT0JTKSAkCiAJ bWktY29tbW9uLm8gXAogCWV2ZW50LWxvb3AubyBldmVudC10b3AubyBpbmYt bG9vcC5vIGNvbXBsZXRlci5vIFwKIAlnZGJhcmNoLm8gYXJjaC11dGlscy5v IGdkYnR5cGVzLm8gb3NhYmkubyBjb3B5aW5nLm8gXAotCW1lbWF0dHIubyBt ZW0tYnJlYWsubyB0YXJnZXQubyBwYXJzZS5vIGxhbmd1YWdlLm8gYnVpbGRz eW0ubyBcCisJbWVtYXR0ci5vIG1lbS1icmVhay5vIHRhcmdldC5vIHBhcnNl Lm8gcGlwZS5vIGxhbmd1YWdlLm8gYnVpbGRzeW0ubyBcCiAJZmluZGNtZC5v IFwKIAlzdGQtcmVncy5vIFwKIAlzaWduYWxzLm8gXApkaWZmIC1ydXAgc3Jj L2dkYi9ORVdTIGRzdC9nZGIvTkVXUwotLS0gc3JjL2dkYi9ORVdTCTIwMTIt MDEtMDMgMTk6Mzg6MDkuNzIxMDAxNDYyICswNTMwCisrKyBkc3QvZ2RiL05F V1MJMjAxMi0wMS0wMyAyMDoxMzoxNy4yMTMwMDM5OTYgKzA1MzAKQEAgLTEz OCw2ICsxMzgsOSBAQAogICAiISIgaXMgbm93IGFuIGFsaWFzIG9mIHRoZSAi c2hlbGwiIGNvbW1hbmQuCiAgIE5vdGUgdGhhdCBubyBzcGFjZSBpcyBuZWVk ZWQgYmV0d2VlbiAiISIgYW5kIFNIRUxMIENPTU1BTkQuCiAKKyogTmV3IGNv bW1hbmQgInBpcGUiIGhhcyBiZWVuIGFkZGVkIHRvIG1ha2UgR0RCJ3MgY29t bWFuZCBvdXRwdXQgYXZhaWxhYmxlIHRvIGEKKyAgc2hlbGwgY29tbWFuZCBm b3IgcHJvY2Vzc2luZy4KKwogKiBDaGFuZ2VkIGNvbW1hbmRzCiAKIHdhdGNo IEVYUFJFU1NJT04gbWFzayBNQVNLX1ZBTFVFCmRpZmYgLXJ1cCBzcmMvZ2Ri L3BpcGUuYyBkc3QvZ2RiL3BpcGUuYwotLS0gc3JjL2dkYi9waXBlLmMJMjAx Mi0wMS0wMyAyMTo1NzoxMS4zOTMwMDQwMDEgKzA1MzAKKysrIGRzdC9nZGIv cGlwZS5jCTIwMTItMDEtMDMgMjA6MTM6MTcuMjEzMDAzOTk2ICswNTMwCkBA IC0wLDAgKzEsMjM5IEBACisvKiBFdmVyeXRoaW5nIGFib3V0IHBpcGUgY29t bWFuZCwgZm9yIEdEQi4KKworICAgQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMg cGFydCBvZiBHREIuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisK KyNpbmNsdWRlICJkZWZzLmgiCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNs dWRlICJnZGJfc3RyaW5nLmgiCisjaW5jbHVkZSAidWktZmlsZS5oIgorI2lu Y2x1ZGUgInVpLW91dC5oIgorI2luY2x1ZGUgImNsaS9jbGktdXRpbHMuaCIK KyNpbmNsdWRlICJnZGJjbWQuaCIKKyNpbmNsdWRlICJsaWJpYmVydHkuaCIK KyNpbmNsdWRlICJleGNlcHRpb25zLmgiCisKKyNpZiBkZWZpbmVkIChfX01J TkdXMzJfXykKKyMgZGVmaW5lIERFRkFVTFRfU0hFTEwgImNtZC5leGUiCisj IGRlZmluZSBPUFRJT05fVE9fU0hFTEwgIi9jIgorI2Vsc2UKKyMgZGVmaW5l IERFRkFVTFRfU0hFTEwgIi9iaW4vc2giCisjIGRlZmluZSBPUFRJT05fVE9f U0hFTEwgIi1jIgorI2VuZGlmCisKKy8qIFN0cnVjdHVyZSB0byBlbmNhcHN1 bGF0ZSBhbGwgZW50aXRpZXMgYXNzb2NpYXRlZCB3aXRoIHBpcGUuICAqLwor CitzdHJ1Y3QgcGlwZV9vYmoKK3sKKyAgLyogVGhlIGRlbGltaXRlciB0byBz ZXBhcmF0ZSBvdXQgZ2RiLWNvbW1hbmQgYW5kIHNoZWxsLWNvbW1hbmQuICBU aGlzIGNhbiBiZQorICAgICBhbnkgYXJiaXRyYXJ5IHN0cmluZyB3aXRob3V0 IGNvbnRhaW5pbmcgYW55IHdoaXRlc3BhY2UuICBUaGVyZSBzaG91bGQgbm90 CisgICAgIGJlIGFueSBsZWFkaW5nICctJyBpbiB0aGUgZGVsaW1pdGVyLiAg Ki8KKyAgY2hhciAqZGxpbTsKKworICAvKiBUaGUgZ2RiLWNvbW1hbmQuICAq LworICBjaGFyICpnZGJfY21kOworCisgIC8qIFRoZSBzaGVsbC1jb21tYW5k LiAgKi8KKyAgY2hhciAqc2hlbGxfY21kOworCisgIC8qIFRoZSBnZGItc2lk ZSBzdHJlYW0gcG9pbnRlciB0byB0aGUgcGlwZS4gICovCisgIEZJTEUgKmhh bmRsZTsKKworICAvKiBUaGUgcGV4IG9iamVjdCB1c2VkIHRvIGNyZWF0ZSBw aXBlbGluZSBiZXR3ZWVuIGdkYiBhbmQgc2hlbGwuICAqLworICBzdHJ1Y3Qg cGV4X29iaiAqcGV4OworfTsKKworLyogRGVzdHJ1Y3QgcGlwZSBvYmplY3Qg cmVmZXJlbmNlZCBieSBBUkcuICAqLworCitzdGF0aWMgdm9pZAorZGVzdHJ1 Y3RfcGlwZSAodm9pZCAqYXJnKQoreworICBzdHJ1Y3QgcGlwZV9vYmogKnBp cGUgPSAoc3RydWN0IHBpcGVfb2JqICopIGFyZzsKKworICBpZiAocGlwZS0+ aGFuZGxlICE9IE5VTEwpCisgICAgZmNsb3NlIChwaXBlLT5oYW5kbGUpOwor CisgIGlmIChwaXBlLT5wZXggIT0gTlVMTCkKKyAgICB7CisgICAgICBpbnQg c3RhdHVzOworCisgICAgICAvKiBXYWl0IHRpbGwgdGhlIHByb2Nlc3Mgb24g dGhlIG90aGVyIHNpZGUgb2YgdGhlIHBpcGUgY29tcGxldGVzIGl0cworCSBq b2IgYmVmb3JlIGNsb3NpbmcgaXRzIGZpbGUgZGVzY3JpcHRvcnMuICAqLwor ICAgICAgcGV4X2dldF9zdGF0dXMgKHBpcGUtPnBleCwgMSwgJnN0YXR1cyk7 CisKKyAgICAgIGlmICghV0lGRVhJVEVEIChzdGF0dXMpKQorCXdhcm5pbmcg KF8oIkV4ZWN1dGlvbiBvZiBzaGVsbC1jb21tYW5kIGAlcycgbWF5IG5vdCBi ZSBjb21wbGV0ZWQ6ICVzLiIpLAorCQkgcGlwZS0+c2hlbGxfY21kLCBzYWZl X3N0cmVycm9yIChzdGF0dXMpKTsKKworICAgICAgcGV4X2ZyZWUgKHBpcGUt PnBleCk7CisgICAgfQorCisgIHhmcmVlIChwaXBlLT5kbGltKTsKKyAgeGZy ZWUgKHBpcGUpOworfQorCisvKiBDb25zdHJ1Y3QgYSBwaXBlIG9iamVjdCBi eSBwYXJzaW5nIGFyZ3VtZW50IEFSRyB0byB0aGUgcGlwZSBjb21tYW5kLiAg Ki8KKworc3RhdGljIHN0cnVjdCBwaXBlX29iaiAqCitjb25zdHJ1Y3RfcGlw ZSAoY29uc3QgY2hhciAqYXJnKQoreworICBzdHJ1Y3QgcGlwZV9vYmogKnBp cGU7CisgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwOworICBjaGFyICpwLCAq dDsKKworICBpZiAoYXJnID09IE5VTEwpCisgICAgZXJyb3IgKF8oIk5vIGFy Z3VtZW50IGlzIHNwZWNpZmllZC4iKSk7CisKKyAgcGlwZSA9IFhDTkVXIChz dHJ1Y3QgcGlwZV9vYmopOworICBjbGVhbnVwID0gbWFrZV9jbGVhbnVwIChk ZXN0cnVjdF9waXBlLCBwaXBlKTsKKworICBwID0geHN0cmR1cCAoYXJnKTsK KyAgcGlwZS0+ZGxpbSA9IHA7CisKKyAgaWYgKCpwaXBlLT5kbGltID09ICct JykKKyAgICBlcnJvciAoXygiRGVsaW1pdGVyIHBhdHRlcm4gc2hvdWxkIG5v dCBzdGFydCB3aXRoIGAtJy4iKSk7CisKKyAgdCA9IHNraXBfdG9fc3BhY2Ug KHApOworICBwID0gc2tpcF9zcGFjZXMgKHQpOworCisgIGlmICgqcCA9PSAn XDAnKQorICAgIGVycm9yIChfKCJObyBnZGItY29tbWFuZCBpcyBzcGVjaWZp ZWQuIikpOworCisgICp0ID0gJ1wwJzsKKyAgcGlwZS0+Z2RiX2NtZCA9IHA7 CisKKyAgZm9yICg7OykKKyAgICB7CisgICAgICB0ID0gc2tpcF90b19zcGFj ZSAocCk7CisKKyAgICAgIGlmICgqdCA9PSAnXDAnKQorCWVycm9yIChfKCJO byBzaGVsbC1jb21tYW5kIGlzIHNwZWNpZmllZC4iKSk7CisKKyAgICAgIC8q IENoZWNrIHdoZXRoZXIgdGhlIHRva2VuIHNlcGFyYXRlZCBieSB3aGl0ZXNw YWNlIG1hdGNoZXMgd2l0aAorCSBkZWxpbWl0ZXIuICAqLyAKKyAgICAgIGlm IChtZW1jbXAgKHAsIHBpcGUtPmRsaW0sICh0IC0gcCkpID09IDAKKwkgICYm IHBpcGUtPmRsaW1bdCAtIHBdID09ICdcMCcpCisJeworCSAgKnAgPSAnXDAn OworCSAgcGlwZS0+c2hlbGxfY21kID0gc2tpcF9zcGFjZXMgKHQpOworCSAg YnJlYWs7CisJfQorCisgICAgICAgcCA9IHNraXBfc3BhY2VzICh0KTsKKyAg ICB9CisKKyAgZGlzY2FyZF9jbGVhbnVwcyAoY2xlYW51cCk7CisgIHJldHVy biBwaXBlOworfQorCisvKiBSdW4gZXhlY3V0ZV9jb21tYW5kIGZvciBQSVBF IGFuZCBGUk9NX1RUWS4gIFdyaXRlIG91dHB1dCB0byB0aGUgcGlwZSwgZG8g bm90CisgICBkaXNwbGF5IGl0IHRvIHRoZSBzY3JlZW4uICAqLworCitzdGF0 aWMgdm9pZAorZXhlY3V0ZV9jb21tYW5kX3RvX3BpcGUgKHN0cnVjdCBwaXBl X29iaiAqcGlwZSwgaW50IGZyb21fdHR5KQoreworICBjaGFyICphcmd2WzRd OworICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cDsKKyAgc3RydWN0IHVpX2Zp bGUgKmZwOworICBpbnQgc3RhdHVzOworICBjb25zdCBjaGFyICplcnJtc2c7 CisgIHZvbGF0aWxlIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGV4Y2VwdGlvbjsK KyAgY29uc3QgY2hhciAqc2hlbGw7CisKKyAgaWYgKCpwaXBlLT5nZGJfY21k ID09ICdcMCcpCisgICAgZXJyb3IgKF8oIk5vIGdkYi1jb21tYW5kIGlzIHNw ZWNpZmllZC4iKSk7CisKKyAgLyogRmlndXJlIG91dCB3aGF0IHNoZWxsIHRo ZSB1c2VyIHByb2dyYW0gaXMgdW5kZXIuICAqLworICBzaGVsbCA9IGdldGVu diAoIlNIRUxMIik7CisgIGlmIChzaGVsbCA9PSBOVUxMKQorICAgIHNoZWxs ID0gREVGQVVMVF9TSEVMTDsKKworICBhcmd2WzBdID0gc2hlbGw7CisgIGFy Z3ZbMV0gPSBPUFRJT05fVE9fU0hFTEw7CisgIGFyZ3ZbMl0gPSBwaXBlLT5z aGVsbF9jbWQ7CisgIGFyZ3ZbM10gPSBOVUxMOworCisgIHBpcGUtPnBleCA9 IHBleF9pbml0IChQRVhfVVNFX1BJUEVTLCBhcmd2WzBdLCBOVUxMKTsKKyAg cGlwZS0+aGFuZGxlID0gcGV4X2lucHV0X3BpcGUgKHBpcGUtPnBleCwgMCk7 CisKKyAgaWYgKHBpcGUtPmhhbmRsZSA9PSBOVUxMKQorICAgIGVycm9yIChf KCJGYWlsZWQgdG8gY3JlYXRlIHBpcGU6ICVzLiIpLCBzYWZlX3N0cmVycm9y IChlcnJubykpOworCisgIGVycm1zZyA9IHBleF9ydW4gKHBpcGUtPnBleCwg UEVYX0xBU1QsIGFyZ3ZbMF0sIGFyZ3YsIE5VTEwsIE5VTEwsICZzdGF0dXMp OworCisgIGlmIChlcnJtc2cgIT0gTlVMTCkKKyAgICBlcnJvciAoXygiRmFp bGVkIHRvIGV4ZWN1dGUgc2hlbGwtY29tbWFuZCBgJXMnIG9uIHBpcGU6ICVz OiAlcy4iKSwKKwkgICBwaXBlLT5zaGVsbF9jbWQsIGVycm1zZywgc2FmZV9z dHJlcnJvciAoc3RhdHVzKSk7CisKKyAgLyogR0RCX1NURE9VVCBzaG91bGQg YmUgYmV0dGVyIGFscmVhZHkgcmVzdG9yZWQgZHVyaW5nIHRoZXNlCisgICAg IHJlc3RvcmF0aW9uIGNhbGxiYWNrcy4gICovCisgIGNsZWFudXAgPSBzZXRf YmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9pbmZv ICgpOworICBmcCA9IHN0ZGlvX2ZpbGVvcGVuIChwaXBlLT5oYW5kbGUpOwor ICBtYWtlX2NsZWFudXBfdWlfZmlsZV9kZWxldGUgKGZwKTsKKyAgbWFrZV9j bGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAoJmdkYl9zdGRvdXQpOworICBtYWtl X2NsZWFudXBfcmVzdG9yZV91aV9maWxlICgmZ2RiX3N0ZGVycik7CisgIG1h a2VfY2xlYW51cF9yZXN0b3JlX3VpX2ZpbGUgKCZnZGJfc3RkbG9nKTsKKyAg bWFrZV9jbGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAoJmdkYl9zdGR0YXJnKTsK KyAgbWFrZV9jbGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAoJmdkYl9zdGR0YXJn ZXJyKTsKKworICBpZiAodWlfb3V0X3JlZGlyZWN0IChjdXJyZW50X3Vpb3V0 LCBmcCkgPCAwKQorICAgIHdhcm5pbmcgKF8oIkN1cnJlbnQgb3V0cHV0IHBy b3RvY29sIGRvZXMgbm90IHN1cHBvcnQgcmVkaXJlY3Rpb24iKSk7CisgIGVs c2UgCisgICAgbWFrZV9jbGVhbnVwX3VpX291dF9yZWRpcmVjdF9wb3AgKGN1 cnJlbnRfdWlvdXQpOworCisgIGdkYl9zdGRvdXQgPSBmcDsKKyAgZ2RiX3N0 ZGVyciA9IGZwOworICBnZGJfc3RkbG9nID0gZnA7CisgIGdkYl9zdGR0YXJn ID0gZnA7CisgIGdkYl9zdGR0YXJnZXJyID0gZnA7CisKKyAgVFJZX0NBVENI IChleGNlcHRpb24sIFJFVFVSTl9NQVNLX0VSUk9SKQorICAgIHsKKyAgICAg IGV4ZWN1dGVfY29tbWFuZCAocGlwZS0+Z2RiX2NtZCwgZnJvbV90dHkpOwor ICAgIH0KKworICBpZiAoZXhjZXB0aW9uLnJlYXNvbiA8IDApCisgICAgZXhj ZXB0aW9uX3ByaW50IChnZGJfc3RkZXJyLCBleGNlcHRpb24pOworCisgIGRv X2NsZWFudXBzIChjbGVhbnVwKTsKK30KKworLyogRXhlY3V0ZSB0aGUgcGlw ZSBjb21tYW5kIHdpdGggYXJndW1lbnQgQVJHIGFuZCBGUk9NX1RUWS4gICov CisKK3N0YXRpYyB2b2lkCitwaXBlX2NvbW1hbmQgKGNoYXIgKmFyZywgaW50 IGZyb21fdHR5KQoreworICBzdHJ1Y3QgcGlwZV9vYmogKnBpcGUgPSBjb25z dHJ1Y3RfcGlwZSAoYXJnKTsKKyAgc3RydWN0IGNsZWFudXAgKmNsZWFudXAg PSBtYWtlX2NsZWFudXAgKGRlc3RydWN0X3BpcGUsIHBpcGUpOworCisgIGV4 ZWN1dGVfY29tbWFuZF90b19waXBlIChwaXBlLCBmcm9tX3R0eSk7CisgIGRv X2NsZWFudXBzIChjbGVhbnVwKTsKK30KKworLyogTW9kdWxlIGluaXRpYWxp emF0aW9uLiAgKi8KKwordm9pZAorX2luaXRpYWxpemVfcGlwZSAodm9pZCkK K3sKKyAgYWRkX2NtZCAoInBpcGUiLCBub19jbGFzcywgcGlwZV9jb21tYW5k LCBfKCJcCitDcmVhdGUgcGlwZSB0byBwYXNzIGdkYi1jb21tYW5kIG91dHB1 dCB0byBhIHNoZWxsIGNvbW1hbmQgZm9yIHByb2Nlc3NpbmcuXG5cCitBcmd1 bWVudHMgYXJlIGEgZGVsaW1pdGVyLCBmb2xsb3dlZCBieSBhIGdkYi1jb21t YW5kLCB0aGVuIHRoZSBzYW1lXG5cCitkZWxpbWl0ZXIgYWdhaW4gYW5kIGZp bmFsbHkgYSBzaGVsbC1jb21tYW5kLlxuXG5cCitUaGUgZGVsaW1pdGVyIGNh biBiZSBhIHN0cmluZyBvZiBhcmJpdHJhcnkgbGVuZ3RoIGNvbnRhaW5pbmcg bm8gd2hpdGVzcGFjZVxuXAorYW5kIHNob3VsZCBub3QgaGF2ZSBhbnkgbGVh ZGluZyBgLScuIiksCisJICAgJmNtZGxpc3QpOworfQpkaWZmIC1ydXAgc3Jj L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcGlwZS5leHAgZHN0L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvcGlwZS5leHAKLS0tIHNyYy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3BpcGUuZXhwCTIwMTEtMDktMTMgMTY6Mzc6MDQuMjk0Mjc3 MjUyICswNTMwCisrKyBkc3QvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9waXBl LmV4cAkyMDEyLTAxLTAzIDIwOjEzOjE3LjIxMzAwMzk5NiArMDUzMApAQCAt MCwwICsxLDUxIEBACisjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjCisjIHRl c3QgZ2RiIHBpcGUgY29tbWFuZHMKKyMKKworc2V0IHRlc3QgInBpcGUiCitz ZXQgdGVtcGZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke3Rlc3R9LngKKwor Z2RiX2V4aXQKK2dkYl9zdGFydAorCitnZGJfdGVzdCAicGlwZSIgIk5vIGFy Z3VtZW50IGlzIHNwZWNpZmllZCIKK2dkYl90ZXN0ICJwaXBlIHwiICJObyBn ZGItY29tbWFuZCBpcyBzcGVjaWZpZWQiCitnZGJfdGVzdCAicGlwZSAteCIg IkRlbGltaXRlciBwYXR0ZXJuIHNob3VsZCBub3Qgc3RhcnQgd2l0aCAnLSci CitnZGJfdGVzdCAicGlwZSB8IHByaW50ICd4JyIgIk5vIHNoZWxsLWNvbW1h bmQgaXMgc3BlY2lmaWVkIgorZ2RiX3Rlc3QgInBpcGUgfCBwcmludCAneCcg fDwgY2F0IiAiTm8gc2hlbGwtY29tbWFuZCBpcyBzcGVjaWZpZWQiCitnZGJf dGVzdCAicGlwZSB8PCBwcmludCAneCcgfCBjYXQiICJObyBzaGVsbC1jb21t YW5kIGlzIHNwZWNpZmllZCIKK2dkYl90ZXN0ICJwaXBlIHwgcHJpbnQgJ3gn ID58IGNhdCIgIk5vIHNoZWxsLWNvbW1hbmQgaXMgc3BlY2lmaWVkIgorZ2Ri X3Rlc3QgInBpcGUgPnwgcHJpbnQgJ3gnIHwgY2F0IiAiTm8gc2hlbGwtY29t bWFuZCBpcyBzcGVjaWZpZWQiCitnZGJfdGVzdCAicGlwZSB8IHByaW50ICd4 JyB8IGNhdCIgIiA9IDEyMCAneCciCitnZGJfdGVzdCAicGlwZSB8IHByaW50 ICd4JyB8IGNhdCB8IGNhdCIgIiA9IDEyMCAneCciCisKK2ZpbGUgZGVsZXRl ICR0ZW1wZmlsZQorZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJwaXBlIHwgcCAneCcg fCBjYXQgPiR0ZW1wZmlsZSIKK2lmICFbZmlsZSBleGlzdHMgJHRlbXBmaWxl XSB0aGVuIHsKKyAgICBwZXJyb3IgIiR0ZW1wZmlsZSBkb2VzIG5vdCBleGlz dC4iCisgICAgcmV0dXJuIDAKK30gZWxzZSB7CisgICAgc2V0IGZwIFtvcGVu ICR0ZW1wZmlsZSByXQorICAgIHNldCBmZGF0YSBbcmVhZCAkZnBdCisgICAg Y2xvc2UgJGZwCisgICAgaWYgIVtyZWdleHAge15cJFswLTldKyA9IDEyMCAn eCdcbiR9ICRmZGF0YV0gdGhlbiB7CisJZmFpbCAkdGVzdAorICAgIH0gZWxz ZSB7CisJcGFzcyAkdGVzdAorICAgIH0KK30K --f46d043be264c81cec04b5a2b043 Content-Type: text/plain; charset=US-ASCII; name="doc-ChangeLog.txt" Content-Disposition: attachment; filename="doc-ChangeLog.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwz4vzgr2 Content-length: 151 MjAxMi0wMS0wMyAgQWJoaWppdCBIYWxkZXIgIDxhYmhpaml0LmsuaGFsZGVy QGdtYWlsLmNvbT4KCgkqIGdkYi50ZXhpbmZvIChTaGVsbCBDb21tYW5kcyk6 IEFkZCBwaXBlIGNvbW1hbmQuCg== --f46d043be264c81cec04b5a2b043 Content-Type: text/plain; charset=US-ASCII; name="testsuite-ChangeLog.txt" Content-Disposition: attachment; filename="testsuite-ChangeLog.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwz641nr3 Content-length: 122 MjAxMi0wMS0wMyAgQWJoaWppdCBIYWxkZXIgIDxhYmhpaml0LmsuaGFsZGVy QGdtYWlsLmNvbT4KCgkqIGdkYi5iYXNlL3BpcGUuZXhwOiBOZXcgZmlsZS4K --f46d043be264c81cec04b5a2b043--