From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7870 invoked by alias); 9 Aug 2011 10:42:52 -0000 Received: (qmail 7861 invoked by uid 22791); 9 Aug 2011 10:42:49 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_BJ,TW_RG,TW_TD X-Spam-Check-By: sourceware.org Received: from mail-ey0-f169.google.com (HELO mail-ey0-f169.google.com) (209.85.215.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 09 Aug 2011 10:42:27 +0000 Received: by eye22 with SMTP id 22so4079890eye.0 for ; Tue, 09 Aug 2011 03:42:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.213.114.66 with SMTP id d2mr1878998ebq.102.1312886545569; Tue, 09 Aug 2011 03:42:25 -0700 (PDT) Received: by 10.213.5.4 with HTTP; Tue, 9 Aug 2011 03:42:25 -0700 (PDT) In-Reply-To: References: <201108041029.37721.pedro@codesourcery.com> <83pqkjx578.fsf@gnu.org> Date: Tue, 09 Aug 2011 10:42:00 -0000 Message-ID: Subject: Re: [PATCH] An implementation of pipe to make I/O communication between gdb and shell. From: Abhijit Halder To: Sergio Durigan Junior Cc: Eli Zaretskii , tromey@redhat.com, pedro@codesourcery.com, gdb-patches@sourceware.org, jan.kratochvil@redhat.com Content-Type: multipart/mixed; boundary=0015174bdde22dd92d04aa10389d 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-08/txt/msg00174.txt.bz2 --0015174bdde22dd92d04aa10389d Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1036 On Tue, Aug 9, 2011 at 8:32 AM, Sergio Durigan Junior wrote: > Abhijit Halder writes: > >> On Sun, Aug 7, 2011 at 3:50 AM, Sergio Durigan Junior >> wrote: >>>> +struct pipe_obj >>>> +{ >>>> + =A0/* The delimiter to separate out gdb-command and shell-command. T= his can be >>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0^^ >> Sorry, here I am not clear. Do you mean to say I should remove - in >> between gdb and command? > > No. =A0I meant you should add two spaces after the period. =A0Instead of: > > "... and shell-command. This can be" > > you should write: > > "... and shell-command. =A0This can be" > >>>> + =A0/* The pex object use to create pipeline between gdb and shell. = =A0*/ >>> >> Here I guess I have put 2 space character between . (period) and */. > > Yes. > > Regards. > I made the corrections suggested during code review. Thanks, Abhijit Halder --0015174bdde22dd92d04aa10389d 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_gr4ql9kk0 Content-length: 8691 ZGlmZiAtcnVwIHNyYy9nZGIvTWFrZWZpbGUuaW4gZHN0L2dkYi9NYWtlZmls ZS5pbgotLS0gc3JjL2dkYi9NYWtlZmlsZS5pbgkyMDExLTA3LTI3IDIzOjU1 OjI2LjAwMDAwMDAwMCArMDUzMAorKysgZHN0L2dkYi9NYWtlZmlsZS5pbgky MDExLTA3LTI5IDE2OjEyOjMyLjU3ODA0ODc5NyArMDUzMApAQCAtNzEzLDcg KzcxMyw3IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFkYS10 eXBlcHIKIAlvYmpjLWV4cC55IG9iamMtbGFuZy5jIFwKIAlvYmpmaWxlcy5j IG9zYWJpLmMgb2JzZXJ2ZXIuYyBvc2RhdGEuYyBcCiAJb3BlbmNsLWxhbmcu YyBcCi0JcC1leHAueSBwLWxhbmcuYyBwLXR5cGVwcmludC5jIHAtdmFscHJp bnQuYyBwYXJzZS5jIHByaW50Y21kLmMgXAorCXAtZXhwLnkgcC1sYW5nLmMg cC10eXBlcHJpbnQuYyBwLXZhbHByaW50LmMgcGFyc2UuYyBwaXBlLmMgcHJp bnRjbWQuYyBcCiAJcHJvYy1zZXJ2aWNlLmxpc3QgcHJvZ3NwYWNlLmMgXAog CXByb2xvZ3VlLXZhbHVlLmMgcHN5bXRhYi5jIFwKIAlyZWdjYWNoZS5jIHJl Z2dyb3Vwcy5jIHJlbW90ZS5jIHJlbW90ZS1maWxlaW8uYyByZXZlcnNlLmMg XApAQCAtODcwLDcgKzg3MCw3IEBAIENPTU1PTl9PQlMgPSAkKERFUEZJTEVT KSAkKENPTkZJR19PQlMpICQKIAltaS1jb21tb24ubyBcCiAJZXZlbnQtbG9v cC5vIGV2ZW50LXRvcC5vIGluZi1sb29wLm8gY29tcGxldGVyLm8gXAogCWdk YmFyY2gubyBhcmNoLXV0aWxzLm8gZ2RidHlwZXMubyBvc2FiaS5vIGNvcHlp bmcubyBcCi0JbWVtYXR0ci5vIG1lbS1icmVhay5vIHRhcmdldC5vIHBhcnNl Lm8gbGFuZ3VhZ2UubyBidWlsZHN5bS5vIFwKKwltZW1hdHRyLm8gbWVtLWJy ZWFrLm8gdGFyZ2V0Lm8gcGFyc2UubyBwaXBlLm8gbGFuZ3VhZ2UubyBidWls ZHN5bS5vIFwKIAlmaW5kY21kLm8gXAogCXN0ZC1yZWdzLm8gXAogCXNpZ25h bHMubyBcCmRpZmYgLXJ1cCBzcmMvZ2RiL3BpcGUuYyBkc3QvZ2RiL3BpcGUu YwotLS0gc3JjL2dkYi9waXBlLmMJMjAxMS0wNy0yOSAxNToxNToyNi4wNzgw NDg1MTcgKzA1MzAKKysrIGRzdC9nZGIvcGlwZS5jCTIwMTEtMDgtMDkgMTU6 NTM6NDguNDYyMTQ1ODg0ICswNTMwCkBAIC0wLDAgKzEsMjEwIEBACisvKiBF dmVyeXRoaW5nIGFib3V0IHBpcGUsIGZvciBHREIuCisKKyAgIENvcHlyaWdo dCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwor ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgorCisgICBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSAiZGVmcy5oIgorI2luY2x1ZGUg PGN0eXBlLmg+CisjaW5jbHVkZSAiZ2RiX3N0cmluZy5oIgorI2luY2x1ZGUg InVpLWZpbGUuaCIKKyNpbmNsdWRlICJ1aS1vdXQuaCIKKyNpbmNsdWRlICJj bGkvY2xpLXV0aWxzLmgiCisjaW5jbHVkZSAiZ2RiY21kLmgiCisjaW5jbHVk ZSAibGliaWJlcnR5LmgiCisKKy8qIFN0cnVjdHVyZSB0byBlbmNhcHN1bGF0 ZSBhbGwgZW50aXRpZXMgYXNzb2NpYXRlZCB3aXRoIHBpcGUuICAqLworCitz dHJ1Y3QgcGlwZV9vYmoKK3sKKyAgLyogVGhlIGRlbGltaXRlciB0byBzZXBh cmF0ZSBvdXQgZ2RiLWNvbW1hbmQgYW5kIHNoZWxsLWNvbW1hbmQuICBUaGlz IGNhbiBiZQorICAgICBhbnkgYXJiaXRyYXJ5IHN0cmluZyB3aXRob3V0IGNv bnRhaW5pbmcgYW55IHdoaXRlc3BhY2UuICAqLworICBjaGFyICpkbGltOwor CisgIC8qIFRoZSBnZGItY29tbWFuZC4gICovCisgIGNoYXIgKmdkYl9jbWQ7 CisKKyAgLyogVGhlIHNoZWxsLWNvbW1hbmQuICAqLworICBjaGFyICpzaGVs bF9jbWQ7CisKKyAgLyogVGhlIGdkYi1zaWRlIHN0cmVhbSBwb2ludGVyIHRv IHRoZSBwaXBlLiAgKi8KKyAgRklMRSAqaGFuZGxlOworCisgIC8qIFRoZSBw ZXggb2JqZWN0IHVzZWQgdG8gY3JlYXRlIHBpcGVsaW5lIGJldHdlZW4gZ2Ri IGFuZCBzaGVsbC4gICovCisgIHN0cnVjdCBwZXhfb2JqICpwZXg7Cit9Owor CisvKiBDb25zdHJ1Y3QgYSBwaXBlIG9iamVjdCBieSBwYXJzaW5nIGFyZ3Vt ZW50IHRvIHRoZSBwaXBlIGNvbW1hbmQuICAqLworCitzdGF0aWMgc3RydWN0 IHBpcGVfb2JqICoKK2NvbnN0cnVjdF9waXBlIChjaGFyICpwKQoreworICBj aGFyICp0OworICBzdHJ1Y3QgcGlwZV9vYmogKnBpcGUgPSBOVUxMOworICBz dHJ1Y3QgY2xlYW51cCAqY2xlYW51cDsKKworICBpZiAocCA9PSBOVUxMKQor ICAgIGVycm9yIChfKCJObyBhcmd1bWVudCBpcyBzcGVjaWZpZWQiKSk7CisK KyAgcGlwZSA9IFhDTkVXIChzdHJ1Y3QgcGlwZV9vYmopOworICBjbGVhbnVw ID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgcGlwZSk7CisKKyAgcGlwZS0+ZGxp bSA9IHA7CisKKyAgdCA9IHNraXBfdG9fc3BhY2UgKHApOworICBwID0gc2tp cF9zcGFjZXMgKHQpOworCisgIGlmICgqcCA9PSAnXDAnKQorICAgIGVycm9y IChfKCJObyBnZGItY29tbWFuZCBpcyBzcGVjaWZpZWQiKSk7CisKKyAgKnQg PSAnXDAnOworICBwaXBlLT5nZGJfY21kID0gcDsKKworICBmb3IgKDs7KQor ICAgIHsKKyAgICAgIHQgPSBza2lwX3RvX3NwYWNlIChwKTsKKworICAgICAg aWYgKCp0ID09ICdcMCcpCisJZXJyb3IgKF8oIk5vIHNoZWxsLWNvbW1hbmQg aXMgc3BlY2lmaWVkIikpOworCisgICAgICAvKiBDaGVjayB3aGV0aGVyIHRo ZSB0b2tlbiBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBtYXRjaGVzIHdpdGgK KwkgZGVsaW1pdGVyLiAgKi8gCisgICAgICBpZiAobWVtY21wIChwLCBwaXBl LT5kbGltLCAodCAtIHApKSA9PSAwKQorCXsKKwkgICpwID0gJ1wwJzsKKwkg IHBpcGUtPnNoZWxsX2NtZCA9IHNraXBfc3BhY2VzICh0KTsKKwkgIGJyZWFr OworCX0KKworICAgICAgIHAgPSBza2lwX3NwYWNlcyAodCk7CisgICAgfQor CisgIGRpc2NhcmRfY2xlYW51cHMgKGNsZWFudXApOworICByZXR1cm4gcGlw ZTsKK30KKworLyogUnVuIGV4ZWN1dGVfY29tbWFuZCBmb3IgUCBhbmQgRlJP TV9UVFkuICBXcml0ZSBvdXRwdXQgdG8gdGhlIHBpcGUsIGRvIG5vdAorICAg ZGlzcGxheSBpdCB0byB0aGUgc2NyZWVuLiAgKi8KKworc3RhdGljIHZvaWQK K2V4ZWN1dGVfY29tbWFuZF90b19waXBlIChzdHJ1Y3QgcGlwZV9vYmogKnBp cGUsIGludCBmcm9tX3R0eSkKK3sKKyAgY2hhciAqKmFyZ3Y7CisgIHN0cnVj dCBjbGVhbnVwICpjbGVhbnVwOworICBzdHJ1Y3QgdWlfZmlsZSAqZnA7CisK KyAgYXJndiA9IGdkYl9idWlsZGFyZ3YgKHBpcGUtPnNoZWxsX2NtZCk7Cisg IGNsZWFudXAgPSBtYWtlX2NsZWFudXBfZnJlZWFyZ3YgKGFyZ3YpOworCisg IHBpcGUtPnBleCA9IHBleF9pbml0IChQRVhfVVNFX1BJUEVTLCBhcmd2WzBd LCBOVUxMKTsKKworICBpZiAocGlwZS0+cGV4ID09IE5VTEwpCisgICAgZG9f Y2xlYW51cHMgKGNsZWFudXApOworCisgIHBpcGUtPmhhbmRsZSA9IHBleF9p bnB1dF9waXBlIChwaXBlLT5wZXgsIDApOworCisgIGlmIChwaXBlLT5oYW5k bGUgPT0gTlVMTCkKKyAgICBlcnJvciAoXygiRmFpbGVkIHRvIGNyZWF0ZSBw aXBlIikpOworCisgICAgeworICAgICAgaW50IHN0YXR1czsKKyAgICAgIGNv bnN0IGNoYXIgKmVycgorICAgICAgID0gcGV4X3J1biAocGlwZS0+cGV4LAor CQkgIFBFWF9TRUFSQ0ggfCBQRVhfTEFTVCB8IFBFWF9TVERFUlJfVE9fU1RE T1VULAorCQkgIGFyZ3ZbMF0sIGFyZ3YsCisJCSAgTlVMTCwgTlVMTCwKKwkJ ICAmc3RhdHVzKTsKKyAgICAgIGlmIChlcnIgIT0gTlVMTCkKKwllcnJvciAo XygiRmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgYXJndlswXSk7CisKKyAgICAg IGRvX2NsZWFudXBzIChjbGVhbnVwKTsKKyAgICB9CisKKyAgLyogR0RCX1NU RE9VVCBzaG91bGQgYmUgYmV0dGVyIGFscmVhZHkgcmVzdG9yZWQgZHVyaW5n IHRoZXNlCisgICAgIHJlc3RvcmF0aW9uIGNhbGxiYWNrcy4gICovCisgIGNs ZWFudXAgPSBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3Rv cmVfcGFnZV9pbmZvICgpOworICBmcCA9IHN0ZGlvX2ZpbGVvcGVuIChwaXBl LT5oYW5kbGUpOworICBtYWtlX2NsZWFudXBfdWlfZmlsZV9kZWxldGUgKGZw KTsKKyAgbWFrZV9jbGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAoJmdkYl9zdGRv dXQpOworICBtYWtlX2NsZWFudXBfcmVzdG9yZV91aV9maWxlICgmZ2RiX3N0 ZGVycik7CisgIG1ha2VfY2xlYW51cF9yZXN0b3JlX3VpX2ZpbGUgKCZnZGJf c3RkbG9nKTsKKyAgbWFrZV9jbGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAoJmdk Yl9zdGR0YXJnKTsKKyAgbWFrZV9jbGVhbnVwX3Jlc3RvcmVfdWlfZmlsZSAo JmdkYl9zdGR0YXJnZXJyKTsKKworICBpZiAodWlfb3V0X3JlZGlyZWN0ICh1 aW91dCwgZnApIDwgMCkKKyAgICB3YXJuaW5nIChfKCJDdXJyZW50IG91dHB1 dCBwcm90b2NvbCBkb2VzIG5vdCBzdXBwb3J0IHJlZGlyZWN0aW9uIikpOwor ICBlbHNlIAorICAgIG1ha2VfY2xlYW51cF91aV9vdXRfcmVkaXJlY3RfcG9w ICh1aW91dCk7CisKKyAgZ2RiX3N0ZG91dCA9IGZwOworICBnZGJfc3RkZXJy ID0gZnA7CisgIGdkYl9zdGRsb2cgPSBmcDsKKyAgZ2RiX3N0ZHRhcmcgPSBm cDsKKyAgZ2RiX3N0ZHRhcmdlcnIgPSBmcDsKKyAgZXhlY3V0ZV9jb21tYW5k IChwaXBlLT5nZGJfY21kLCBmcm9tX3R0eSk7CisgIGRvX2NsZWFudXBzIChj bGVhbnVwKTsKK30KKworLyogRGVzdHJ1Y3QgcGlwZSBvYmplY3QuICAqLwor CitzdGF0aWMgdm9pZAorZGVzdHJ1Y3RfcGlwZSAodm9pZCAqYXJnKQorewor ICBzdHJ1Y3QgcGlwZV9vYmogKnBpcGUgPSAoc3RydWN0IHBpcGVfb2JqICop YXJnOworCisgIGlmIChwaXBlLT5oYW5kbGUgIT0gTlVMTCkKKyAgICBmY2xv c2UgKHBpcGUtPmhhbmRsZSk7CisKKyAgaWYgKHBpcGUtPnBleCAhPSBOVUxM KQorICAgIHsKKyAgICAgIGludCBzdGF0dXM7CisKKyAgICAgIC8qIFdhaXQg dGlsbCB0aGUgcHJvY2VzcyBpbiB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgcGlw ZSBjb21wbGV0ZXMgaXRzCisJIGpvYiBiZWZvcmUgY2xvc2luZyBpdHMgZmls ZSBkZXNjcnlwdG9ycy4gICovCisgICAgICBwZXhfZ2V0X3N0YXR1cyAocGlw ZS0+cGV4LCAxLCAmc3RhdHVzKTsKKyAgICAgIHBleF9mcmVlIChwaXBlLT5w ZXgpOworICAgIH0KKworICB4ZnJlZSAocGlwZSk7Cit9CisKKy8qIEV4ZWN1 dGUgdGhlIHBpcGUgY29tbWFuZC4gICovCisKK3N0YXRpYyB2b2lkCitwaXBl X2NvbW1hbmQgKGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQoreworICBzdHJ1 Y3QgcGlwZV9vYmogKnBpcGUgPSBjb25zdHJ1Y3RfcGlwZSAoYXJnKTsKKwor ICBpZiAocGlwZSAhPSBOVUxMKQorICAgIHsKKyAgICAgIHN0cnVjdCBjbGVh bnVwICpjbGVhbnVwID0gbWFrZV9jbGVhbnVwIChkZXN0cnVjdF9waXBlLCBw aXBlKTsKKworICAgICAgZXhlY3V0ZV9jb21tYW5kX3RvX3BpcGUgKHBpcGUs IGZyb21fdHR5KTsKKyAgICAgIGRvX2NsZWFudXBzIChjbGVhbnVwKTsKKyAg ICB9Cit9CisKKy8qIE1vZHVsZSBpbml0aWFsaXphdGlvbi4gICovCisKK3Zv aWQKK19pbml0aWFsaXplX3BpcGUgKHZvaWQpCit7CisgIGFkZF9jbWQgKCJw aXBlIiwgbm9fY2xhc3MsIHBpcGVfY29tbWFuZCwgXygiXAorQ3JlYXRlIHBp cGUgdG8gcGFzcyBnZGItY29tbWFuZCBvdXRwdXQgdG8gdGhlIHNoZWxsIGZv ciBwcm9jZXNzaW5nLlxuXAorQXJndW1lbnRzIGFyZSBhIGRlbGltaXRlciwg Zm9sbG93ZWQgYnkgYSBnZGItY29tbWFuZCwgdGhlbiB0aGUgc2FtZSBkZWxp bWl0ZXIgXAorYWdhaW4gYW5kIGZpbmFsbHkgYSBzaGVsbC1jb21tYW5kLiIp LAorCSAgICZjbWRsaXN0KTsKK30K --0015174bdde22dd92d04aa10389d--