From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15914 invoked by alias); 5 Oct 2011 00:31:50 -0000 Received: (qmail 15901 invoked by uid 22791); 5 Oct 2011 00:31:46 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-yx0-f169.google.com (HELO mail-yx0-f169.google.com) (209.85.213.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 05 Oct 2011 00:31:30 +0000 Received: by yxi19 with SMTP id 19so1253923yxi.0 for ; Tue, 04 Oct 2011 17:31:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.184.70 with SMTP id r46mr10395818yhm.100.1317774688919; Tue, 04 Oct 2011 17:31:28 -0700 (PDT) Received: by 10.236.203.135 with HTTP; Tue, 4 Oct 2011 17:31:28 -0700 (PDT) In-Reply-To: References: <20110921190419.542512461A9@ruffy.mtv.corp.google.com> Date: Wed, 05 Oct 2011 00:31:00 -0000 Message-ID: Subject: Re: Rename "info definitions"? From: Matt Rice To: Tom Tromey Cc: Doug Evans , gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf30563ee73a205904ae825450 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-10/txt/msg00121.txt.bz2 --20cf30563ee73a205904ae825450 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1642 On Tue, Oct 4, 2011 at 9:51 AM, Tom Tromey wrote: >>>>>> "Matt" == Matt Rice writes: > > Matt> sorry I realized in this argument processing I used strchrnul, but > Matt> forgot to check if its OK > Matt> since nothing else in gdb calls it except autoconf macros, and there > Matt> is no libiberty replacement > Matt> I doubt that it is... i'll come up with another patch unless someone > Matt> feels like blessing strchrnul. > > Use skip_to_space, see cli-utils.h. > This has the advantage of also recognizing \t. Thanks, attached patch uses skip_to_space, and skip_spaces (to handle extraneous whitespace) updates docs with Eli's wanted changes, and fixes a test case which would have failed if it would run, but wasn't because of a silly # \ style commented out line. 2011-10-04 Matt Rice * macrocmd.c (macro_no_macro_info): New function. (macro_expand_command): Use macro_no_macro_info. (macro_expand_once_command): Ditto. (info_macro_command): Add argument processing, move info_definitions_command here. (_initialize_macrocmd): Remove info definitions command. Add arguments to info macro help text. * NEWS: Replace info definitions command with new info macro options. 2011-10-04 Matt Rice gdb.texinfo (C Preprocessor Macros): Remove info definitions. Add arguments to info macro. 2011-10-04 Matt Rice gdb.base/info-macros.exp: Make tests for info definitions test info macro. Add tests for info macro argument processing. --20cf30563ee73a205904ae825450 Content-Type: text/x-patch; charset=US-ASCII; name="foo.diff" Content-Disposition: attachment; filename="foo.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gtdkvs0y0 Content-length: 17540 ZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKaW5kZXggMjBlNThh MC4uMmVmZGEyYSAxMDA2NDQKLS0tIGEvZ2RiL05FV1MKKysrIGIvZ2RiL05F V1MKQEAgLTczLDcgKzczLDcgQEAKICAgdGhlIGZpcnN0IGNvbm5lY3Rpb24g aXMgbWFkZS4gIFRoZSBsaXN0ZW5pbmcgcG9ydCB1c2VkIGJ5IEdEQnNlcnZl ciB3aWxsCiAgIGJlY29tZSBhdmFpbGFibGUgYWZ0ZXIgdGhhdC4KIAotKiBO ZXcgY29tbWFuZHMgImluZm8gbWFjcm9zIiwgYW5kICJpbmZvIGRlZmluaXRp b25zIiBoYXZlIGJlZW4gYWRkZWQuCisqIE5ldyBjb21tYW5kICJpbmZvIG1h Y3JvcyIgZm9yIGxpc3RpbmcgYWxsIG9mIHRoZSBtYWNyb3MgYXQgYSBzb3Vy Y2UgbG9jYXRpb24uCiAKICogQ2hhbmdlZCBjb21tYW5kcwogCkBAIC04NSw2 ICs4NSwxMiBAQCBpbmZvIGF1dG8tbG9hZC1zY3JpcHRzIFtSRUdFWFBdCiAg IFRoaXMgY29tbWFuZCB3YXMgZm9ybWVybHkgbmFtZWQgIm1haW50ZW5hbmNl IHByaW50IHNlY3Rpb24tc2NyaXB0cyIuCiAgIEl0IGlzIG5vdyBnZW5lcmFs bHkgdXNlZnVsIGFuZCBpcyBubyBsb25nZXIgYSBtYWludGVuYW5jZS1vbmx5 IGNvbW1hbmQuCiAKK2luZm8gbWFjcm8gWy1hbGxdIFstLV0gTUFDUk8KKyAg VGhlIGluZm8gbWFjcm8gY29tbWFuZCBoYXMgbmV3IG9wdGlvbnMgLWFsbCBh bmQgLS0uIFRoZSBmaXJzdCBmb3IgcHJpbnRpbmcKKyAgYWxsIGRlZmluaXRp b25zIG9mIGEgbWFjcm8uICBUaGUgc2Vjb25kIGZvciBleHBsaWNpdGx5IHNw ZWNpZnlpbmcgdGhlIGVuZAorICBvZiBhcmd1bWVudHMgYW5kIHRoZSBiZWdp bm5pbmcgb2YgdGhlIG1hY3JvIG5hbWUgaW4gY2FzZSB0aGUgbWFjcm8gbmFt ZQorICBzdGFydHMgd2l0aCBhIGh5cGhlbi4KKwogKiBUcmFjZXBvaW50cyBj YW4gbm93IGJlIGVuYWJsZWQgYW5kIGRpc2FibGVkIGF0IGFueSB0aW1lIGFm dGVyIGEgdHJhY2UKICAgZXhwZXJpbWVudCBoYXMgYmVlbiBzdGFydGVkIHVz aW5nIHRoZSBzdGFuZGFyZCAiZW5hYmxlIiBhbmQgImRpc2FibGUiCiAgIGNv bW1hbmRzLiAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHN0YXJ0IGEgdHJhY2Ug ZXhwZXJpbWVudCB3aXRoIG5vIGVuYWJsZWQKZGlmZiAtLWdpdCBhL2dkYi9k b2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCmluZGV4IGFh N2NkY2EuLmQzZmFmODcgMTAwNjQ0Ci0tLSBhL2dkYi9kb2MvZ2RiLnRleGlu Zm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwpAQCAtOTYxMCw5ICs5NjEw LDEyIEBAIGNhbiBiZSBhbnkgc3RyaW5nIG9mIHRva2Vucy4KIEBjaW5kZXgg bWFjcm8gZGVmaW5pdGlvbiwgc2hvd2luZwogQGNpbmRleCBkZWZpbml0aW9u IG9mIGEgbWFjcm8sIHNob3dpbmcKIEBjaW5kZXggbWFjcm9zLCBmcm9tIGRl YnVnIGluZm8KLUBpdGVtIGluZm8gbWFjcm8gQHZhcnttYWNyb30KLVNob3cg dGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiB0aGUgbmFtZWQgQHZhcnttYWNy b30sIGFuZCBkZXNjcmliZSB0aGUKLXNvdXJjZSBsb2NhdGlvbiBvciBjb21w aWxlciBjb21tYW5kLWxpbmUgd2hlcmUgdGhhdCBkZWZpbml0aW9uIHdhcyBl c3RhYmxpc2hlZC4KK0BpdGVtIGluZm8gbWFjcm8gWy1hfC1hbGxdIFstLV0g QHZhcnttYWNyb30KK1Nob3cgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvciBh bGwgZGVmaW5pdGlvbnMgb2YgdGhlIG5hbWVkIEB2YXJ7bWFjcm99LAorYW5k IGRlc2NyaWJlIHRoZSBzb3VyY2UgbG9jYXRpb24gb3IgY29tcGlsZXIgY29t bWFuZC1saW5lIHdoZXJlIHRoYXQKK2RlZmluaXRpb24gd2FzIGVzdGFibGlz aGVkLiAgVGhlIG9wdGlvbmFsIGRvdWJsZSBkYXNoIGlzIHRvIHNpZ25pZnkg dGhlIGVuZCBvZgorYXJndW1lbnQgcHJvY2Vzc2luZyBhbmQgdGhlIGJlZ2lu bmluZyBvZiBAdmFye21hY3JvfSBmb3Igbm9uIEMtbGlrZSBtYWNyb3Mgd2hl cmUKK3RoZSBtYWNybyBtYXkgYmVnaW4gd2l0aCBhIGh5cGhlbi4KIAogQGtp bmRleCBpbmZvIG1hY3JvcwogQGl0ZW0gaW5mbyBtYWNyb3MgQHZhcntsaW5l c3BlY30KQEAgLTk2MjAsMTIgKzk2MjMsNiBAQCBTaG93IGFsbCBtYWNybyBk ZWZpbml0aW9ucyB0aGF0IGFyZSBpbiBlZmZlY3QgYXQgdGhlIGxvY2F0aW9u IHNwZWNpZmllZAogYnkgQHZhcntsaW5lc3BlY30sICBhbmQgZGVzY3JpYmUg dGhlIHNvdXJjZSBsb2NhdGlvbiBvciBjb21waWxlcgogY29tbWFuZC1saW5l IHdoZXJlIHRob3NlIGRlZmluaXRpb25zIHdlcmUgZXN0YWJsaXNoZWQuCiAK LUBraW5kZXggaW5mbyBkZWZpbml0aW9ucwotQGl0ZW0gaW5mbyBkZWZpbml0 aW9ucyBAdmFye21hY3JvfQotU2hvdyBhbGwgZGVmaW5pdGlvbnMgb2YgdGhl IG5hbWVkIEB2YXJ7bWFjcm99IHRoYXQgYXJlIGRlZmluZWQgaW4gdGhlIGN1 cnJlbnQKLWNvbXBpbGF0aW9uIHVuaXQsIGFuZCBkZXNjcmliZSB0aGUgc291 cmNlIGxvY2F0aW9uIG9yIGNvbXBpbGVyIGNvbW1hbmQtbGluZQotd2hlcmUg dGhvc2UgZGVmaW5pdGlvbnMgd2VyZSBlc3RhYmxpc2hlZC4KLQogQGtpbmRl eCBtYWNybyBkZWZpbmUKIEBjaW5kZXggdXNlci1kZWZpbmVkIG1hY3Jvcwog QGNpbmRleCBkZWZpbmluZyBtYWNyb3MgaW50ZXJhY3RpdmVseQpkaWZmIC0t Z2l0IGEvZ2RiL21hY3JvY21kLmMgYi9nZGIvbWFjcm9jbWQuYwppbmRleCBk MWFjN2ZhLi5mNWZkODBlIDEwMDY0NAotLS0gYS9nZGIvbWFjcm9jbWQuYwor KysgYi9nZGIvbWFjcm9jbWQuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1 ZGUgIm1hY3JvdGFiLmgiCiAjaW5jbHVkZSAibWFjcm9leHAuaCIKICNpbmNs dWRlICJtYWNyb3Njb3BlLmgiCisjaW5jbHVkZSAiY2xpL2NsaS11dGlscy5o IgogI2luY2x1ZGUgImNvbW1hbmQuaCIKICNpbmNsdWRlICJnZGJjbWQuaCIK ICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCkBAIC00NSw2ICs0NiwxNCBAQCBt YWNyb19jb21tYW5kIChjaGFyICphcmcsIGludCBmcm9tX3R0eSkKIC8qIE1h Y3JvIGV4cGFuc2lvbiBjb21tYW5kcy4gICovCiAKIAorLyogUHJpbnRzIGFu IGluZm9ybWF0aW9uYWwgbWVzc2FnZSByZWdhcmRpbmcgdGhlIGxhY2sgb2Yg bWFjcm8gaW5mb3JtYXRpb24uICAqLworc3RhdGljIHZvaWQgbWFjcm9faW5m b3JtX25vX2RlYnVnaW5mbygpCit7CisgIGZwdXRzX2ZpbHRlcmVkICgiR0RC IGhhcyBubyBwcmVwcm9jZXNzb3IgbWFjcm8gaW5mb3JtYXRpb24gZm9yICIK KyAgICAgICAgICAgICAgICAgICJ0aGF0IGNvZGUuIiwKKyAgICAgICAgICAg ICAgICAgIGdkYl9zdGRvdXQpOworfQorCiBzdGF0aWMgdm9pZAogbWFjcm9f ZXhwYW5kX2NvbW1hbmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQogewpA QCAtNzMsOSArODIsNyBAQCBtYWNyb19leHBhbmRfY29tbWFuZCAoY2hhciAq ZXhwLCBpbnQgZnJvbV90dHkpCiAgICAgICBmcHV0c19maWx0ZXJlZCAoIlxu IiwgZ2RiX3N0ZG91dCk7CiAgICAgfQogICBlbHNlCi0gICAgZnB1dHNfZmls dGVyZWQgKCJHREIgaGFzIG5vIHByZXByb2Nlc3NvciBtYWNybyBpbmZvcm1h dGlvbiBmb3IgIgotICAgICAgICAgICAgICAgICAgICAidGhhdCBjb2RlLlxu IiwKLSAgICAgICAgICAgICAgICAgICAgZ2RiX3N0ZG91dCk7CisgICAgbWFj cm9faW5mb3JtX25vX2RlYnVnaW5mbyAoKTsKIAogICBkb19jbGVhbnVwcyAo Y2xlYW51cF9jaGFpbik7CiAgIHJldHVybjsKQEAgLTEwOSw5ICsxMTYsNyBA QCBtYWNyb19leHBhbmRfb25jZV9jb21tYW5kIChjaGFyICpleHAsIGludCBm cm9tX3R0eSkKICAgICAgIGZwdXRzX2ZpbHRlcmVkICgiXG4iLCBnZGJfc3Rk b3V0KTsKICAgICB9CiAgIGVsc2UKLSAgICBmcHV0c19maWx0ZXJlZCAoIkdE QiBoYXMgbm8gcHJlcHJvY2Vzc29yIG1hY3JvIGluZm9ybWF0aW9uIGZvciAi Ci0gICAgICAgICAgICAgICAgICAgICJ0aGF0IGNvZGUuXG4iLAotICAgICAg ICAgICAgICAgICAgICBnZGJfc3Rkb3V0KTsKKyAgICBtYWNyb19pbmZvcm1f bm9fZGVidWdpbmZvICgpOwogCiAgIGRvX2NsZWFudXBzIChjbGVhbnVwX2No YWluKTsKICAgcmV0dXJuOwpAQCAtMTc4LDQzICsxODMsNiBAQCBwcmludF9t YWNyb19kZWZpbml0aW9uIChjb25zdCBjaGFyICpuYW1lLAogCWZwcmludGZf ZmlsdGVyZWQgKGdkYl9zdGRvdXQsICI9JXNcbiIsIGQtPnJlcGxhY2VtZW50 KTsKIH0KIAotc3RhdGljIHZvaWQKLWluZm9fbWFjcm9fY29tbWFuZCAoY2hh ciAqbmFtZSwgaW50IGZyb21fdHR5KQotewotICBzdHJ1Y3QgbWFjcm9fc2Nv cGUgKm1zID0gTlVMTDsKLSAgc3RydWN0IGNsZWFudXAgKmNsZWFudXBfY2hh aW4gPSBtYWtlX2NsZWFudXAgKGZyZWVfY3VycmVudF9jb250ZW50cywgJm1z KTsKLSAgc3RydWN0IG1hY3JvX2RlZmluaXRpb24gKmQ7Ci0KLSAgaWYgKCEg bmFtZSB8fCAhICpuYW1lKQotICAgIGVycm9yIChfKCJZb3UgbXVzdCBmb2xs b3cgdGhlIGBpbmZvIG1hY3JvJyBjb21tYW5kIHdpdGggdGhlIG5hbWUiCi0g ICAgICAgICAgICIgb2YgdGhlIG1hY3JvXG4iCi0gICAgICAgICAgICJ3aG9z ZSBkZWZpbml0aW9uIHlvdSB3YW50IHRvIHNlZS4iKSk7Ci0KLSAgbXMgPSBk ZWZhdWx0X21hY3JvX3Njb3BlICgpOwotICBpZiAoISBtcykKLSAgICBlcnJv ciAoXygiR0RCIGhhcyBubyBwcmVwcm9jZXNzb3IgbWFjcm8gaW5mb3JtYXRp b24gZm9yIHRoYXQgY29kZS4iKSk7Ci0KLSAgZCA9IG1hY3JvX2xvb2t1cF9k ZWZpbml0aW9uIChtcy0+ZmlsZSwgbXMtPmxpbmUsIG5hbWUpOwotICBpZiAo ZCkKLSAgICB7Ci0gICAgICBpbnQgbGluZTsKLSAgICAgIHN0cnVjdCBtYWNy b19zb3VyY2VfZmlsZSAqZmlsZQotICAgICAgICA9IG1hY3JvX2RlZmluaXRp b25fbG9jYXRpb24gKG1zLT5maWxlLCBtcy0+bGluZSwgbmFtZSwgJmxpbmUp OwotCi0gICAgICBwcmludF9tYWNyb19kZWZpbml0aW9uIChuYW1lLCBkLCBm aWxlLCBsaW5lKTsKLSAgICB9Ci0gIGVsc2UKLSAgICB7Ci0gICAgICBmcHJp bnRmX2ZpbHRlcmVkIChnZGJfc3Rkb3V0LAotICAgICAgICAgICAgICAgICAg ICAgICAgIlRoZSBzeW1ib2wgYCVzJyBoYXMgbm8gZGVmaW5pdGlvbiBhcyBh IEMvQysrIgotICAgICAgICAgICAgICAgICAgICAgICAgIiBwcmVwcm9jZXNz b3IgbWFjcm9cbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICJhdCAiLCBu YW1lKTsKLSAgICAgIHNob3dfcHBfc291cmNlX3BvcyAoZ2RiX3N0ZG91dCwg bXMtPmZpbGUsIG1zLT5saW5lKTsKLSAgICB9Ci0KLSAgZG9fY2xlYW51cHMg KGNsZWFudXBfY2hhaW4pOwotfQotCiAvKiBBIGNhbGxiYWNrIGZ1bmN0aW9u IGZvciB1c2FnZSB3aXRoIG1hY3JvX2Zvcl9lYWNoIGFuZCBmcmllbmRzLgog ICAgSWYgVVNFUl9EQVRBIGlzIG51bGwgYWxsIG1hY3JvcyB3aWxsIGJlIHBy aW50ZWQuCiAgICBPdGhlcndpc2UgVVNFUl9EQVRBIGlzIGNvbnNpZGVyZWQg dG8gYmUgYSBzdHJpbmcsIHByaW50aW5nCkBAIC0yMjksMjMgKzE5Nyw3OCBA QCBwcmludF9tYWNyb19jYWxsYmFjayAoY29uc3QgY2hhciAqbmFtZSwgY29u c3Qgc3RydWN0IG1hY3JvX2RlZmluaXRpb24gKm1hY3JvLAogICAgIHByaW50 X21hY3JvX2RlZmluaXRpb24gKG5hbWUsIG1hY3JvLCBzb3VyY2UsIGxpbmUp OwogfQogCi0vKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgImluZm8gZGVmaW5p dGlvbnMiIGNvbW1hbmQuICovCisvKiBUaGUgaW1wbGVtZW50YXRpb24gb2Yg dGhlIGBpbmZvIG1hY3JvJyBjb21tYW5kLiAgKi8KIHN0YXRpYyB2b2lkCi1p bmZvX2RlZmluaXRpb25zX2NvbW1hbmQgKGNoYXIgKm5hbWUsIGludCBmcm9t X3R0eSkKK2luZm9fbWFjcm9fY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZy b21fdHR5KQogewogICBzdHJ1Y3QgbWFjcm9fc2NvcGUgKm1zID0gTlVMTDsK LSAgc3RydWN0IGNsZWFudXAgKmNsZWFudXBfY2hhaW4gPSBtYWtlX2NsZWFu dXAgKGZyZWVfY3VycmVudF9jb250ZW50cywgJm1zKTsKKyAgc3RydWN0IGNs ZWFudXAgKmNsZWFudXBfY2hhaW47CisgIGNoYXIgKm5hbWU7CisgIGludCBz aG93X2FsbF9tYWNyb3NfbmFtZWQgPSAwOworICBjaGFyICphcmdfc3RhcnQg PSBhcmdzOworICBpbnQgcHJvY2Vzc2luZ19hcmdzID0gMTsKKworICB3aGls ZSAocHJvY2Vzc2luZ19hcmdzCisJICYmIGFyZ19zdGFydCAmJiAqYXJnX3N0 YXJ0ID09ICctJyAmJiAqYXJnX3N0YXJ0ICE9ICdcMCcpCisgICAgeworICAg ICAgY2hhciAqcCA9IHNraXBfdG9fc3BhY2UgKGFyZ19zdGFydCk7CisKKyAg ICAgIGlmIChzdHJuY21wIChhcmdfc3RhcnQsICItYSIsIHAgLSBhcmdfc3Rh cnQpID09IDAKKwkgIHx8IHN0cm5jbXAgKGFyZ19zdGFydCwgIi1hbGwiLCBw IC0gYXJnX3N0YXJ0KSA9PSAwKQorCXNob3dfYWxsX21hY3Jvc19uYW1lZCA9 IDE7CisgICAgICBlbHNlIGlmIChzdHJuY21wIChhcmdfc3RhcnQsICItLSIs IHAgLSBhcmdfc3RhcnQpID09IDApCisgICAgICAgICAgLyogT3VyIG1hY3Jv IHN1cHBvcnQgc2VlbXMgcmF0aGVyIEMgc3BlY2lmaWMgYnV0IHRoaXMgd291 bGQKKyAgICAgICAgICAgICBzZWVtIG5lY2Vzc2FyeSBmb3IgbGFuZ3VhZ2Vz IGFsbG93aW5nIC0gaW4gbWFjcm8gbmFtZXMuCisJICAgICBlLmcuIFNjaGVt ZSdzIChkZWZtYWNybyAtPmZvbyAoKSAiYmFyXG4iKSAgKi8KKwlwcm9jZXNz aW5nX2FyZ3MgPSAwOworICAgICAgZWxzZQorCXsKKwkgIC8qIFJlbGllcyBv biBtb2RpZmllZCAnYXJncycgbm90IG1ha2luZyBpdCBpbiB0byBoaXN0b3J5 ICovCisJICAqcCA9ICdcMCc7CisJICBlcnJvciAoXygiVW5yZWNvZ25pemVk IG9wdGlvbiAnJXMnIHRvIGluZm8gbWFjcm8gY29tbWFuZC4gICIKKwkJICAg IlRyeSBcImhlbHAgaW5mbyBtYWNyb1wiLiIpLCBhcmdfc3RhcnQpOworCX0K KworICAgICAgICBhcmdfc3RhcnQgPSBza2lwX3NwYWNlcyAocCk7CisgICAg fQorCisgIG5hbWUgPSBhcmdfc3RhcnQ7CiAKICAgaWYgKCEgbmFtZSB8fCAh ICpuYW1lKQotICAgIGVycm9yIChfKCJUaGUgYGluZm8gZGVmaW5pdGlvbnMn IGNvbW1hbmQgcmVxdWlyZXMgYSBtYWNybyBuYW1lIGFzIGFuIFwKLWFyZ3Vt ZW50LiIpKTsKKyAgICBlcnJvciAoXygiWW91IG11c3QgZm9sbG93IHRoZSBg aW5mbyBtYWNybycgY29tbWFuZCB3aXRoIHRoZSBuYW1lIgorCSAgICAgIiBv ZiB0aGUgbWFjcm9cbiIKKwkgICAgICJ3aG9zZSBkZWZpbml0aW9uIHlvdSB3 YW50IHRvIHNlZS4iKSk7CiAKICAgbXMgPSBkZWZhdWx0X21hY3JvX3Njb3Bl ICgpOworICBjbGVhbnVwX2NoYWluID0gbWFrZV9jbGVhbnVwIChmcmVlX2N1 cnJlbnRfY29udGVudHMsICZtcyk7CiAKLSAgaWYgKCEgbXMgfHwgISBtcy0+ ZmlsZSB8fCAhIG1zLT5maWxlLT50YWJsZSkKLSAgICBlcnJvciAoXygiR0RC IGhhcyBubyBwcmVwcm9jZXNzb3IgbWFjcm8gaW5mb3JtYXRpb24gZm9yIHRo YXQgY29kZS4iKSk7CisgIGlmICghIG1zKQorICAgIG1hY3JvX2luZm9ybV9u b19kZWJ1Z2luZm8gKCk7CisgIGVsc2UgaWYgKHNob3dfYWxsX21hY3Jvc19u YW1lZCkKKyAgICBtYWNyb19mb3JfZWFjaCAobXMtPmZpbGUtPnRhYmxlLCBw cmludF9tYWNyb19jYWxsYmFjaywgbmFtZSk7CisgIGVsc2UKKyAgICB7Cisg ICAgICBzdHJ1Y3QgbWFjcm9fZGVmaW5pdGlvbiAqZDsKKworICAgICAgZCA9 IG1hY3JvX2xvb2t1cF9kZWZpbml0aW9uIChtcy0+ZmlsZSwgbXMtPmxpbmUs IG5hbWUpOworICAgICAgaWYgKGQpCisJeworCSAgaW50IGxpbmU7CisJICBz dHJ1Y3QgbWFjcm9fc291cmNlX2ZpbGUgKmZpbGUKKwkgICAgPSBtYWNyb19k ZWZpbml0aW9uX2xvY2F0aW9uIChtcy0+ZmlsZSwgbXMtPmxpbmUsIG5hbWUs ICZsaW5lKTsKKworCSAgcHJpbnRfbWFjcm9fZGVmaW5pdGlvbiAobmFtZSwg ZCwgZmlsZSwgbGluZSk7CisJfQorICAgICAgZWxzZQorICAgICAgICB7Cisg ICAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAoZ2RiX3N0ZG91dCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiVGhlIHN5bWJvbCBgJXMnIGhhcyBu byBkZWZpbml0aW9uIGFzIGEgQy9DKysiCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiBwcmVwcm9jZXNzb3IgbWFjcm9cbiIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiYXQgIiwgbmFtZSk7CisgICAgICAgICAgc2hv d19wcF9zb3VyY2VfcG9zIChnZGJfc3Rkb3V0LCBtcy0+ZmlsZSwgbXMtPmxp bmUpOworCX0KKyAgICB9CiAKLSAgbWFjcm9fZm9yX2VhY2ggKG1zLT5maWxl LT50YWJsZSwgcHJpbnRfbWFjcm9fY2FsbGJhY2ssIG5hbWUpOwogICBkb19j bGVhbnVwcyAoY2xlYW51cF9jaGFpbik7CiB9CiAKQEAgLTI2Nyw5ICsyOTAs MTAgQEAgaW5mb19tYWNyb3NfY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZy b21fdHR5KQogICAgIH0KIAogICBpZiAoISBtcyB8fCAhIG1zLT5maWxlIHx8 ICEgbXMtPmZpbGUtPnRhYmxlKQotICAgIGVycm9yIChfKCJHREIgaGFzIG5v IHByZXByb2Nlc3NvciBtYWNybyBpbmZvcm1hdGlvbiBmb3IgdGhhdCBjb2Rl LiIpKTsKKyAgICBtYWNyb19pbmZvcm1fbm9fZGVidWdpbmZvICgpOworICBl bHNlCisgICAgbWFjcm9fZm9yX2VhY2hfaW5fc2NvcGUgKG1zLT5maWxlLCBt cy0+bGluZSwgcHJpbnRfbWFjcm9fY2FsbGJhY2ssIE5VTEwpOwogCi0gIG1h Y3JvX2Zvcl9lYWNoX2luX3Njb3BlIChtcy0+ZmlsZSwgbXMtPmxpbmUsIHBy aW50X21hY3JvX2NhbGxiYWNrLCBOVUxMKTsKICAgZG9fY2xlYW51cHMgKGNs ZWFudXBfY2hhaW4pOwogfQogCkBAIC00OTUsNyArNTE5LDEzIEBAIGV4cHJl c3Npb24gd29yayB0b2dldGhlciB0byB5aWVsZCBhIHByZS1wcm9jZXNzZWQg ZXhwcmVzc2lvbi4iKSwKICAgYWRkX2FsaWFzX2NtZCAoImV4cDEiLCAiZXhw YW5kLW9uY2UiLCBub19jbGFzcywgMSwgJm1hY3JvbGlzdCk7CiAKICAgYWRk X2NtZCAoIm1hY3JvIiwgbm9fY2xhc3MsIGluZm9fbWFjcm9fY29tbWFuZCwK LQkgICBfKCJTaG93IHRoZSBkZWZpbml0aW9uIG9mIE1BQ1JPLCBhbmQgaXRz IHNvdXJjZSBsb2NhdGlvbi4iKSwKKwkgICBfKCJTaG93IHRoZSBkZWZpbml0 aW9uIG9mIE1BQ1JPLCBhbmQgaXQncyBzb3VyY2UgbG9jYXRpb24uXG5cCitV c2FnZTogaW5mbyBtYWNybyBbLWF8LWFsbF0gWy0tXSBNQUNST1xuXAorT3B0 aW9uczogXG5cCisgIC1hLCAtLWFsbCAgICBPdXRwdXQgYWxsIGRlZmluaXRp b25zIG9mIE1BQ1JPIGluIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uXAorIHVu aXQuXG5cCisgIC0tICAgICAgICAgICBTcGVjaWZ5IHRoZSBlbmQgb2YgYXJn dW1lbnRzIGFuZCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBNQUNSTy4iKSwKKwog CSAgICZpbmZvbGlzdCk7CiAKICAgYWRkX2NtZCAoIm1hY3JvcyIsIG5vX2Ns YXNzLCBpbmZvX21hY3Jvc19jb21tYW5kLApAQCAtNTA0LDExICs1MzQsNiBA QCBzb3VyY2UgbG9jYXRpb24uXG5cCiBVc2FnZTogaW5mbyBtYWNyb3MgW0xJ TkVTUEVDXSIpLAogCSAgICZpbmZvbGlzdCk7CiAKLSAgYWRkX2NtZCAoImRl ZmluaXRpb25zIiwgbm9fY2xhc3MsIGluZm9fZGVmaW5pdGlvbnNfY29tbWFu ZCwKLQkgICBfKCJTaG93IGFsbCBkZWZpbml0aW9ucyBvZiBNQUNSTyBpbiB0 aGUgY3VycmVudCBjb21waWxhdGlvbiB1bml0LlxuXAotVXNhZ2U6IGluZm8g ZGVmaW5pdGlvbnMgTUFDUk8iKSwKLQkgICAmaW5mb2xpc3QpOwotCiAgIGFk ZF9jbWQgKCJkZWZpbmUiLCBub19jbGFzcywgbWFjcm9fZGVmaW5lX2NvbW1h bmQsIF8oIlwKIERlZmluZSBhIG5ldyBDL0MrKyBwcmVwcm9jZXNzb3IgbWFj cm8uXG5cCiBUaGUgR0RCIGNvbW1hbmQgYG1hY3JvIGRlZmluZSBERUZJTklU SU9OJyBpcyBlcXVpdmFsZW50IHRvIHBsYWNpbmcgYVxuXApkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLW1hY3Jvcy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tbWFjcm9zLmV4cAppbmRleCBi ZDVhODcwLi4wNDgxZTU1IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2luZm8tbWFjcm9zLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2luZm8tbWFjcm9zLmV4cApAQCAtMzQsNyArMzQsNzUgQEAgaWYg IVtydW50b19tYWluXSB7CiAgICAgcmV0dXJuIC0xCiB9CiAKLXNldCB0ZXN0 ICJpbmZvIGRlZmluaXRpb25zIEZPTyIKKyMgVGVzdCB2YXJpb3VzIGVycm9y IG1lc3NhZ2VzLgorZ2RiX3Rlc3QgImluZm8gbWFjcm8gLS0gLWFsbCIgXAor CSAiVGhlIHN5bWJvbCBgLWFsbCcgaGFzIG5vIGRlZmluaXRpb24gLipcclxu YXQgLiokc3JjZmlsZTpcWzAtOVxdKyIgXAorCSAiaW5mbyBtYWNybyAtLSAt YWxsIgorZ2RiX3Rlc3QgImluZm8gbWFjcm8gIC0tIC1hbGwiIFwKKwkgIlRo ZSBzeW1ib2wgYC1hbGwnIGhhcyBubyBkZWZpbml0aW9uIC4qXHJcbmF0IC4q JHNyY2ZpbGU6XFswLTlcXSsiIFwKKwkgImluZm8gbWFjcm8gIC0tIC1hbGwi CisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvIC1hbGwgLS0iIFwKKwkgIllvdSBt dXN0IGZvbGxvdy4qd2l0aCB0aGUgbmFtZS4qeW91IHdhbnQgdG8gc2VlLipc W15cclxuXF0qXFtcclxuXF0iIFwKKwkgImluZm8gbWFjcm8gLWFsbCAtLSIK KworZ2RiX3Rlc3QgImluZm8gbWFjcm8gLWFsbCAgLS0iIFwKKwkgIllvdSBt dXN0IGZvbGxvdy4qd2l0aCB0aGUgbmFtZS4qeW91IHdhbnQgdG8gc2VlLipc W15cclxuXF0qXFtcclxuXF0iIFwKKwkgImluZm8gbWFjcm8gLWFsbCAgLS0i CisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvICAtYWxsICAtLSIgXAorCSAiWW91 IG11c3QgZm9sbG93Lip3aXRoIHRoZSBuYW1lLip5b3Ugd2FudCB0byBzZWUu KlxbXlxyXG5cXSpcW1xyXG5cXSIgXAorCSAiaW5mbyBtYWNybyAgLWFsbCAg LS0iCisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvIC0tIiBcCisJICJZb3UgbXVz dCBmb2xsb3cuKndpdGggdGhlIG5hbWUuKnlvdSB3YW50IHRvIHNlZS4qXFte XHJcblxdKlxbXHJcblxdIiBcCisJICJpbmZvIG1hY3JvIC0tIgorCitnZGJf dGVzdCAiaW5mbyBtYWNybyAtLSAiIFwKKwkgIllvdSBtdXN0IGZvbGxvdy4q d2l0aCB0aGUgbmFtZS4qeW91IHdhbnQgdG8gc2VlLipcW15cclxuXF0qXFtc clxuXF0iIFwKKwkgIidpbmZvIG1hY3JvIC0tICciCitnZGJfdGVzdCAiaW5m byBtYWNybyAgLS0gIiBcCisJICJZb3UgbXVzdCBmb2xsb3cuKndpdGggdGhl IG5hbWUuKnlvdSB3YW50IHRvIHNlZS4qXFteXHJcblxdKlxbXHJcblxdIiBc CisJICInaW5mbyBtYWNybyAgLS0gJyIKKworZ2RiX3Rlc3QgImluZm8gbWFj cm8gLWludmFsaWQtb3B0aW9uIiBcCisJICJVbnJlY29nbml6ZWQgb3B0aW9u LipUcnkgXCJoZWxwIGluZm8gbWFjcm9cIlwuIiBcCisJICJpbmZvIG1hY3Jv IC1pbnZhbGlkLW9wdGlvbiAxIgorCitnZGJfdGVzdCAiaW5mbyBtYWNybyAg LWludmFsaWQtb3B0aW9uIiBcCisJICJVbnJlY29nbml6ZWQgb3B0aW9uLipU cnkgXCJoZWxwIGluZm8gbWFjcm9cIlwuIiBcCisJICJpbmZvIG1hY3JvICAt aW52YWxpZC1vcHRpb24iCisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvIC1pbnZh bGlkLW9wdGlvbiBGT08iIFwKKwkgIlVucmVjb2duaXplZCBvcHRpb24uKlRy eSBcImhlbHAgaW5mbyBtYWNyb1wiXC4iIFwKKwkgImluZm8gbWFjcm8gLWlu dmFsaWQtb3B0aW9uIDIiCitnZGJfdGVzdCAiaW5mbyBtYWNybyAgLWludmFs aWQtb3B0aW9uIEZPTyIgXAorCSAiVW5yZWNvZ25pemVkIG9wdGlvbi4qVHJ5 IFwiaGVscCBpbmZvIG1hY3JvXCJcLiIgXAorCSAiaW5mbyBtYWNybyAtaW52 YWxpZC1vcHRpb24gMiIKKworIyBTaW5nbGUgbWFjcm8gbG9va3Vwcy4KK2dk Yl90ZXN0ICJpbmZvIG1hY3JvIC0tIEZPTyIgXAorCSAiLiojZGVmaW5lIEZP TyBcImhlbGxvXCIiIFwKKwkgImluZm8gbWFjcm8gLS0gRk9PIgorCitnZGJf dGVzdCAiaW5mbyBtYWNybyAgLS0gRk9PIiBcCisJICIuKiNkZWZpbmUgRk9P IFwiaGVsbG9cIiIgXAorCSAiaW5mbyBtYWNybyAgLS0gRk9PIgorCitnZGJf dGVzdCAiaW5mbyBtYWNybyAtLSAgRk9PIiBcCisJICIuKiNkZWZpbmUgRk9P IFwiaGVsbG9cIiIgXAorCSAiaW5mbyBtYWNybyAtLSAgRk9PIgorCitnZGJf dGVzdCAiaW5mbyBtYWNybyBGT08iIFwKKwkgIi4qI2RlZmluZSBGT08gXCJo ZWxsb1wiIiBcCisJICJpbmZvIG1hY3JvIEZPTyIKKworZ2RiX3Rlc3QgImlu Zm8gbWFjcm8gIEZPTyIgXAorCSAiLiojZGVmaW5lIEZPTyBcImhlbGxvXCIi IFwKKwkgImluZm8gbWFjcm8gIEZPTyIKKworIyBNdWx0aXBsZSBtYWNybyBs b29rdXBzLgorc2V0IHRlc3QgImluZm8gbWFjcm8gLWEgRk9PIgogc2V0IHIx ICIuKiNkZWZpbmUgRk9PIFwiaGVsbG9cIiIKIHNldCByMiAiLiojZGVmaW5l IEZPTyBcIiBcIiIKIHNldCByMyAiLiojZGVmaW5lIEZPTyBcIndvcmxkXCIi CkBAIC00Miw2ICsxMTAsMjEgQEAgc2V0IHI0ICIuKiNkZWZpbmUgRk9PXFwo YVxcKSBmb28gPSBhIgogc2V0IHRlc3RuYW1lICIkdGVzdCAxIgogZ2RiX3Rl c3QgIiR0ZXN0IiAiJHIxJHIyJHIzJHI0IiAiJHRlc3RuYW1lIgogCitzZXQg dGVzdCAiaW5mbyBtYWNybyAtYSAtLSBGT08iCitzZXQgdGVzdG5hbWUgIiR0 ZXN0IDEiCitnZGJfdGVzdCAiJHRlc3QiICIkcjEkcjIkcjMkcjQiICIkdGVz dG5hbWUiCisKK3NldCB0ZXN0ICJpbmZvIG1hY3JvIC1hbGwgLS0gRk9PIgor c2V0IHRlc3RuYW1lICIkdGVzdCAxIgorZ2RiX3Rlc3QgIiR0ZXN0IiAiJHIx JHIyJHIzJHI0IiAiJHRlc3RuYW1lIgorCitzZXQgdGVzdCAiaW5mbyBtYWNy byAtYSAgLS0gIEZPTyIKK3NldCB0ZXN0bmFtZSAiJHRlc3QiCitnZGJfdGVz dCAiJHRlc3QiICIkcjEkcjIkcjMkcjQiICIkdGVzdG5hbWUiCisKK3NldCB0 ZXN0ICJpbmZvIG1hY3JvICAtYSAgLS0gIEZPTyIKK3NldCB0ZXN0bmFtZSAi JHRlc3QiCitnZGJfdGVzdCAiJHRlc3QiICIkcjEkcjIkcjMkcjQiICIkdGVz dG5hbWUiCiAKIHNldCB0ZXN0ICJpbmZvIG1hY3JvcyIKIHNldCByMSAiLioj ZGVmaW5lIEZPTyBcImhlbGxvXCIiCg== --20cf30563ee73a205904ae825450--