From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12878 invoked by alias); 19 Jul 2011 06:57:41 -0000 Received: (qmail 12870 invoked by uid 22791); 19 Jul 2011 06:57: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,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-yw0-f41.google.com (HELO mail-yw0-f41.google.com) (209.85.213.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 19 Jul 2011 06:57:26 +0000 Received: by ywm39 with SMTP id 39so1869218ywm.0 for ; Mon, 18 Jul 2011 23:57:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.175.10 with SMTP id y10mr8476873yhl.255.1311058645101; Mon, 18 Jul 2011 23:57:25 -0700 (PDT) Received: by 10.236.109.131 with HTTP; Mon, 18 Jul 2011 23:57:25 -0700 (PDT) Date: Tue, 19 Jul 2011 09:57:00 -0000 Message-ID: Subject: [patch] PR 12999 info macros command. From: Matt Rice To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf305b0de2d22c7804a866a079 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/msg00451.txt.bz2 --20cf305b0de2d22c7804a866a079 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1341 this patch adds 2 commands, info macros LINESPEC info definitions MACRO the PR only asks for the former, but the latter seemed possibly useful. if you don't want it, i'll at least try and make it implementable with python (when i finish that.) not sure if 'info macros' is prudent with the kfail (at the end of the tests). 2011-07-18 Matt Rice PR macros/12999 * gdb.texinfo (Macros): Add info definitions and info macros commands. 2011-07-18 Matt Rice PR macros/12999 * gdb.base/info-macros.c: New test sources. * gdb.base/info-macros.exp: New tests. 2011-07-18 Matt Rice PR macros/12999 * macrotab.h (macro_callback_fn): Add new arguments to callback. * macrotab.c (foreach_macro): Ditto. (foreach_macro_in_scope): Ditto. * macrocmd.c (print_macro_callback): New function. (info_macro_command): Move some code to print_macro_definition. (print_macro_definition): New function. (print_one_macro): Add new arguments to callback. (info_definitions_command): New function. (info_macros_command): Ditto. (_initialize_macrocmd): Add info macros and info definitions commands. * symtab.c (add_macro_name): Add new arguments to callback. --20cf305b0de2d22c7804a866a079 Content-Type: application/octet-stream; name="foo.diff" Content-Disposition: attachment; filename="foo.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gqag33xf0 Content-length: 20069 ZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dk Yi50ZXhpbmZvCmluZGV4IDNhM2E5ZmIuLjNhNjFiMjMgMTAwNjQ0Ci0tLSBh L2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5m bwpAQCAtOTU5MCw5ICs5NTkwLDI1IEBAIGNhbiBiZSBhbnkgc3RyaW5nIG9m IHRva2Vucy4KIEBjaW5kZXggbWFjcm8gZGVmaW5pdGlvbiwgc2hvd2luZwog QGNpbmRleCBkZWZpbml0aW9uLCBzaG93aW5nIGEgbWFjcm8ncwogQGl0ZW0g aW5mbyBtYWNybyBAdmFye21hY3JvfQotU2hvdyB0aGUgZGVmaW5pdGlvbiBv ZiB0aGUgbWFjcm8gbmFtZWQgQHZhcnttYWNyb30sIGFuZCBkZXNjcmliZSB0 aGUKK1Nob3cgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiB0aGUgbWFjcm8g bmFtZWQgQHZhcnttYWNyb30sIGFuZCBkZXNjcmliZSB0aGUKIHNvdXJjZSBs b2NhdGlvbiBvciBjb21waWxlciBjb21tYW5kLWxpbmUgd2hlcmUgdGhhdCBk ZWZpbml0aW9uIHdhcyBlc3RhYmxpc2hlZC4KIAorQGtpbmRleCBpbmZvIG1h Y3JvcworQGNpbmRleCBtYWNybyBkZWZpbml0aW9uLCBzaG93aW5nCitAY2lu ZGV4IGRlZmluaXRpb24sIHNob3dpbmcgYSBtYWNybydzCitAaXRlbSBpbmZv IG1hY3JvcyBAdmFye2xpbmVzcGVjfQorU2hvdyBhbGwgbWFjcm8gZGVmaW5p dGlvbnMgYXQgdGhlIGxvY2F0aW9uIG9mIEB2YXJ7bGluZXNwZWN9LCBhbmQg ZGVzY3JpYmUgdGhlCitzb3VyY2UgbG9jYXRpb24gb3IgY29tcGlsZXIgY29t bWFuZC1saW5lIHdoZXJlIHRob3NlIGRlZmluaXRpb25zIHdlcmUKK2VzdGFi bGlzaGVkLgorCitAa2luZGV4IGluZm8gZGVmaW5pdGlvbnMgCitAY2luZGV4 IG1hY3JvIGRlZmluaXRpb24sIHNob3dpbmcKK0BjaW5kZXggZGVmaW5pdGlv biwgc2hvd2luZyBhIG1hY3JvJ3MKK0BpdGVtIGluZm8gZGVmaW5pdGlvbnMg QHZhcnttYWNyb30KK1Nob3cgYWxsIGRlZmluaXRpb25zIG9mIHRoZSBtYWNy byBuYW1lZCBAdmFye21hY3JvfSwgaW4gdGhlIGN1cnJlbnQgc2NvcGUsCith bmQgZGVzY3JpYmUgdGhlIHNvdXJjZSBsb2NhdGlvbiBvciBjb21waWxlciBj b21tYW5kLWxpbmUgd2hlcmUgdGhvc2UKK2RlZmluaXRpb25zIHdlcmUgZXN0 YWJsaXNoZWQuCisKIEBraW5kZXggbWFjcm8gZGVmaW5lCiBAY2luZGV4IHVz ZXItZGVmaW5lZCBtYWNyb3MKIEBjaW5kZXggZGVmaW5pbmcgbWFjcm9zIGlu dGVyYWN0aXZlbHkKZGlmZiAtLWdpdCBhL2dkYi9tYWNyb2NtZC5jIGIvZ2Ri L21hY3JvY21kLmMKaW5kZXggYzc3MTU2YS4uNTQ4MDMwNSAxMDA2NDQKLS0t IGEvZ2RiL21hY3JvY21kLmMKKysrIGIvZ2RiL21hY3JvY21kLmMKQEAgLTEz NCwzNiArMTM0LDIwIEBAIHNob3dfcHBfc291cmNlX3BvcyAoc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKICAgICB9CiB9CiAKLQogc3RhdGljIHZvaWQKLWlu Zm9fbWFjcm9fY29tbWFuZCAoY2hhciAqbmFtZSwgaW50IGZyb21fdHR5KQor cHJpbnRfbWFjcm9fZGVmaW5pdGlvbiAoY29uc3QgY2hhciAqbmFtZSwKKwkJ CWNvbnN0IHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICpkLAorCQkJc3RydWN0 IG1hY3JvX3NvdXJjZV9maWxlICpmaWxlLAorCQkJaW50IGxpbmUpCiB7Ci0g IHN0cnVjdCBtYWNyb19zY29wZSAqbXMgPSBOVUxMOwotICBzdHJ1Y3QgY2xl YW51cCAqY2xlYW51cF9jaGFpbiA9IG1ha2VfY2xlYW51cCAoZnJlZV9jdXJy ZW50X2NvbnRlbnRzLCAmbXMpOwotICBzdHJ1Y3QgbWFjcm9fZGVmaW5pdGlv biAqZDsKLSAgCi0gIGlmICghIG5hbWUgfHwgISAqbmFtZSkKLSAgICBlcnJv ciAoXygiWW91IG11c3QgZm9sbG93IHRoZSBgaW5mbyBtYWNybycgY29tbWFu ZCB3aXRoIHRoZSBuYW1lIgotICAgICAgICAgICAiIG9mIHRoZSBtYWNyb1xu IgotICAgICAgICAgICAid2hvc2UgZGVmaW5pdGlvbiB5b3Ugd2FudCB0byBz ZWUuIikpOwotCi0gIG1zID0gZGVmYXVsdF9tYWNyb19zY29wZSAoKTsKLSAg aWYgKCEgbXMpCi0gICAgZXJyb3IgKF8oIkdEQiBoYXMgbm8gcHJlcHJvY2Vz c29yIG1hY3JvIGluZm9ybWF0aW9uIGZvciB0aGF0IGNvZGUuIikpOwotCi0g IGQgPSBtYWNyb19sb29rdXBfZGVmaW5pdGlvbiAobXMtPmZpbGUsIG1zLT5s aW5lLCBuYW1lKTsKLSAgaWYgKGQpCi0gICAgewotICAgICAgaW50IGxpbmU7 Ci0gICAgICBzdHJ1Y3QgbWFjcm9fc291cmNlX2ZpbGUgKmZpbGUKLSAgICAg ICAgPSBtYWNyb19kZWZpbml0aW9uX2xvY2F0aW9uIChtcy0+ZmlsZSwgbXMt PmxpbmUsIG5hbWUsICZsaW5lKTsKLQogICAgICAgZnByaW50Zl9maWx0ZXJl ZCAoZ2RiX3N0ZG91dCwgIkRlZmluZWQgYXQgIik7CiAgICAgICBzaG93X3Bw X3NvdXJjZV9wb3MgKGdkYl9zdGRvdXQsIGZpbGUsIGxpbmUpOworCiAgICAg ICBpZiAobGluZSAhPSAwKQogCWZwcmludGZfZmlsdGVyZWQgKGdkYl9zdGRv dXQsICIjZGVmaW5lICVzIiwgbmFtZSk7CiAgICAgICBlbHNlCiAJZnByaW50 Zl9maWx0ZXJlZCAoZ2RiX3N0ZG91dCwgIi1EJXMiLCBuYW1lKTsKKwogICAg ICAgaWYgKGQtPmtpbmQgPT0gbWFjcm9fZnVuY3Rpb25fbGlrZSkKICAgICAg ICAgewogICAgICAgICAgIGludCBpOwpAQCAtMTc3LDEwICsxNjEsMzcgQEAg aW5mb19tYWNyb19jb21tYW5kIChjaGFyICpuYW1lLCBpbnQgZnJvbV90dHkp CiAgICAgICAgICAgICB9CiAgICAgICAgICAgZnB1dHNfZmlsdGVyZWQgKCIp IiwgZ2RiX3N0ZG91dCk7CiAgICAgICAgIH0KKwogICAgICAgaWYgKGxpbmUg IT0gMCkKIAlmcHJpbnRmX2ZpbHRlcmVkIChnZGJfc3Rkb3V0LCAiICVzXG4i LCBkLT5yZXBsYWNlbWVudCk7CiAgICAgICBlbHNlCiAJZnByaW50Zl9maWx0 ZXJlZCAoZ2RiX3N0ZG91dCwgIj0lc1xuIiwgZC0+cmVwbGFjZW1lbnQpOwor fQorCitzdGF0aWMgdm9pZAoraW5mb19tYWNyb19jb21tYW5kIChjaGFyICpu YW1lLCBpbnQgZnJvbV90dHkpCit7CisgIHN0cnVjdCBtYWNyb19zY29wZSAq bXMgPSBOVUxMOworICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cF9jaGFpbiA9 IG1ha2VfY2xlYW51cCAoZnJlZV9jdXJyZW50X2NvbnRlbnRzLCAmbXMpOwor ICBzdHJ1Y3QgbWFjcm9fZGVmaW5pdGlvbiAqZDsKKworICBpZiAoISBuYW1l IHx8ICEgKm5hbWUpCisgICAgZXJyb3IgKF8oIllvdSBtdXN0IGZvbGxvdyB0 aGUgYGluZm8gbWFjcm8nIGNvbW1hbmQgd2l0aCB0aGUgbmFtZSIKKyAgICAg ICAgICAgIiBvZiB0aGUgbWFjcm9cbiIKKyAgICAgICAgICAgIndob3NlIGRl ZmluaXRpb24geW91IHdhbnQgdG8gc2VlLiIpKTsKKworICBtcyA9IGRlZmF1 bHRfbWFjcm9fc2NvcGUgKCk7CisgIGlmICghIG1zKQorICAgIGVycm9yIChf KCJHREIgaGFzIG5vIHByZXByb2Nlc3NvciBtYWNybyBpbmZvcm1hdGlvbiBm b3IgdGhhdCBjb2RlLiIpKTsKKworICBkID0gbWFjcm9fbG9va3VwX2RlZmlu aXRpb24gKG1zLT5maWxlLCBtcy0+bGluZSwgbmFtZSk7CisgIGlmIChkKQor ICAgIHsKKyAgICAgIGludCBsaW5lOworICAgICAgc3RydWN0IG1hY3JvX3Nv dXJjZV9maWxlICpmaWxlCisgICAgICAgID0gbWFjcm9fZGVmaW5pdGlvbl9s b2NhdGlvbiAobXMtPmZpbGUsIG1zLT5saW5lLCBuYW1lLCAmbGluZSk7CisK KyAgICAgIHByaW50X21hY3JvX2RlZmluaXRpb24gKG5hbWUsIGQsIGZpbGUs IGxpbmUpOwogICAgIH0KICAgZWxzZQogICAgIHsKQEAgLTE5NSw2ICsyMDYs NTggQEAgaW5mb19tYWNyb19jb21tYW5kIChjaGFyICpuYW1lLCBpbnQgZnJv bV90dHkpCiB9CiAKIAorc3RhdGljIHZvaWQKK3ByaW50X21hY3JvX2NhbGxi YWNrIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3QgbWFjcm9fZGVm aW5pdGlvbiAqbWFjcm8sCisJCSAgIHN0cnVjdCBtYWNyb19zb3VyY2VfZmls ZSAqc291cmNlLCBpbnQgbGluZSwKKwkJICAgdm9pZCAqdXNlcl9kYXRhKQor eworICBpZiAoISB1c2VyX2RhdGEgfHwgc3RyY21wICh1c2VyX2RhdGEsIG5h bWUpID09IDApCisgICAgcHJpbnRfbWFjcm9fZGVmaW5pdGlvbiAobmFtZSwg bWFjcm8sIHNvdXJjZSwgbGluZSk7Cit9CisKK3N0YXRpYyB2b2lkCitpbmZv X2RlZmluaXRpb25zX2NvbW1hbmQgKGNoYXIgKm5hbWUsIGludCBmcm9tX3R0 eSkKK3sKKyAgc3RydWN0IG1hY3JvX3Njb3BlICptcyA9IE5VTEw7CisgIHN0 cnVjdCBjbGVhbnVwICpjbGVhbnVwX2NoYWluID0gbWFrZV9jbGVhbnVwIChm cmVlX2N1cnJlbnRfY29udGVudHMsICZtcyk7CisKKyAgaWYgKCEgbmFtZSB8 fCAhICpuYW1lKQorICAgIGVycm9yIChfKCJZb3UgbXVzdCBmb2xsb3cgdGhl IGBpbmZvIGRlZmluaXRpb25zJyBjb21tYW5kIHdpdGggdGhlIG5hbWUiCisg ICAgICAgICAgICIgb2YgdGhlIG1hY3JvXG4iCisgICAgICAgICAgICJ3aG9z ZSBkZWZpbml0aW9uIHlvdSB3YW50IHRvIHNlZS4iKSk7CisKKyAgbXMgPSBk ZWZhdWx0X21hY3JvX3Njb3BlICgpOworCisgIGlmICghIG1zIHx8ICEgbXMt PmZpbGUgfHwgISBtcy0+ZmlsZS0+dGFibGUpCisgICAgZXJyb3IgKF8oIkdE QiBoYXMgbm8gcHJlcHJvY2Vzc29yIG1hY3JvIGluZm9ybWF0aW9uIGZvciB0 aGF0IGNvZGUuIikpOworCisgIG1hY3JvX2Zvcl9lYWNoIChtcy0+ZmlsZS0+ dGFibGUsIHByaW50X21hY3JvX2NhbGxiYWNrLCBuYW1lKTsKKyAgZG9fY2xl YW51cHMgKGNsZWFudXBfY2hhaW4pOworfQorCitzdGF0aWMgdm9pZAoraW5m b19tYWNyb3NfY29tbWFuZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQor eworICBzdHJ1Y3QgbWFjcm9fc2NvcGUgKm1zID0gTlVMTDsKKyAgc3RydWN0 IGNsZWFudXAgKmNsZWFudXBfY2hhaW4gPSBtYWtlX2NsZWFudXAgKGZyZWVf Y3VycmVudF9jb250ZW50cywgJm1zKTsKKworICBpZiAoYXJncyA9PSBOVUxM KQorICAgIG1zID0gZGVmYXVsdF9tYWNyb19zY29wZSAoKTsKKyAgZWxzZQor ICAgIHsKKyAgICAgIHN0cnVjdCBzeW10YWJzX2FuZF9saW5lcyBzYWxzID0g ZGVjb2RlX2xpbmVfc3BlYyAoYXJncywgMCk7CisKKyAgICAgIGlmIChzYWxz Lm5lbHRzKQorICAgICAgICBtcyA9IHNhbF9tYWNyb19zY29wZSAoc2Fscy5z YWxzWzBdKTsKKyAgICB9CisKKyAgaWYgKCEgbXMgfHwgISBtcy0+ZmlsZSB8 fCAhIG1zLT5maWxlLT50YWJsZSkKKyAgICBlcnJvciAoXygiR0RCIGhhcyBu byBwcmVwcm9jZXNzb3IgbWFjcm8gaW5mb3JtYXRpb24gZm9yIHRoYXQgY29k ZS4iKSk7CisKKyAgbWFjcm9fZm9yX2VhY2hfaW5fc2NvcGUgKG1zLT5maWxl LCBtcy0+bGluZSwgcHJpbnRfbWFjcm9fY2FsbGJhY2ssIE5VTEwpOworICBk b19jbGVhbnVwcyAoY2xlYW51cF9jaGFpbik7Cit9CisKIAwKIC8qIFVzZXIt ZGVmaW5lZCBtYWNyb3MuICAqLwogCkBAIC0zNTksNiArNDIyLDcgQEAgbWFj cm9fdW5kZWZfY29tbWFuZCAoY2hhciAqZXhwLCBpbnQgZnJvbV90dHkpCiAK IHN0YXRpYyB2b2lkCiBwcmludF9vbmVfbWFjcm8gKGNvbnN0IGNoYXIgKm5h bWUsIGNvbnN0IHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICptYWNybywKKwkJ IHN0cnVjdCBtYWNyb19zb3VyY2VfZmlsZSAqc291cmNlLCBpbnQgbGluZSwK IAkJIHZvaWQgKmlnbm9yZSkKIHsKICAgZnByaW50Zl9maWx0ZXJlZCAoZ2Ri X3N0ZG91dCwgIm1hY3JvIGRlZmluZSAlcyIsIG5hbWUpOwpAQCAtMzgyLDcg KzQ0Niw2IEBAIG1hY3JvX2xpc3RfY29tbWFuZCAoY2hhciAqZXhwLCBpbnQg ZnJvbV90dHkpCiAgIG1hY3JvX2Zvcl9lYWNoIChtYWNyb191c2VyX21hY3Jv cywgcHJpbnRfb25lX21hY3JvLCBOVUxMKTsKIH0KIAotCiAMCiAvKiBJbml0 aWFsaXppbmcgdGhlIGBtYWNyb2NtZCcgbW9kdWxlLiAgKi8KIApAQCAtNDIw LDYgKzQ4MywxNiBAQCBleHByZXNzaW9uIHdvcmsgdG9nZXRoZXIgdG8geWll bGQgYSBwcmUtcHJvY2Vzc2VkIGV4cHJlc3Npb24uIiksCiAJICAgXygiU2hv dyB0aGUgZGVmaW5pdGlvbiBvZiBNQUNSTywgYW5kIGl0cyBzb3VyY2UgbG9j YXRpb24uIiksCiAJICAgJmluZm9saXN0KTsKIAorICBhZGRfY21kICgibWFj cm9zIiwgbm9fY2xhc3MsIGluZm9fbWFjcm9zX2NvbW1hbmQsCisJICAgXygi U2hvdyB0aGUgbmFtZXMgb2YgYWxsIG1hY3JvcyBhdCBMSU5FU1BFQywgb3Ig dGhlIGN1cnJlbnQgXAorc2NvcGUuIiksCisJICAgJmluZm9saXN0KTsKKwor ICBhZGRfY21kICgiZGVmaW5pdGlvbnMiLCBub19jbGFzcywgaW5mb19kZWZp bml0aW9uc19jb21tYW5kLAorCSAgIF8oIlNob3cgYWxsIGRlZmluaXRpb25z IG9mIHRoZSBtYWNybyBuYW1lZCBNQUNSTyBpbiB0aGVcblwKK2N1cnJlbnQg c2NvcGUuIiksCisJICAgJmluZm9saXN0KTsKKwogICBhZGRfY21kICgiZGVm aW5lIiwgbm9fY2xhc3MsIG1hY3JvX2RlZmluZV9jb21tYW5kLCBfKCJcCiBE ZWZpbmUgYSBuZXcgQy9DKysgcHJlcHJvY2Vzc29yIG1hY3JvLlxuXAogVGhl IEdEQiBjb21tYW5kIGBtYWNybyBkZWZpbmUgREVGSU5JVElPTicgaXMgZXF1 aXZhbGVudCB0byBwbGFjaW5nIGFcblwKZGlmZiAtLWdpdCBhL2dkYi9tYWNy b3RhYi5jIGIvZ2RiL21hY3JvdGFiLmMKaW5kZXggY2JhMjg1ZC4uZWZjZjgz NSAxMDA2NDQKLS0tIGEvZ2RiL21hY3JvdGFiLmMKKysrIGIvZ2RiL21hY3Jv dGFiLmMKQEAgLTkxMyw3ICs5MTMsOCBAQCBmb3JlYWNoX21hY3JvIChzcGxh eV90cmVlX25vZGUgbm9kZSwgdm9pZCAqYXJnKQogICBzdHJ1Y3QgbWFjcm9f a2V5ICprZXkgPSAoc3RydWN0IG1hY3JvX2tleSAqKSBub2RlLT5rZXk7CiAg IHN0cnVjdCBtYWNyb19kZWZpbml0aW9uICpkZWYgPSAoc3RydWN0IG1hY3Jv X2RlZmluaXRpb24gKikgbm9kZS0+dmFsdWU7CiAKLSAgKCpkYXR1bS0+Zm4p IChrZXktPm5hbWUsIGRlZiwgZGF0dW0tPnVzZXJfZGF0YSk7CisgICgqZGF0 dW0tPmZuKSAoa2V5LT5uYW1lLCBkZWYsIGtleS0+c3RhcnRfZmlsZSwga2V5 LT5zdGFydF9saW5lLAorCQlkYXR1bS0+dXNlcl9kYXRhKTsKICAgcmV0dXJu IDA7CiB9CiAKQEAgLTk0NSw3ICs5NDYsOCBAQCBmb3JlYWNoX21hY3JvX2lu X3Njb3BlIChzcGxheV90cmVlX25vZGUgbm9kZSwgdm9pZCAqaW5mbykKICAg ICAgICYmICgha2V5LT5lbmRfZmlsZQogCSAgfHwgY29tcGFyZV9sb2NhdGlv bnMgKGtleS0+ZW5kX2ZpbGUsIGtleS0+ZW5kX2xpbmUsCiAJCQkJZGF0dW0t PmZpbGUsIGRhdHVtLT5saW5lKSA+PSAwKSkKLSAgICAoKmRhdHVtLT5mbikg KGtleS0+bmFtZSwgZGVmLCBkYXR1bS0+dXNlcl9kYXRhKTsKKyAgICAoKmRh dHVtLT5mbikgKGtleS0+bmFtZSwgZGVmLCBrZXktPnN0YXJ0X2ZpbGUsIGtl eS0+c3RhcnRfbGluZSwKKwkJICBkYXR1bS0+dXNlcl9kYXRhKTsKICAgcmV0 dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2dkYi9tYWNyb3RhYi5oIGIvZ2Ri L21hY3JvdGFiLmgKaW5kZXggZDJiMmI2My4uYzgxYjEzYSAxMDA2NDQKLS0t IGEvZ2RiL21hY3JvdGFiLmgKKysrIGIvZ2RiL21hY3JvdGFiLmgKQEAgLTMx MSw2ICszMTEsOCBAQCBzdHJ1Y3QgbWFjcm9fc291cmNlX2ZpbGUgKihtYWNy b19kZWZpbml0aW9uX2xvY2F0aW9uCiAgICBvciBtYWNyb19mb3JfZWFjaF9p bl9zY29wZS4gICovCiB0eXBlZGVmIHZvaWQgKCptYWNyb19jYWxsYmFja19m bikgKGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkJICAgY29uc3Qgc3RydWN0IG1h Y3JvX2RlZmluaXRpb24gKmRlZmluaXRpb24sCisJCQkJICAgc3RydWN0IG1h Y3JvX3NvdXJjZV9maWxlICpzb3VyY2UsCisJCQkJICAgaW50IGxpbmUsCiAJ CQkJICAgdm9pZCAqdXNlcl9kYXRhKTsKIAogLyogQ2FsbCB0aGUgZnVuY3Rp b24gRk4gZm9yIGVhY2ggbWFjcm8gaW4gdGhlIG1hY3JvIHRhYmxlIFRBQkxF LgpkaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5jIGIvZ2RiL3N5bXRhYi5jCmlu ZGV4IGI3OTIwODEuLjk0NDdiZDkgMTAwNjQ0Ci0tLSBhL2dkYi9zeW10YWIu YworKysgYi9nZGIvc3ltdGFiLmMKQEAgLTM3NzEsNiArMzc3MSw3IEBAIHN0 cnVjdCBhZGRfbmFtZV9kYXRhCiAgICBUaGlzIGFkZHMgYSBtYWNybydzIG5h bWUgdG8gdGhlIGN1cnJlbnQgY29tcGxldGlvbiBsaXN0LiAgKi8KIHN0YXRp YyB2b2lkCiBhZGRfbWFjcm9fbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgY29u c3Qgc3RydWN0IG1hY3JvX2RlZmluaXRpb24gKmlnbm9yZSwKKwkJc3RydWN0 IG1hY3JvX3NvdXJjZV9maWxlICppZ25vcmUyLCBpbnQgaWdub3JlMywKIAkJ dm9pZCAqdXNlcl9kYXRhKQogewogICBzdHJ1Y3QgYWRkX25hbWVfZGF0YSAq ZGF0dW0gPSAoc3RydWN0IGFkZF9uYW1lX2RhdGEgKikgdXNlcl9kYXRhOwpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLW1hY3Jv cy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLW1hY3Jvcy5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNjAzZTYKLS0t IC9kZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8t bWFjcm9zLmMKQEAgLTAsMCArMSw3MyBAQAorI2lmZGVmIERFRl9NQUNST1Mg CisKKyAgI2lmZGVmIE9ORSAKKyAgICAjaWZkZWYgRk9PCisgICAgI3VuZGVm IEZPTworICAgICNlbmRpZgorCisgICNkZWZpbmUgRk9PICJoZWxsbyIKKyAg I2Vsc2UKKyAgICAjdW5kZWYgRk9PCisgICNlbmRpZgorCisKKyAgI2lmZGVm IFRXTworICAgICNpZmRlZiBGT08KKyAgICAjdW5kZWYgRk9PCisgICAgI2Vu ZGlmCisgICNkZWZpbmUgRk9PICIgIgorICAjZW5kaWYKKworICAjaWZkZWYg VEhSRUUgCisgICAgI2lmZGVmIEZPTworICAgICN1bmRlZiBGT08KKyAgICAj ZW5kaWYKKworICAjZGVmaW5lIEZPTyAid29ybGQiCisgICNlbmRpZgorCisg ICNpZmRlZiBGT1VSCisgICAgI2lmZGVmIEZPTworICAgICN1bmRlZiBGT08K KyAgICAjZW5kaWYKKyAgICAjZGVmaW5lIEZPTyhhKSBmb28gPSBhCisgICNl bmRpZgorI2Vsc2UKKworaW50IG1haW4gKGludCBhcmdjLCBjb25zdCBjaGFy ICoqYXJndikKK3sgCisgIGNoYXIgKmZvbzsKKworICAjZGVmaW5lIERFRl9N QUNST1MgCisgICNkZWZpbmUgT05FCisgICNpbmNsdWRlICJpbmZvLW1hY3Jv cy5jIgorICBmb28gPSBGT087CisKKyAgI2RlZmluZSBUV08KKyAgI2luY2x1 ZGUgImluZm8tbWFjcm9zLmMiCisgIGZvbyA9IEZPTzsKKworICAjZGVmaW5l IFRIUkVFCisgICNpbmNsdWRlICJpbmZvLW1hY3Jvcy5jIgorICBmb28gPSBG T087CisKKyAgI3VuZGVmIFRIUkVFCisgICNpbmNsdWRlICJpbmZvLW1hY3Jv cy5jIgorICBmb28gPSBGT087CisKKyAgI3VuZGVmIFRXTworICAjaW5jbHVk ZSAiaW5mby1tYWNyb3MuYyIKKyAgZm9vID0gRk9POworCisgICN1bmRlZiBP TkUKKyAgI2luY2x1ZGUgImluZm8tbWFjcm9zLmMiCisgIGZvbyA9IChjaGFy ICopMDsKKworICAjZGVmaW5lIEZPVVIgCisgICNpbmNsdWRlICJpbmZvLW1h Y3Jvcy5jIgorICBGT08gKCJ0aGUgZW5kLiIpOworCisgIHJldHVybiAwOwor fQorI2VuZGlmCisKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvaW5mby1tYWNyb3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9p bmZvLW1hY3Jvcy5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMTIyOTg5NQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvaW5mby1tYWNyb3MuZXhwCkBAIC0wLDAgKzEsMTg4IEBA CisjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCitzZXQgdGVzdGZpbGUgImluZm8t bWFjcm9zIiAgCitzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCitzZXQgYmlu ZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CitnZXRfY29t cGlsZXJfaW5mbyAke2JpbmZpbGV9CitpZiBbdGVzdF9jb21waWxlcl9pbmZv IGdjYypdIHsKKyAgICBsYXBwZW5kIG9wdGlvbnMgYWRkaXRpb25hbF9mbGFn cz0tZzMKK30gZWxzZSB7CisgIHJldHVybiAtMQorfQorCitpZiB7IFtwcmVw YXJlX2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSAk e3NyY2ZpbGV9ICRvcHRpb25zXSB9IHsKKyAgICByZXR1cm4gLTEKK30KKwor aWYgIVtydW50b19tYWluXSB7CisgICAgdW50ZXN0ZWQgJHt0ZXN0ZmlsZX0u ZXhwCisgICAgcmV0dXJuIC0xCit9CisKK3NldCB0ZXN0ICJpbmZvIGRlZmlu aXRpb25zIEZPTyIKK2dkYl90ZXN0ICIkdGVzdCIgIi4qI2RlZmluZSBGT08g XCJoZWxsb1wiLioiICJpbmZvIGRlZmluaXRpb25zIEZPTyAxIgorZ2RiX3Rl c3QgIiR0ZXN0IiAiLiojZGVmaW5lIEZPTyBcIiBcIi4qIiAiaW5mbyBkZWZp bml0aW9ucyBGT08gMiIKK2dkYl90ZXN0ICIkdGVzdCIgIi4qI2RlZmluZSBG T08gXCJ3b3JsZFwiLioiICJpbmZvIGRlZmluaXRpb25zIEZPTyAzIgorZ2Ri X3Rlc3QgIiR0ZXN0IiAiLiojZGVmaW5lIEZPT1xcKGFcXCkgZm9vID0gYS4q IiAiaW5mbyBkZWZpbml0aW9ucyBGT08gNCIKKworCitzZXQgdGVzdCAiaW5m byBtYWNyb3MiCitnZGJfdGVzdF9tdWx0aXBsZSAiJHRlc3QiICR0ZXN0IHsK KyAgLXJlICIuKiNkZWZpbmUgRk9PIFwiaGVsbG9cIi4qXHJcbiRnZGJfcHJv bXB0IiB7CisgICAgIHBhc3MgJHRlc3QKKyAgfQorICAtcmUgIi4qI2RlZmlu ZSBUV08uKlxyXG4kZ2RiX3Byb21wdCIgeworICAgICBmYWlsICR0ZXN0Cisg IH0KKyAgLXJlICIuKiNkZWZpbmUgVEhSRUUuKlxyXG4kZ2RiX3Byb21wdCIg eworICAgICBmYWlsICR0ZXN0CisgIH0KKyAgLXJlICIuKiNkZWZpbmUgRk9V Ui4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIGZhaWwgJHRlc3QKKyAgfQor fQorZ2RiX3Rlc3QgIiR0ZXN0IiAiLiojZGVmaW5lIE9ORS4qIiAiaW5mbyBt YWNyb3MgMS4xIgorZ2RiX3Rlc3QgIm5leHQiICIuKiIgIiIKKworZ2RiX3Rl c3RfbXVsdGlwbGUgIiR0ZXN0IiAkdGVzdCB7CisgIC1yZSAiLiojZGVmaW5l IEZPTyBcIiBcIi4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIHBhc3MgJHRl c3QKKyAgfQorICAtcmUgIi4qI2RlZmluZSBUSFJFRS4qXHJcbiRnZGJfcHJv bXB0IiB7CisgICAgIGZhaWwgJHRlc3QKKyAgfQorICAtcmUgIi4qI2RlZmlu ZSBGT1VSLipcclxuJGdkYl9wcm9tcHQiIHsKKyAgICAgZmFpbCAkdGVzdAor ICB9Cit9CitnZGJfdGVzdCAiJHRlc3QiICIuKiNkZWZpbmUgRk9PIFwiIFwi LioiICJpbmZvIG1hY3JvcyAyIgorZ2RiX3Rlc3QgIiR0ZXN0IiAiLiojZGVm aW5lIE9ORS4qIiAiaW5mbyBtYWNyb3MgMi4xIgorZ2RiX3Rlc3QgIiR0ZXN0 IiAiLiojZGVmaW5lIFRXTy4qIiAiaW5mbyBtYWNyb3MgMi4yIgorZ2RiX3Rl c3QgIm5leHQiICIuKiIgIiIKKworZ2RiX3Rlc3RfbXVsdGlwbGUgIiR0ZXN0 IiAkdGVzdCB7CisgIC1yZSAiLiojZGVmaW5lIEZPTyBcIndvcmxkXCIuKlxy XG4kZ2RiX3Byb21wdCIgeworICAgICBwYXNzICR0ZXN0CisgIH0KKyAgLXJl ICIuKiNkZWZpbmUgRk9VUi4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIGZh aWwgJHRlc3QKKyAgfQorfQorZ2RiX3Rlc3QgIiR0ZXN0IiAiLiojZGVmaW5l IE9ORS4qIiAiaW5mbyBtYWNyb3MgMy4xIgorZ2RiX3Rlc3QgIiR0ZXN0IiAi LiojZGVmaW5lIFRXTy4qIiAiaW5mbyBtYWNyb3MgMy4yIgorZ2RiX3Rlc3Qg IiR0ZXN0IiAiLiojZGVmaW5lIFRIUkVFLioiICJpbmZvIG1hY3JvcyAzLjMi CisKK3NldCB0ZXN0ICJpbmZvIG1hY3JvcyAqXCRwYyIKK2dkYl90ZXN0X211 bHRpcGxlICIkdGVzdCIgJHRlc3QgeworICAtcmUgIi4qI2RlZmluZSBGT08g XCJ3b3JsZFwiLipcclxuJGdkYl9wcm9tcHQiIHsKKyAgICAgcGFzcyAkdGVz dAorICB9CisgIC1yZSAiLiojZGVmaW5lIEZPVVIuKlxyXG4kZ2RiX3Byb21w dCIgeworICAgICBmYWlsICR0ZXN0CisgIH0KK30KK2dkYl90ZXN0ICIkdGVz dCIgIi4qI2RlZmluZSBPTkUuKiIgImluZm8gbWFjcm9zIDUuMSIKK2dkYl90 ZXN0ICIkdGVzdCIgIi4qI2RlZmluZSBUV08uKiIgImluZm8gbWFjcm9zIDUu MiIKK2dkYl90ZXN0ICIkdGVzdCIgIi4qI2RlZmluZSBUSFJFRS4qIiAiaW5m byBtYWNyb3MgNS4zIgorZ2RiX3Rlc3QgIm5leHQiICIuKiIgIiIKKworc2V0 IHRlc3QgImluZm8gbWFjcm9zIgorZ2RiX3Rlc3RfbXVsdGlwbGUgIiR0ZXN0 IiAkdGVzdCB7CisgIC1yZSAiLiojZGVmaW5lIEZPTyBcIiBcIi4qXHJcbiRn ZGJfcHJvbXB0IiB7CisgICAgIHBhc3MgJHRlc3QKKyAgfQorICAtcmUgIi4q I2RlZmluZSBUSFJFRS4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIGZhaWwg JHRlc3QKKyAgfQorICAtcmUgIi4qI2RlZmluZSBGT1VSLipcclxuJGdkYl9w cm9tcHQiIHsKKyAgICAgZmFpbCAkdGVzdAorICB9Cit9CitnZGJfdGVzdCAi JHRlc3QiICIuKiNkZWZpbmUgT05FLioiICJpbmZvIG1hY3JvcyA2LjEiCitn ZGJfdGVzdCAiJHRlc3QiICIuKiNkZWZpbmUgVFdPLioiICJpbmZvIG1hY3Jv cyA2LjIiCitnZGJfdGVzdCAibmV4dCIgIi4qIiAiIgorZ2RiX3Rlc3QgIm5l eHQiICIuKiIgIiIKKworZ2RiX3Rlc3RfbXVsdGlwbGUgIiR0ZXN0IiAkdGVz dC4wIHsKKyAgLXJlICIuKiNkZWZpbmUgRk9PIFwiIFwiLipcclxuJGdkYl9w cm9tcHQiIHsKKyAgICAgcGFzcyAkdGVzdC4wCisgIH0KKyAgLXJlICIuKiNk ZWZpbmUgRk9PIFwiaGVsbG9cIi4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAg IGZhaWwgJHRlc3QuMAorICB9CisgIC1yZSAiLiojZGVmaW5lIEZPTyBcIndv cmxkXCIuKlxyXG4kZ2RiX3Byb21wdCIgeworICAgICBmYWlsICR0ZXN0LjAK KyAgfQorICAtcmUgIi4qI2RlZmluZSBGT09cXChhXFwpIGZvbyA9IGEuKiIg eworICAgICBmYWlsICR0ZXN0LjAKKyAgfQorICAtcmUgIi4qI2RlZmluZSBP TkUuKlxyXG4kZ2RiX3Byb21wdCIgeworICAgICBmYWlsICR0ZXN0LjAKKyAg fQorICAtcmUgIi4qI2RlZmluZSBUV08uKlxyXG4kZ2RiX3Byb21wdCIgewor ICAgICBmYWlsICR0ZXN0LjAKKyAgfQorICAtcmUgIi4qI2RlZmluZSBUSFJF RS4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIGZhaWwgJHRlc3QuMAorICB9 CisgIC1yZSAiLiojZGVmaW5lIEZPVVIuKlxyXG4kZ2RiX3Byb21wdCIgewor ICAgICBmYWlsICR0ZXN0LjAKKyAgfQorICAtcmUgIi4qI2RlZmluZSBERUZf TUFDUk9TLipcclxuJGdkYl9wcm9tcHQiIHsKKyAgICAgcGFzcyAkdGVzdC4w CisgIH0KK30KKworZ2RiX3Rlc3QgIm5leHQiICIuKiIgIiIKK2dkYl90ZXN0 ICIkdGVzdCIgIi4qI2RlZmluZSBGT09cXChhXFwpIGZvbyA9IGEuKiIgImlu Zm8gbWFjcm9zIDcuMSIKK2dkYl90ZXN0X211bHRpcGxlICIkdGVzdCIgJHRl c3QuMCB7CisgIC1yZSAiLiojZGVmaW5lIEZPT1xcKGFcXCkgZm9vID0gYS4q IiB7CisgICAgIHBhc3MgJHRlc3QuMAorICB9CisgIC1yZSAiLiojZGVmaW5l IEZPTyBcIiBcIi4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIGZhaWwgJHRl c3QuMAorICB9CisgIC1yZSAiLiojZGVmaW5lIEZPTyBcImhlbGxvXCIuKlxy XG4kZ2RiX3Byb21wdCIgeworICAgICBmYWlsICR0ZXN0LjAKKyAgfQorICAt cmUgIi4qI2RlZmluZSBGT08gXCJ3b3JsZFwiLipcclxuJGdkYl9wcm9tcHQi IHsKKyAgICAgZmFpbCAkdGVzdC4wCisgIH0KKyAgLXJlICIuKiNkZWZpbmUg T05FLipcclxuJGdkYl9wcm9tcHQiIHsKKyAgICAgZmFpbCAkdGVzdC4wCisg IH0KKyAgLXJlICIuKiNkZWZpbmUgVFdPLipcclxuJGdkYl9wcm9tcHQiIHsK KyAgICAgZmFpbCAkdGVzdC4wCisgIH0KKyAgLXJlICIuKiNkZWZpbmUgVEhS RUUuKlxyXG4kZ2RiX3Byb21wdCIgeworICAgICBmYWlsICR0ZXN0LjAKKyAg fQorICAtcmUgIi4qI2RlZmluZSBGT1VSLipcclxuJGdkYl9wcm9tcHQiIHsK KyAgICAgZmFpbCAkdGVzdC4wCisgIH0KKyAgLXJlICIuKiNkZWZpbmUgREVG X01BQ1JPUy4qXHJcbiRnZGJfcHJvbXB0IiB7CisgICAgIHBhc3MgJHRlc3Qu MAorICB9Cit9CisKK3NldCB0ZXN0ICJpbmZvIG1hY3JvcyBpbmZvLW1hY3Jv cy5jOjQyIgorCitnZGJfdGVzdCAiJHRlc3QiICIuKmRlZmluZSBERUZfTUFD Uk9TLioiICIkdGVzdC4xIgorIyBpbmZvIG1hY3JvcyBvbiB0aGUgbGluZSB3 aGVyZSB0aGUgI2RlZmluZSBvciAjaW5jbHVkZSBpcworIyBmYWlscyB0byBm aW5kIHRoZSBtYWNybyBkZWZpbmVkICh0aG91Z2ggaXQgd29ya3Mgb24gdGhl IG5leHQgbGluZS4pCitzZXR1cF9rZmFpbCAiZ2RiL05OTk4iICotKi0qCitn ZGJfdGVzdCAiJHRlc3QiICIuKmRlZmluZSBPTkUuKiIgIiR0ZXN0LjIiCisK --20cf305b0de2d22c7804a866a079--