From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29781 invoked by alias); 29 Sep 2011 02:14:20 -0000 Received: (qmail 29773 invoked by uid 22791); 29 Sep 2011 02:14:17 -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-gy0-f169.google.com (HELO mail-gy0-f169.google.com) (209.85.160.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 29 Sep 2011 02:13:59 +0000 Received: by gya6 with SMTP id 6so143971gya.0 for ; Wed, 28 Sep 2011 19:13:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.184.70 with SMTP id r46mr36965213yhm.100.1317262438875; Wed, 28 Sep 2011 19:13:58 -0700 (PDT) Received: by 10.236.203.135 with HTTP; Wed, 28 Sep 2011 19:13:58 -0700 (PDT) In-Reply-To: References: <20110921190419.542512461A9@ruffy.mtv.corp.google.com> Date: Thu, 29 Sep 2011 02:16:00 -0000 Message-ID: Subject: Re: Rename "info definitions"? From: Matt Rice To: Doug Evans Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf30563ee7bec37004ae0b0f12 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-09/txt/msg00493.txt.bz2 --20cf30563ee7bec37004ae0b0f12 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2195 On Fri, Sep 23, 2011 at 10:20 AM, Doug Evans wrote: > On Wed, Sep 21, 2011 at 12:33 PM, Matt Rice wrote: >> now that I think about it maybe add an optional arg to 'info macro' >> replace `info definitions MACRO' with 'info macro -all MACRO' ? > > That would be better alright. > > Also, I see calls to error() when there are no macros. > I think this shouldn't be an error. > For example, if it were done in a script it shouldn't break the script > if no macro info was found. > An informational message would be better IMO. > "info var foo" doesn't print an error on stripped binaries, for example. > > E.g. here: > > =A0if (! ms || ! ms->file || ! ms->file->table) > =A0 =A0error (_("GDB has no preprocessor macro information for that code.= ")); sorry for the delay, this file was internally inconsistent in this case sometimes using fputs_filtered, sometimes error, apparently i flipped the coin wrong. the attached patch changes the errors mentioned to informational messages... adds -all, and a -- argument for reasons commented. I'm not really opposed to removing the latter if it is unwanted, but pedantic hat on, these come from dwarf which strives for language independence though the macro printing functions, and the macro expansion are all currently c specific. I wasn't really planning on doing anything more to make these less c-specific but didn't want to add any more hurdles... Thanks. 2011-09-28 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. =09 2011-09-28 Matt Rice gdb.texinfo (C Preprocessor Macros): Remove info definitions. Add arguments to info macro. 2011-09-28 Matt Rice gdb.base/info-macros.exp: Make tests for info definitions test info macro. Add tests for info macro argument processing. --20cf30563ee7bec37004ae0b0f12 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_gt53qc140 Content-length: 15356 ZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKaW5kZXggMjBlNThh MC4uM2M1ZjRjYiAxMDA2NDQKLS0tIGEvZ2RiL05FV1MKKysrIGIvZ2RiL05F V1MKQEAgLTczLDcgKzczLDcgQEAKICAgdGhlIGZpcnN0IGNvbm5lY3Rpb24g aXMgbWFkZS4gIFRoZSBsaXN0ZW5pbmcgcG9ydCB1c2VkIGJ5IEdEQnNlcnZl ciB3aWxsCiAgIGJlY29tZSBhdmFpbGFibGUgYWZ0ZXIgdGhhdC4KIAotKiBO ZXcgY29tbWFuZHMgImluZm8gbWFjcm9zIiwgYW5kICJpbmZvIGRlZmluaXRp b25zIiBoYXZlIGJlZW4gYWRkZWQuCisqIE5ldyBjb21tYW5kICJpbmZvIG1h Y3JvcyIgZm9yIGxpc3RpbmcgYWxsIG9mIHRoZSBtYWNyb3MgYXQgYSBzb3Vy Y2UgbG9jYXRpb24uCiAKICogQ2hhbmdlZCBjb21tYW5kcwogCkBAIC04NSw2 ICs4NSwxMSBAQCBpbmZvIGF1dG8tbG9hZC1zY3JpcHRzIFtSRUdFWFBdCiAg IFRoaXMgY29tbWFuZCB3YXMgZm9ybWVybHkgbmFtZWQgIm1haW50ZW5hbmNl IHByaW50IHNlY3Rpb24tc2NyaXB0cyIuCiAgIEl0IGlzIG5vdyBnZW5lcmFs bHkgdXNlZnVsIGFuZCBpcyBubyBsb25nZXIgYSBtYWludGVuYW5jZS1vbmx5 IGNvbW1hbmQuCiAKK2luZm8gbWFjcm8gWy1hbGxdIFstLV0gTUFDUk8KKyAg VGhlIGluZm8gbWFjcm8gY29tbWFuZCBoYXMgbmV3IG9wdGlvbnMgLWFsbCBh bmQgLS0uIFRoZSBmaXJzdCBvciBwcmludGluZworICBhbGwgZGVmaW5pdGlv bnMgb2YgYSBtYWNyby4gIFRoZSBzZWNvbmQgZm9yIGV4cGxpY2l0bHkgc3Bl Y2lmeWluZyB0aGUgZW5kCisgIG9mIGFyZ3VtZW50cyBhbmQgdGhlIGJlZ2lu bmluZyBvZiB0aGUgbWFjcm8gbmFtZS4KKwogKiBUcmFjZXBvaW50cyBjYW4g bm93IGJlIGVuYWJsZWQgYW5kIGRpc2FibGVkIGF0IGFueSB0aW1lIGFmdGVy IGEgdHJhY2UKICAgZXhwZXJpbWVudCBoYXMgYmVlbiBzdGFydGVkIHVzaW5n IHRoZSBzdGFuZGFyZCAiZW5hYmxlIiBhbmQgImRpc2FibGUiCiAgIGNvbW1h bmRzLiAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHN0YXJ0IGEgdHJhY2UgZXhw ZXJpbWVudCB3aXRoIG5vIGVuYWJsZWQKZGlmZiAtLWdpdCBhL2dkYi9kb2Mv Z2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCmluZGV4IGM4YmIw MDYuLjdmOTUxOTYgMTAwNjQ0Ci0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8K KysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwpAQCAtOTYxMCw5ICs5NjEwLDEy IEBAIGNhbiBiZSBhbnkgc3RyaW5nIG9mIHRva2Vucy4KIEBjaW5kZXggbWFj cm8gZGVmaW5pdGlvbiwgc2hvd2luZwogQGNpbmRleCBkZWZpbml0aW9uIG9m IGEgbWFjcm8sIHNob3dpbmcKIEBjaW5kZXggbWFjcm9zLCBmcm9tIGRlYnVn IGluZm8KLUBpdGVtIGluZm8gbWFjcm8gQHZhcnttYWNyb30KLVNob3cgdGhl IGN1cnJlbnQgZGVmaW5pdGlvbiBvZiB0aGUgbmFtZWQgQHZhcnttYWNyb30s IGFuZCBkZXNjcmliZSB0aGUKLXNvdXJjZSBsb2NhdGlvbiBvciBjb21waWxl ciBjb21tYW5kLWxpbmUgd2hlcmUgdGhhdCBkZWZpbml0aW9uIHdhcyBlc3Rh Ymxpc2hlZC4KK0BpdGVtIGluZm8gbWFjcm8gQHJ7W30tYUBye3x9LWFsbEBy e119IEBye1t9LS1AcntdfSBAdmFye21hY3JvfQorU2hvdyB0aGUgY3VycmVu dCBkZWZpbml0aW9uIG9yIGFsbCBkZWZpbml0aW9ucyBvZiB0aGUgbmFtZWQg QHZhcnttYWNyb30sCithbmQgZGVzY3JpYmUgdGhlIHNvdXJjZSBsb2NhdGlv biBvciBjb21waWxlciBjb21tYW5kLWxpbmUgd2hlcmUgdGhhdAorZGVmaW5p dGlvbiB3YXMgZXN0YWJsaXNoZWQuICBUaGUgb3B0aW9uYWwgZG91YmxlIGRh c2ggaXMgdG8gc2lnbmlmeSB0aGUgZW5kIG9mCithcmd1bWVudCBwcm9jZXNz aW5nIGFuZCB0aGUgYmVnaW5uaW5nIG9mIEB2YXJ7bWFjcm99IGZvciBub24g Qy1saWtlIG1hY3JvcyB3aGVyZQordGhlIG1hY3JvIG1heSBiZWdpbiB3aXRo IGEgZGFzaC4KIAogQGtpbmRleCBpbmZvIG1hY3JvcwogQGl0ZW0gaW5mbyBt YWNyb3MgQHZhcntsaW5lc3BlY30KQEAgLTk2MjAsMTIgKzk2MjMsNiBAQCBT aG93IGFsbCBtYWNybyBkZWZpbml0aW9ucyB0aGF0IGFyZSBpbiBlZmZlY3Qg YXQgdGhlIGxvY2F0aW9uIHNwZWNpZmllZAogYnkgQHZhcntsaW5lc3BlY30s ICBhbmQgZGVzY3JpYmUgdGhlIHNvdXJjZSBsb2NhdGlvbiBvciBjb21waWxl cgogY29tbWFuZC1saW5lIHdoZXJlIHRob3NlIGRlZmluaXRpb25zIHdlcmUg ZXN0YWJsaXNoZWQuCiAKLUBraW5kZXggaW5mbyBkZWZpbml0aW9ucwotQGl0 ZW0gaW5mbyBkZWZpbml0aW9ucyBAdmFye21hY3JvfQotU2hvdyBhbGwgZGVm aW5pdGlvbnMgb2YgdGhlIG5hbWVkIEB2YXJ7bWFjcm99IHRoYXQgYXJlIGRl ZmluZWQgaW4gdGhlIGN1cnJlbnQKLWNvbXBpbGF0aW9uIHVuaXQsIGFuZCBk ZXNjcmliZSB0aGUgc291cmNlIGxvY2F0aW9uIG9yIGNvbXBpbGVyIGNvbW1h bmQtbGluZQotd2hlcmUgdGhvc2UgZGVmaW5pdGlvbnMgd2VyZSBlc3RhYmxp c2hlZC4KLQogQGtpbmRleCBtYWNybyBkZWZpbmUKIEBjaW5kZXggdXNlci1k ZWZpbmVkIG1hY3JvcwogQGNpbmRleCBkZWZpbmluZyBtYWNyb3MgaW50ZXJh Y3RpdmVseQpkaWZmIC0tZ2l0IGEvZ2RiL21hY3JvY21kLmMgYi9nZGIvbWFj cm9jbWQuYwppbmRleCBkMWFjN2ZhLi45YTAwM2IzIDEwMDY0NAotLS0gYS9n ZGIvbWFjcm9jbWQuYworKysgYi9nZGIvbWFjcm9jbWQuYwpAQCAtNDUsNiAr NDUsMTQgQEAgbWFjcm9fY29tbWFuZCAoY2hhciAqYXJnLCBpbnQgZnJvbV90 dHkpCiAvKiBNYWNybyBleHBhbnNpb24gY29tbWFuZHMuICAqLwogCiAKKy8q IFByaW50cyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UgcmVnYXJkaW5nIHRo ZSBsYWNrIG9mIG1hY3JvIGluZm9ybWF0aW9uLiAgKi8KK3N0YXRpYyB2b2lk IG1hY3JvX2luZm9ybV9ub19kZWJ1Z2luZm8oKQoreworICBmcHV0c19maWx0 ZXJlZCAoIkdEQiBoYXMgbm8gcHJlcHJvY2Vzc29yIG1hY3JvIGluZm9ybWF0 aW9uIGZvciAiCisgICAgICAgICAgICAgICAgICAidGhhdCBjb2RlLiIsCisg ICAgICAgICAgICAgICAgICBnZGJfc3Rkb3V0KTsKK30KKwogc3RhdGljIHZv aWQKIG1hY3JvX2V4cGFuZF9jb21tYW5kIChjaGFyICpleHAsIGludCBmcm9t X3R0eSkKIHsKQEAgLTczLDkgKzgxLDcgQEAgbWFjcm9fZXhwYW5kX2NvbW1h bmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQogICAgICAgZnB1dHNfZmls dGVyZWQgKCJcbiIsIGdkYl9zdGRvdXQpOwogICAgIH0KICAgZWxzZQotICAg IGZwdXRzX2ZpbHRlcmVkICgiR0RCIGhhcyBubyBwcmVwcm9jZXNzb3IgbWFj cm8gaW5mb3JtYXRpb24gZm9yICIKLSAgICAgICAgICAgICAgICAgICAgInRo YXQgY29kZS5cbiIsCi0gICAgICAgICAgICAgICAgICAgIGdkYl9zdGRvdXQp OworICAgIG1hY3JvX2luZm9ybV9ub19kZWJ1Z2luZm8gKCk7CiAKICAgZG9f Y2xlYW51cHMgKGNsZWFudXBfY2hhaW4pOwogICByZXR1cm47CkBAIC0xMDks OSArMTE1LDcgQEAgbWFjcm9fZXhwYW5kX29uY2VfY29tbWFuZCAoY2hhciAq ZXhwLCBpbnQgZnJvbV90dHkpCiAgICAgICBmcHV0c19maWx0ZXJlZCAoIlxu IiwgZ2RiX3N0ZG91dCk7CiAgICAgfQogICBlbHNlCi0gICAgZnB1dHNfZmls dGVyZWQgKCJHREIgaGFzIG5vIHByZXByb2Nlc3NvciBtYWNybyBpbmZvcm1h dGlvbiBmb3IgIgotICAgICAgICAgICAgICAgICAgICAidGhhdCBjb2RlLlxu IiwKLSAgICAgICAgICAgICAgICAgICAgZ2RiX3N0ZG91dCk7CisgICAgbWFj cm9faW5mb3JtX25vX2RlYnVnaW5mbyAoKTsKIAogICBkb19jbGVhbnVwcyAo Y2xlYW51cF9jaGFpbik7CiAgIHJldHVybjsKQEAgLTE3OCw0MyArMTgyLDYg QEAgcHJpbnRfbWFjcm9fZGVmaW5pdGlvbiAoY29uc3QgY2hhciAqbmFtZSwK IAlmcHJpbnRmX2ZpbHRlcmVkIChnZGJfc3Rkb3V0LCAiPSVzXG4iLCBkLT5y ZXBsYWNlbWVudCk7CiB9CiAKLXN0YXRpYyB2b2lkCi1pbmZvX21hY3JvX2Nv bW1hbmQgKGNoYXIgKm5hbWUsIGludCBmcm9tX3R0eSkKLXsKLSAgc3RydWN0 IG1hY3JvX3Njb3BlICptcyA9IE5VTEw7Ci0gIHN0cnVjdCBjbGVhbnVwICpj bGVhbnVwX2NoYWluID0gbWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29u dGVudHMsICZtcyk7Ci0gIHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICpkOwot Ci0gIGlmICghIG5hbWUgfHwgISAqbmFtZSkKLSAgICBlcnJvciAoXygiWW91 IG11c3QgZm9sbG93IHRoZSBgaW5mbyBtYWNybycgY29tbWFuZCB3aXRoIHRo ZSBuYW1lIgotICAgICAgICAgICAiIG9mIHRoZSBtYWNyb1xuIgotICAgICAg ICAgICAid2hvc2UgZGVmaW5pdGlvbiB5b3Ugd2FudCB0byBzZWUuIikpOwot Ci0gIG1zID0gZGVmYXVsdF9tYWNyb19zY29wZSAoKTsKLSAgaWYgKCEgbXMp Ci0gICAgZXJyb3IgKF8oIkdEQiBoYXMgbm8gcHJlcHJvY2Vzc29yIG1hY3Jv IGluZm9ybWF0aW9uIGZvciB0aGF0IGNvZGUuIikpOwotCi0gIGQgPSBtYWNy b19sb29rdXBfZGVmaW5pdGlvbiAobXMtPmZpbGUsIG1zLT5saW5lLCBuYW1l KTsKLSAgaWYgKGQpCi0gICAgewotICAgICAgaW50IGxpbmU7Ci0gICAgICBz dHJ1Y3QgbWFjcm9fc291cmNlX2ZpbGUgKmZpbGUKLSAgICAgICAgPSBtYWNy b19kZWZpbml0aW9uX2xvY2F0aW9uIChtcy0+ZmlsZSwgbXMtPmxpbmUsIG5h bWUsICZsaW5lKTsKLQotICAgICAgcHJpbnRfbWFjcm9fZGVmaW5pdGlvbiAo bmFtZSwgZCwgZmlsZSwgbGluZSk7Ci0gICAgfQotICBlbHNlCi0gICAgewot ICAgICAgZnByaW50Zl9maWx0ZXJlZCAoZ2RiX3N0ZG91dCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICJUaGUgc3ltYm9sIGAlcycgaGFzIG5vIGRlZmlu aXRpb24gYXMgYSBDL0MrKyIKLSAgICAgICAgICAgICAgICAgICAgICAgICIg cHJlcHJvY2Vzc29yIG1hY3JvXG4iCi0gICAgICAgICAgICAgICAgICAgICAg ICAiYXQgIiwgbmFtZSk7Ci0gICAgICBzaG93X3BwX3NvdXJjZV9wb3MgKGdk Yl9zdGRvdXQsIG1zLT5maWxlLCBtcy0+bGluZSk7Ci0gICAgfQotCi0gIGRv X2NsZWFudXBzIChjbGVhbnVwX2NoYWluKTsKLX0KLQogLyogQSBjYWxsYmFj ayBmdW5jdGlvbiBmb3IgdXNhZ2Ugd2l0aCBtYWNyb19mb3JfZWFjaCBhbmQg ZnJpZW5kcy4KICAgIElmIFVTRVJfREFUQSBpcyBudWxsIGFsbCBtYWNyb3Mg d2lsbCBiZSBwcmludGVkLgogICAgT3RoZXJ3aXNlIFVTRVJfREFUQSBpcyBj b25zaWRlcmVkIHRvIGJlIGEgc3RyaW5nLCBwcmludGluZwpAQCAtMjI5LDIz ICsxOTYsNzkgQEAgcHJpbnRfbWFjcm9fY2FsbGJhY2sgKGNvbnN0IGNoYXIg Km5hbWUsIGNvbnN0IHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICptYWNybywK ICAgICBwcmludF9tYWNyb19kZWZpbml0aW9uIChuYW1lLCBtYWNybywgc291 cmNlLCBsaW5lKTsKIH0KIAotLyogSW1wbGVtZW50YXRpb24gb2YgdGhlICJp bmZvIGRlZmluaXRpb25zIiBjb21tYW5kLiAqLworLyogVGhlIGltcGxlbWVu dGF0aW9uIG9mIHRoZSBgaW5mbyBtYWNybycgY29tbWFuZC4gICovCiBzdGF0 aWMgdm9pZAotaW5mb19kZWZpbml0aW9uc19jb21tYW5kIChjaGFyICpuYW1l LCBpbnQgZnJvbV90dHkpCitpbmZvX21hY3JvX2NvbW1hbmQgKGNoYXIgKmFy Z3MsIGludCBmcm9tX3R0eSkKIHsKICAgc3RydWN0IG1hY3JvX3Njb3BlICpt cyA9IE5VTEw7Ci0gIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwX2NoYWluID0g bWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29udGVudHMsICZtcyk7Cisg IHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwX2NoYWluOworICBjaGFyICpuYW1l OworICBpbnQgc2hvd19hbGxfbWFjcm9zX25hbWVkID0gMDsKKyAgY2hhciAq YXJnX3N0YXJ0ID0gYXJnczsKKyAgY2hhciAqcCA9IGFyZ3M7CisgIGludCBw cm9jZXNzaW5nX2FyZ3MgPSAxOworCisgIHdoaWxlIChwcm9jZXNzaW5nX2Fy Z3MKKwkgJiYgYXJnX3N0YXJ0ICYmICphcmdfc3RhcnQgPT0gJy0nICYmICph cmdfc3RhcnQgIT0gJ1wwJykKKyAgICB7CisgICAgICBwID0gc3RyY2hybnVs IChwLCAnICcpOworCisgICAgICBpZiAoc3RybmNtcCAoYXJnX3N0YXJ0LCAi LWEiLCBwIC0gYXJnX3N0YXJ0KSA9PSAwCisJICB8fCBzdHJuY21wIChhcmdf c3RhcnQsICItYWxsIiwgcCAtIGFyZ19zdGFydCkgPT0gMCkKKwlzaG93X2Fs bF9tYWNyb3NfbmFtZWQgPSAxOworICAgICAgZWxzZSBpZiAoc3RybmNtcCAo YXJnX3N0YXJ0LCAiLS0iLCBwIC0gYXJnX3N0YXJ0KSA9PSAwKQorICAgICAg ICAgIC8qIE91ciBtYWNybyBzdXBwb3J0IHNlZW1zIHJhdGhlciBDIHNwZWNp ZmljIGJ1dCB0aGlzIHdvdWxkCisgICAgICAgICAgICAgc2VlbSBuZWNlc3Nh cnkgZm9yIGxhbmd1YWdlcyBhbGxvdyAtIGluIG1hY3JvIG5hbWVzLgorCSAg ICAgZS5nLiBTY2hlbWUncyAoZGVmbWFjcm8gLT5mb28gKCkgImJhclxuIikg ICovCisJcHJvY2Vzc2luZ19hcmdzID0gMDsKKyAgICAgIGVsc2UKKwl7CisJ ICAqcCA9ICdcMCc7CisJICBlcnJvciAoXygiVW5yZWNvZ25pemVkIG9wdGlv biAnJXMnIHRvIGluZm8gbWFjcm8gY29tbWFuZC4gICIKKwkJICAgIlRyeSBc ImhlbHAgaW5mbyBtYWNyb1wiLiIpLCBhcmdfc3RhcnQpOworCX0KKworICAg ICAgaWYgKCpwKQorICAgICAgICBwKys7CisgICAgICBhcmdfc3RhcnQgPSBw OworICAgIH0KKyAgbmFtZSA9IGFyZ19zdGFydDsKIAogICBpZiAoISBuYW1l IHx8ICEgKm5hbWUpCi0gICAgZXJyb3IgKF8oIlRoZSBgaW5mbyBkZWZpbml0 aW9ucycgY29tbWFuZCByZXF1aXJlcyBhIG1hY3JvIG5hbWUgYXMgYW4gXAot YXJndW1lbnQuIikpOworICAgIGVycm9yIChfKCJZb3UgbXVzdCBmb2xsb3cg dGhlIGBpbmZvIG1hY3JvJyBjb21tYW5kIHdpdGggdGhlIG5hbWUiCisJICAg ICAiIG9mIHRoZSBtYWNyb1xuIgorCSAgICAgIndob3NlIGRlZmluaXRpb24g eW91IHdhbnQgdG8gc2VlLiIpKTsKIAogICBtcyA9IGRlZmF1bHRfbWFjcm9f c2NvcGUgKCk7CisgIGNsZWFudXBfY2hhaW4gPSBtYWtlX2NsZWFudXAgKGZy ZWVfY3VycmVudF9jb250ZW50cywgJm1zKTsKIAotICBpZiAoISBtcyB8fCAh IG1zLT5maWxlIHx8ICEgbXMtPmZpbGUtPnRhYmxlKQotICAgIGVycm9yIChf KCJHREIgaGFzIG5vIHByZXByb2Nlc3NvciBtYWNybyBpbmZvcm1hdGlvbiBm b3IgdGhhdCBjb2RlLiIpKTsKKyAgaWYgKCEgbXMpCisgICAgbWFjcm9faW5m b3JtX25vX2RlYnVnaW5mbyAoKTsKKyAgZWxzZSBpZiAoc2hvd19hbGxfbWFj cm9zX25hbWVkKQorICAgIG1hY3JvX2Zvcl9lYWNoIChtcy0+ZmlsZS0+dGFi bGUsIHByaW50X21hY3JvX2NhbGxiYWNrLCBuYW1lKTsKKyAgZWxzZQorICAg IHsKKyAgICAgIHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICpkOworCisgICAg ICBkID0gbWFjcm9fbG9va3VwX2RlZmluaXRpb24gKG1zLT5maWxlLCBtcy0+ bGluZSwgbmFtZSk7CisgICAgICBpZiAoZCkKKwl7CisJICBpbnQgbGluZTsK KwkgIHN0cnVjdCBtYWNyb19zb3VyY2VfZmlsZSAqZmlsZQorCSAgICA9IG1h Y3JvX2RlZmluaXRpb25fbG9jYXRpb24gKG1zLT5maWxlLCBtcy0+bGluZSwg bmFtZSwgJmxpbmUpOworCisJICBwcmludF9tYWNyb19kZWZpbml0aW9uIChu YW1lLCBkLCBmaWxlLCBsaW5lKTsKKwl9CisgICAgICBlbHNlCisgICAgICAg IHsKKyAgICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChnZGJfc3Rkb3V0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgc3ltYm9sIGAlcycg aGFzIG5vIGRlZmluaXRpb24gYXMgYSBDL0MrKyIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiIHByZXByb2Nlc3NvciBtYWNyb1xuIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJhdCAiLCBuYW1lKTsKKyAgICAgICAg ICBzaG93X3BwX3NvdXJjZV9wb3MgKGdkYl9zdGRvdXQsIG1zLT5maWxlLCBt cy0+bGluZSk7CisJfQorICAgIH0KIAotICBtYWNyb19mb3JfZWFjaCAobXMt PmZpbGUtPnRhYmxlLCBwcmludF9tYWNyb19jYWxsYmFjaywgbmFtZSk7CiAg IGRvX2NsZWFudXBzIChjbGVhbnVwX2NoYWluKTsKIH0KIApAQCAtMjY3LDkg KzI5MCwxMCBAQCBpbmZvX21hY3Jvc19jb21tYW5kIChjaGFyICphcmdzLCBp bnQgZnJvbV90dHkpCiAgICAgfQogCiAgIGlmICghIG1zIHx8ICEgbXMtPmZp bGUgfHwgISBtcy0+ZmlsZS0+dGFibGUpCi0gICAgZXJyb3IgKF8oIkdEQiBo YXMgbm8gcHJlcHJvY2Vzc29yIG1hY3JvIGluZm9ybWF0aW9uIGZvciB0aGF0 IGNvZGUuIikpOworICAgIG1hY3JvX2luZm9ybV9ub19kZWJ1Z2luZm8gKCk7 CisgIGVsc2UKKyAgICBtYWNyb19mb3JfZWFjaF9pbl9zY29wZSAobXMtPmZp bGUsIG1zLT5saW5lLCBwcmludF9tYWNyb19jYWxsYmFjaywgTlVMTCk7CiAK LSAgbWFjcm9fZm9yX2VhY2hfaW5fc2NvcGUgKG1zLT5maWxlLCBtcy0+bGlu ZSwgcHJpbnRfbWFjcm9fY2FsbGJhY2ssIE5VTEwpOwogICBkb19jbGVhbnVw cyAoY2xlYW51cF9jaGFpbik7CiB9CiAKQEAgLTQ5NSw3ICs1MTksMTMgQEAg ZXhwcmVzc2lvbiB3b3JrIHRvZ2V0aGVyIHRvIHlpZWxkIGEgcHJlLXByb2Nl c3NlZCBleHByZXNzaW9uLiIpLAogICBhZGRfYWxpYXNfY21kICgiZXhwMSIs ICJleHBhbmQtb25jZSIsIG5vX2NsYXNzLCAxLCAmbWFjcm9saXN0KTsKIAog ICBhZGRfY21kICgibWFjcm8iLCBub19jbGFzcywgaW5mb19tYWNyb19jb21t YW5kLAotCSAgIF8oIlNob3cgdGhlIGRlZmluaXRpb24gb2YgTUFDUk8sIGFu ZCBpdHMgc291cmNlIGxvY2F0aW9uLiIpLAorCSAgIF8oIlNob3cgdGhlIGRl ZmluaXRpb24gb2YgTUFDUk8sIGFuZCBpdCdzIHNvdXJjZSBsb2NhdGlvbi5c blwKK1VzYWdlOiBpbmZvIG1hY3JvIFstYXwtYWxsXSBbLS1dIE1BQ1JPXG5c CitPcHRpb25zOiBcblwKKyAgLWEsIC0tYWxsICAgIE91dHB1dCBhbGwgZGVm aW5pdGlvbnMgb2YgTUFDUk8gaW4gdGhlIGN1cnJlbnQgY29tcGlsYXRpb25c CisgdW5pdC5cblwKKyAgLS0gICAgICAgICAgIFNwZWNpZnkgdGhlIGVuZCBv ZiBhcmd1bWVudHMgYW5kIHRoZSBiZWdpbm5pbmcgb2YgdGhlIE1BQ1JPLiIp LAorCiAJICAgJmluZm9saXN0KTsKIAogICBhZGRfY21kICgibWFjcm9zIiwg bm9fY2xhc3MsIGluZm9fbWFjcm9zX2NvbW1hbmQsCkBAIC01MDQsMTEgKzUz NCw2IEBAIHNvdXJjZSBsb2NhdGlvbi5cblwKIFVzYWdlOiBpbmZvIG1hY3Jv cyBbTElORVNQRUNdIiksCiAJICAgJmluZm9saXN0KTsKIAotICBhZGRfY21k ICgiZGVmaW5pdGlvbnMiLCBub19jbGFzcywgaW5mb19kZWZpbml0aW9uc19j b21tYW5kLAotCSAgIF8oIlNob3cgYWxsIGRlZmluaXRpb25zIG9mIE1BQ1JP IGluIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uIHVuaXQuXG5cCi1Vc2FnZTog aW5mbyBkZWZpbml0aW9ucyBNQUNSTyIpLAotCSAgICZpbmZvbGlzdCk7Ci0K ICAgYWRkX2NtZCAoImRlZmluZSIsIG5vX2NsYXNzLCBtYWNyb19kZWZpbmVf Y29tbWFuZCwgXygiXAogRGVmaW5lIGEgbmV3IEMvQysrIHByZXByb2Nlc3Nv ciBtYWNyby5cblwKIFRoZSBHREIgY29tbWFuZCBgbWFjcm8gZGVmaW5lIERF RklOSVRJT04nIGlzIGVxdWl2YWxlbnQgdG8gcGxhY2luZyBhXG5cCmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tbWFjcm9zLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1tYWNyb3MuZXhwCmlu ZGV4IGJkNWE4NzAuLjg0MzdmOTQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvaW5mby1tYWNyb3MuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvaW5mby1tYWNyb3MuZXhwCkBAIC0zNCw3ICszNCwzOSBA QCBpZiAhW3J1bnRvX21haW5dIHsKICAgICByZXR1cm4gLTEKIH0KIAotc2V0 IHRlc3QgImluZm8gZGVmaW5pdGlvbnMgRk9PIgorIyBUZXN0IHZhcmlvdXMg ZXJyb3IgbWVzc2FnZXMuCisjCSAiVGhlIHN5bWJvbCBgLWFsbCcgaGFzIG5v IGRlZmluaXRpb24gLipcclxuYXQuKlxyXG4iIFwKK2dkYl90ZXN0ICJpbmZv IG1hY3JvIC0tIC1hbGwiIFwKKwkgIlRoZSBzeW1ib2wgYC1hbGwnIGhhcyBu byBkZWZpbml0aW9uIC4qXFteXHJcblxdYXQgKlxbXHJcblxdIiBcCisJICJp bmZvIG1hY3JvIC0tIC1hbGwiCisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvIC1h bGwgLS0iIFwKKwkgIllvdSBtdXN0IGZvbGxvdy4qd2l0aCB0aGUgbmFtZS4q eW91IHdhbnQgdG8gc2VlLipcW15cclxuXF0qXFtcclxuXF0iIFwKKwkgImlu Zm8gbWFjcm8gLWFsbCAtLSIKKworZ2RiX3Rlc3QgImluZm8gbWFjcm8gLS0i IFwKKwkgIllvdSBtdXN0IGZvbGxvdy4qd2l0aCB0aGUgbmFtZS4qeW91IHdh bnQgdG8gc2VlLipcW15cclxuXF0qXFtcclxuXF0iIFwKKwkgImluZm8gbWFj cm8gLS0iCisKK2dkYl90ZXN0ICJpbmZvIG1hY3JvIC1pbnZhbGlkLW9wdGlv biIgXAorCSAiVW5yZWNvZ25pemVkIG9wdGlvbi4qVHJ5IFwiaGVscCBpbmZv IG1hY3JvXCJcLiIgXAorCSAiaW5mbyBtYWNybyAtaW52YWxpZC1vcHRpb24g MSIKKworZ2RiX3Rlc3QgImluZm8gbWFjcm8gLWludmFsaWQtb3B0aW9uIEZP TyIgXAorCSAiVW5yZWNvZ25pemVkIG9wdGlvbi4qVHJ5IFwiaGVscCBpbmZv IG1hY3JvXCJcLiIgXAorCSAiaW5mbyBtYWNybyAtaW52YWxpZC1vcHRpb24g MiIKKworIyBTaW5nbGUgbWFjcm8gbG9va3Vwcy4KK2dkYl90ZXN0ICJpbmZv IG1hY3JvIC0tIEZPTyIgXAorCSAiLiojZGVmaW5lIEZPTyBcImhlbGxvXCIi IFwKKwkgImluZm8gbWFjcm8gLS0gRk9PIgorCitnZGJfdGVzdCAiaW5mbyBt YWNybyBGT08iIFwKKwkgIi4qI2RlZmluZSBGT08gXCJoZWxsb1wiIiBcCisJ ICJpbmZvIG1hY3JvIEZPTyIKKworIyBNdWx0aXBsZSBtYWNybyBsb29rdXBz Lgorc2V0IHRlc3QgImluZm8gbWFjcm8gLWEgRk9PIgogc2V0IHIxICIuKiNk ZWZpbmUgRk9PIFwiaGVsbG9cIiIKIHNldCByMiAiLiojZGVmaW5lIEZPTyBc IiBcIiIKIHNldCByMyAiLiojZGVmaW5lIEZPTyBcIndvcmxkXCIiCkBAIC00 Miw2ICs3NCwxNCBAQCBzZXQgcjQgIi4qI2RlZmluZSBGT09cXChhXFwpIGZv byA9IGEiCiBzZXQgdGVzdG5hbWUgIiR0ZXN0IDEiCiBnZGJfdGVzdCAiJHRl c3QiICIkcjEkcjIkcjMkcjQiICIkdGVzdG5hbWUiCiAKK3NldCB0ZXN0ICJp bmZvIG1hY3JvIC1hIC0tIEZPTyIKK3NldCB0ZXN0bmFtZSAiJHRlc3QgMSIK K2dkYl90ZXN0ICIkdGVzdCIgIiRyMSRyMiRyMyRyNCIgIiR0ZXN0bmFtZSIK Kworc2V0IHRlc3QgImluZm8gbWFjcm8gLWFsbCAtLSBGT08iCitzZXQgdGVz dG5hbWUgIiR0ZXN0IDEiCitnZGJfdGVzdCAiJHRlc3QiICIkcjEkcjIkcjMk cjQiICIkdGVzdG5hbWUiCisKIAogc2V0IHRlc3QgImluZm8gbWFjcm9zIgog c2V0IHIxICIuKiNkZWZpbmUgRk9PIFwiaGVsbG9cIiIK --20cf30563ee7bec37004ae0b0f12--