From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2702 invoked by alias); 21 Oct 2009 00:22:37 -0000 Received: (qmail 2691 invoked by uid 22791); 21 Oct 2009 00:22:35 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 21 Oct 2009 00:22:30 +0000 Received: from wpaz33.hot.corp.google.com (wpaz33.hot.corp.google.com [172.24.198.97]) by smtp-out.google.com with ESMTP id n9L0MRSB010824 for ; Tue, 20 Oct 2009 17:22:27 -0700 Received: from yxe8 (yxe8.prod.google.com [10.190.2.8]) by wpaz33.hot.corp.google.com with ESMTP id n9L0MPd4019139 for ; Tue, 20 Oct 2009 17:22:25 -0700 Received: by yxe8 with SMTP id 8so5840063yxe.17 for ; Tue, 20 Oct 2009 17:22:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.101.131.7 with SMTP id i7mr4544774ann.31.1256084545069; Tue, 20 Oct 2009 17:22:25 -0700 (PDT) In-Reply-To: References: <20091002004954.8966C76B2B@ppluzhnikov.mtv.corp.google.com> <8ac60eac0910080916i5a2eb49an5f21f3b5c7fb96ef@mail.gmail.com> <20091008162350.GA8625@caradoc.them.org> <8ac60eac0910080952p46f15693x6ed339473db0139d@mail.gmail.com> <8ac60eac0910161607k55fee22cs379c5b7635d7b6a@mail.gmail.com> <8ac60eac0910191109v62794c33g6712090912b5c11f@mail.gmail.com> Date: Wed, 21 Oct 2009 00:22:00 -0000 Message-ID: <8ac60eac0910201722m54d4a6b5i17725b61ddb0cd14@mail.gmail.com> Subject: Re: [RFC][patch] Allow to disassemble line. From: Paul Pluzhnikov To: Tom Tromey Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001636c5bdc01de42f047666f98f X-System-Of-Record: true 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: 2009-10/txt/msg00485.txt.bz2 --001636c5bdc01de42f047666f98f Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1047 On Mon, Oct 19, 2009 at 11:30 AM, Tom Tromey wrote: >>>>>> "Paul" == Paul Pluzhnikov writes: > > Paul> This patch still lacks documentation and test case updates. I'll work up > Paul> the complete patch if this one is OK. > > It looks reasonable to me. Here is updated patch with documentation and testsuite fixes. Thanks, -- Paul Pluzhnikov 2009-10-20 Paul Pluzhnikov * defs.h (pc_prefix): New prototype. * disasm.c (dump_insns): Mark current instruction. * printcmd.c (do_examine): Likewise. (pc_prefix): New function. * stack.c (print_frame_info): Disassemble entire current line. doc/ChangeLog 2009-10-20 Paul Pluzhnikov * gdb.texi (Machine Code): Mention current pc marker, update examples. (Memory): Likewise. testsuite/ChangeLog 2009-10-20 Paul Pluzhnikov * gdb.base/consecutive.exp: Adjust. * gdb.base/display.exp: Likewise. * gdb.base/pc-fp.exp: Likewise. * gdb.base/sigbpt.exp: Likewise. --001636c5bdc01de42f047666f98f Content-Type: text/plain; charset=US-ASCII; name="gdb-disas-20091020.txt" Content-Disposition: attachment; filename="gdb-disas-20091020.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g11c9qxb0 Content-length: 15616 SW5kZXg6IGRvYy9nZGIudGV4aW5mbwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2RvYy9nZGIudGV4aW5mbyx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS42MzQKZGlmZiAtdSAtcCAtdSAtcjEu NjM0IGdkYi50ZXhpbmZvCi0tLSBkb2MvZ2RiLnRleGluZm8JMTkgT2N0IDIw MDkgMDk6NTE6NDIgLTAwMDAJMS42MzQKKysrIGRvYy9nZGIudGV4aW5mbwky MSBPY3QgMjAwOSAwMDoxNDoxNyAtMDAwMApAQCAtNjUyNSw2ICs2NTI1LDkg QEAgcHJvZ3JhbSBjb3VudGVyIG9mIHRoZSBzZWxlY3RlZCBmcmFtZS4gIAog Y29tbWFuZCBpcyBhIHByb2dyYW0gY291bnRlciB2YWx1ZTsgQHZhbHVle0dE Qk59IGR1bXBzIHRoZSBmdW5jdGlvbgogc3Vycm91bmRpbmcgdGhpcyB2YWx1 ZS4gIFR3byBhcmd1bWVudHMgc3BlY2lmeSBhIHJhbmdlIG9mIGFkZHJlc3Nl cwogKGZpcnN0IGluY2x1c2l2ZSwgc2Vjb25kIGV4Y2x1c2l2ZSkgdG8gZHVt cC4KKworSWYgdGhlIHJhbmdlIG9mIG1lbW9yeSBiZWluZyBkaXNhc3NlbWJs ZWQgY29udGFpbnMgY3VycmVudCBwcm9ncmFtIGNvdW50ZXIsCit0aGUgaW5z dHJ1Y3Rpb24gYXQgdGhhdCBsb2NhdGlvbiBpcyBzaG93biB3aXRoIGEgQGNv ZGV7PT59IG1hcmtlci4KIEBlbmQgdGFibGUKIAogVGhlIGZvbGxvd2luZyBl eGFtcGxlIHNob3dzIHRoZSBkaXNhc3NlbWJseSBvZiBhIHJhbmdlIG9mIGFk ZHJlc3NlcyBvZgpAQCAtNjUzMywzOCArNjUzNiwzOSBAQCBIUCBQQS1SSVND IDIuMCBjb2RlOgogQHNtYWxsZXhhbXBsZQogKEB2YWx1ZXtHREJQfSkgZGlz YXMgMHgzMmM0IDB4MzJlNAogRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmcm9t IDB4MzJjNCB0byAweDMyZTQ6Ci0weDMyYzQgPG1haW4rMjA0PjogICAgICBh ZGRpbCAwLGRwCi0weDMyYzggPG1haW4rMjA4PjogICAgICBsZHcgMHgyMmMo c3IwLHIxKSxyMjYKLTB4MzJjYyA8bWFpbisyMTI+OiAgICAgIGxkaWwgMHgz MDAwLHIzMQotMHgzMmQwIDxtYWluKzIxNj46ICAgICAgYmxlIDB4M2Y4KHNy NCxyMzEpCi0weDMyZDQgPG1haW4rMjIwPjogICAgICBsZG8gMChyMzEpLHJw Ci0weDMyZDggPG1haW4rMjI0PjogICAgICBhZGRpbCAtMHg4MDAsZHAKLTB4 MzJkYyA8bWFpbisyMjg+OiAgICAgIGxkbyAweDU4OChyMSkscjI2Ci0weDMy ZTAgPG1haW4rMjMyPjogICAgICBsZGlsIDB4MzAwMCxyMzEKKyAgIDB4MzJj NCA8bWFpbisyMDQ+OiAgICAgIGFkZGlsIDAsZHAKKyAgIDB4MzJjOCA8bWFp bisyMDg+OiAgICAgIGxkdyAweDIyYyhzcjAscjEpLHIyNgorICAgMHgzMmNj IDxtYWluKzIxMj46ICAgICAgbGRpbCAweDMwMDAscjMxCisgICAweDMyZDAg PG1haW4rMjE2PjogICAgICBibGUgMHgzZjgoc3I0LHIzMSkKKyAgIDB4MzJk NCA8bWFpbisyMjA+OiAgICAgIGxkbyAwKHIzMSkscnAKKyAgIDB4MzJkOCA8 bWFpbisyMjQ+OiAgICAgIGFkZGlsIC0weDgwMCxkcAorICAgMHgzMmRjIDxt YWluKzIyOD46ICAgICAgbGRvIDB4NTg4KHIxKSxyMjYKKyAgIDB4MzJlMCA8 bWFpbisyMzI+OiAgICAgIGxkaWwgMHgzMDAwLHIzMQogRW5kIG9mIGFzc2Vt YmxlciBkdW1wLgogQGVuZCBzbWFsbGV4YW1wbGUKIAotSGVyZSBpcyBhbiBl eGFtcGxlIHNob3dpbmcgbWl4ZWQgc291cmNlK2Fzc2VtYmx5IGZvciBJbnRl bCB4ODY6CitIZXJlIGlzIGFuIGV4YW1wbGUgc2hvd2luZyBtaXhlZCBzb3Vy Y2UrYXNzZW1ibHkgZm9yIEludGVsIHg4Niwgd2hlbiB0aGUKK3Byb2dyYW0g aXMgc3RvcHBlZCBqdXN0IGFmdGVyIGZ1bmN0aW9uIHByb2xvZ3VlOgogCiBA c21hbGxleGFtcGxlCiAoQHZhbHVle0dEQlB9KSBkaXNhcyAvbSBtYWluCiBE dW1wIG9mIGFzc2VtYmxlciBjb2RlIGZvciBmdW5jdGlvbiBtYWluOgogNSAg ICAgICBAewotMHgwODA0ODMzMCA8bWFpbiswPjogICAgcHVzaCAgICVlYnAK LTB4MDgwNDgzMzEgPG1haW4rMT46ICAgIG1vdiAgICAlZXNwLCVlYnAKLTB4 MDgwNDgzMzMgPG1haW4rMz46ICAgIHN1YiAgICAkMHg4LCVlc3AKLTB4MDgw NDgzMzYgPG1haW4rNj46ICAgIGFuZCAgICAkMHhmZmZmZmZmMCwlZXNwCi0w eDA4MDQ4MzM5IDxtYWluKzk+OiAgICBzdWIgICAgJDB4MTAsJWVzcAorICAg MHgwODA0ODMzMCA8bWFpbiswPjogICAgcHVzaCAgICVlYnAKKyAgIDB4MDgw NDgzMzEgPG1haW4rMT46ICAgIG1vdiAgICAlZXNwLCVlYnAKKyAgIDB4MDgw NDgzMzMgPG1haW4rMz46ICAgIHN1YiAgICAkMHg4LCVlc3AKKyAgIDB4MDgw NDgzMzYgPG1haW4rNj46ICAgIGFuZCAgICAkMHhmZmZmZmZmMCwlZXNwCisg ICAweDA4MDQ4MzM5IDxtYWluKzk+OiAgICBzdWIgICAgJDB4MTAsJWVzcAog CiA2ICAgICAgICAgcHJpbnRmICgiSGVsbG8uXG4iKTsKLTB4MDgwNDgzM2Mg PG1haW4rMTI+OiAgIG1vdmwgICAkMHg4MDQ4NDQwLCglZXNwKQotMHgwODA0 ODM0MyA8bWFpbisxOT46ICAgY2FsbCAgIDB4ODA0ODI4NCA8cHV0c0BAcGx0 PgorPT4gMHgwODA0ODMzYyA8bWFpbisxMj46ICAgbW92bCAgICQweDgwNDg0 NDAsKCVlc3ApCisgICAweDA4MDQ4MzQzIDxtYWluKzE5PjogICBjYWxsICAg MHg4MDQ4Mjg0IDxwdXRzQEBwbHQ+CiAKIDcgICAgICAgICByZXR1cm4gMDsK IDggICAgICAgQH0KLTB4MDgwNDgzNDggPG1haW4rMjQ+OiAgIG1vdiAgICAk MHgwLCVlYXgKLTB4MDgwNDgzNGQgPG1haW4rMjk+OiAgIGxlYXZlCi0weDA4 MDQ4MzRlIDxtYWluKzMwPjogICByZXQKKyAgIDB4MDgwNDgzNDggPG1haW4r MjQ+OiAgIG1vdiAgICAkMHgwLCVlYXgKKyAgIDB4MDgwNDgzNGQgPG1haW4r Mjk+OiAgIGxlYXZlCisgICAweDA4MDQ4MzRlIDxtYWluKzMwPjogICByZXQK IAogRW5kIG9mIGFzc2VtYmxlciBkdW1wLgogQGVuZCBzbWFsbGV4YW1wbGUK QEAgLTcyNDQsNiArNzI0OCwxOCBAQCB3aXRoIGp1c3QgQHNhbXB7eC83fS4g IElmIHlvdSB1c2UgQGtleXtSCiB0aGUgcmVwZWF0IGNvdW50IEB2YXJ7bn0g aXMgdXNlZCBhZ2FpbjsgdGhlIG90aGVyIGFyZ3VtZW50cyBkZWZhdWx0IGFz CiBmb3Igc3VjY2Vzc2l2ZSB1c2VzIG9mIEBjb2Rle3h9LgogCitXaGVuIGV4 YW1pbmluZyBtYWNoaW5lIGluc3RydWN0aW9ucywgaW5zdHJ1Y3Rpb24gYXQg Y3VycmVudCBwcm9ncmFtIGNvdW50ZXIKK2lzIHNob3duIHdpdGggYSBAY29k ZXs9Pn0gbWFya2VyLiBGb3IgZXhhbXBsZToKKworQHNtYWxsZXhhbXBsZQor KEB2YWx1ZXtHREJQfSkgeC81aSAkcGMtNgorICAgMHg4MDQ4MzdmIDxtYWlu KzExPjogbW92ICAgICVlc3AsJWVicAorICAgMHg4MDQ4MzgxIDxtYWluKzEz PjogcHVzaCAgICVlY3gKKyAgIDB4ODA0ODM4MiA8bWFpbisxND46IHN1YiAg ICAkMHg0LCVlc3AKKz0+IDB4ODA0ODM4NSA8bWFpbisxNz46IG1vdmwgICAk MHg4MDQ4NDYwLCglZXNwKQorICAgMHg4MDQ4MzhjIDxtYWluKzI0PjogY2Fs bCAgIDB4ODA0ODJkNCA8cHV0c0BAcGx0PgorQGVuZCBzbWFsbGV4YW1wbGUK KwogQGNpbmRleCBAY29kZXskX30sIEBjb2RleyRfX30sIGFuZCB2YWx1ZSBo aXN0b3J5CiBUaGUgYWRkcmVzc2VzIGFuZCBjb250ZW50cyBwcmludGVkIGJ5 IHRoZSBAY29kZXt4fSBjb21tYW5kIGFyZSBub3Qgc2F2ZWQKIGluIHRoZSB2 YWx1ZSBoaXN0b3J5IGJlY2F1c2UgdGhlcmUgaXMgb2Z0ZW4gdG9vIG11Y2gg b2YgdGhlbSBhbmQgdGhleQpJbmRleDogZGVmcy5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvZGVmcy5oLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjI1NgpkaWZmIC11IC1wIC11IC1yMS4y NTYgZGVmcy5oCi0tLSBkZWZzLmgJMTkgT2N0IDIwMDkgMDk6NTE6NDAgLTAw MDAJMS4yNTYKKysrIGRlZnMuaAkyMSBPY3QgMjAwOSAwMDoxNDoxNyAtMDAw MApAQCAtNjA4LDYgKzYwOCw3IEBAIGV4dGVybiBpbnQgYnVpbGRfYWRkcmVz c19zeW1ib2xpYyAoQ09SRV8KIAkJCQkgICBpbnQgKnVubWFwcGVkKTsKIAog ZXh0ZXJuIHZvaWQgcHJpbnRfYWRkcmVzcyAoc3RydWN0IGdkYmFyY2ggKiwg Q09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqKTsKK2V4dGVybiBjb25zdCBj aGFyICpwY19wcmVmaXggKENPUkVfQUREUik7CiAKIC8qIEZyb20gc291cmNl LmMgKi8KIApJbmRleDogZGlzYXNtLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9kaXNhc20uYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4zMwpkaWZmIC11IC1wIC11IC1yMS4zMyBkaXNh c20uYwotLS0gZGlzYXNtLmMJMTEgSnVsIDIwMDkgMTQ6MDQ6MjMgLTAwMDAJ MS4zMworKysgZGlzYXNtLmMJMjEgT2N0IDIwMDkgMDA6MTQ6MTcgLTAwMDAK QEAgLTExMyw2ICsxMTMsNyBAQCBkdW1wX2luc25zIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RyCiAJICAgIG51bV9kaXNwbGF5ZWQrKzsKIAl9CiAg ICAgICB1aV9vdXRfY2hhaW4gPSBtYWtlX2NsZWFudXBfdWlfb3V0X3R1cGxl X2JlZ2luX2VuZCAodWlvdXQsIE5VTEwpOworICAgICAgdWlfb3V0X3RleHQg KHVpb3V0LCBwY19wcmVmaXggKHBjKSk7CiAgICAgICB1aV9vdXRfZmllbGRf Y29yZV9hZGRyICh1aW91dCwgImFkZHJlc3MiLCBnZGJhcmNoLCBwYyk7CiAK ICAgICAgIGlmICghYnVpbGRfYWRkcmVzc19zeW1ib2xpYyAocGMsIDAsICZu YW1lLCAmb2Zmc2V0LCAmZmlsZW5hbWUsCkluZGV4OiBwcmludGNtZC5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvcHJpbnRjbWQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNjUKZGlm ZiAtdSAtcCAtdSAtcjEuMTY1IHByaW50Y21kLmMKLS0tIHByaW50Y21kLmMJ MTkgT2N0IDIwMDkgMDk6NTE6NDEgLTAwMDAJMS4xNjUKKysrIHByaW50Y21k LmMJMjEgT2N0IDIwMDkgMDA6MTQ6MTcgLTAwMDAKQEAgLTcyNSw2ICs3MjUs MjYgQEAgcHJpbnRfYWRkcmVzcyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CiAgIHByaW50X2FkZHJlc3Nfc3ltYm9saWMgKGFkZHIsIHN0cmVhbSwgYXNt X2RlbWFuZ2xlLCAiICIpOwogfQogCisvKiBSZXR1cm4gYSBwcmVmaXggZm9y IGluc3RydWN0aW9uIGFkZHJlc3M6CisgICAiPT4gIiBmb3IgY3VycmVudCBp bnN0cnVjdGlvbiwgZWxzZSAiICAgIi4gICovCisKK2NvbnN0IGNoYXIgKgor cGNfcHJlZml4IChDT1JFX0FERFIgYWRkcikKK3sKKyAgaWYgKGhhc19zdGFj a19mcmFtZXMgKCkpCisgICAgeworICAgICAgc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lOworICAgICAgQ09SRV9BRERSIHBjOworCisgICAgICBmcmFtZSA9 IGdldF9zZWxlY3RlZF9mcmFtZSAoTlVMTCk7CisgICAgICBwYyA9IGdldF9m cmFtZV9wYyAoZnJhbWUpOworCisgICAgICBpZiAocGMgPT0gYWRkcikKKwly ZXR1cm4gIj0+ICI7CisgICAgfQorICByZXR1cm4gIiAgICI7Cit9CisKIC8q IFByaW50IGFkZHJlc3MgQUREUiBzeW1ib2xpY2FsbHkgb24gU1RSRUFNLiAg UGFyYW1ldGVyIERFTUFOR0xFCiAgICBjb250cm9scyB3aGV0aGVyIHRvIHBy aW50IHRoZSBzeW1ib2xpYyBuYW1lICJyYXciIG9yIGRlbWFuZ2xlZC4KICAg IEdsb2JhbCBzZXR0aW5nICJhZGRyZXNzcHJpbnQiIGNvbnRyb2xzIHdoZXRo ZXIgdG8gcHJpbnQgaGV4IGFkZHJlc3MKQEAgLTgxNyw2ICs4MzcsOCBAQCBk b19leGFtaW5lIChzdHJ1Y3QgZm9ybWF0X2RhdGEgZm10LCBzdHJ1CiAgIHdo aWxlIChjb3VudCA+IDApCiAgICAgewogICAgICAgUVVJVDsKKyAgICAgIGlm IChmb3JtYXQgPT0gJ2knKQorCWZwdXRzX2ZpbHRlcmVkIChwY19wcmVmaXgg KG5leHRfYWRkcmVzcyksIGdkYl9zdGRvdXQpOwogICAgICAgcHJpbnRfYWRk cmVzcyAobmV4dF9nZGJhcmNoLCBuZXh0X2FkZHJlc3MsIGdkYl9zdGRvdXQp OwogICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiOiIpOwogICAgICAgZm9yIChp ID0gbWF4ZWx0czsKSW5kZXg6IHN0YWNrLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9zdGFjay5jLHYKcmV0 cmlldmluZyByZXZpc2lvbiAxLjIwOApkaWZmIC11IC1wIC11IC1yMS4yMDgg c3RhY2suYwotLS0gc3RhY2suYwkxOSBPY3QgMjAwOSAwOTo1MTo0MiAtMDAw MAkxLjIwOAorKysgc3RhY2suYwkyMSBPY3QgMjAwOSAwMDoxNDoxNyAtMDAw MApAQCAtNjQzLDggKzY0Myw3IEBAIHByaW50X2ZyYW1lX2luZm8gKHN0cnVj dCBmcmFtZV9pbmZvICpmcmEKICAgICAgIC8qIElmIGRpc2Fzc2VtYmxlLW5l eHQtbGluZSBpcyBzZXQgdG8gb24gYW5kIHRoZXJlIGlzIGxpbmUgZGVidWcK ICAgICAgICAgIG1lc3NhZ2VzLCBvdXRwdXQgYXNzZW1ibHkgY29kZXMgZm9y IG5leHQgbGluZS4gICovCiAgICAgICBpZiAoZGlzYXNzZW1ibGVfbmV4dF9s aW5lID09IEFVVE9fQk9PTEVBTl9UUlVFKQotCWRvX2dkYl9kaXNhc3NlbWJs eSAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSwgLTEsCi0JCQkgICAgZ2V0X2Zy YW1lX3BjIChmcmFtZSksIHNhbC5lbmQpOworCWRvX2dkYl9kaXNhc3NlbWJs eSAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSwgLTEsIHNhbC5wYywgc2FsLmVu ZCk7CiAgICAgfQogCiAgIGlmIChwcmludF93aGF0ICE9IExPQ0FUSU9OKQpJ bmRleDogdGVzdHN1aXRlL2dkYi5iYXNlL2NvbnNlY3V0aXZlLmV4cAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb25zZWN1dGl2ZS5leHAsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC1wIC11IC1yMS45IGNvbnNlY3V0 aXZlLmV4cAotLS0gdGVzdHN1aXRlL2dkYi5iYXNlL2NvbnNlY3V0aXZlLmV4 cAkzIEphbiAyMDA5IDA1OjU4OjAzIC0wMDAwCTEuOQorKysgdGVzdHN1aXRl L2dkYi5iYXNlL2NvbnNlY3V0aXZlLmV4cAkyMSBPY3QgMjAwOSAwMDoxNDox NyAtMDAwMApAQCAtNjQsNyArNjQsNyBAQCBzZXQgc3RvcF9hZGRyIDAKIAog c2VuZF9nZGIgInggLzJpIFwkcGNcbiIKIGdkYl9leHBlY3QgewotICAgIC1y ZSAiJGhleC4qJHtubH0oJGhleCkuKiRnZGJfcHJvbXB0ICQiIHsKKyAgICAt cmUgIj0+ICRoZXguKiR7bmx9ICAgKCRoZXgpLiokZ2RiX3Byb21wdCAkIiB7 CiAJc2V0IGJwX2FkZHIgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCiAJcGFzcyAi Z2V0IGJyZWFrcG9pbnQgYWRkcmVzcyBmb3IgZm9vIgogICAgIH0KSW5kZXg6 IHRlc3RzdWl0ZS9nZGIuYmFzZS9kaXNwbGF5LmV4cAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9kaXNwbGF5LmV4cCx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS4xOApkaWZmIC11IC1wIC11IC1yMS4xOCBkaXNwbGF5LmV4cAotLS0gdGVz dHN1aXRlL2dkYi5iYXNlL2Rpc3BsYXkuZXhwCTI4IE1heSAyMDA5IDAxOjA1 OjE0IC0wMDAwCTEuMTgKKysrIHRlc3RzdWl0ZS9nZGIuYmFzZS9kaXNwbGF5 LmV4cAkyMSBPY3QgMjAwOSAwMDoxNDoxNyAtMDAwMApAQCAtOTEsNyArOTEs NyBAQCBnZGJfdGVzdCAiYnJlYWsgMTkiICAgICAiLipCcmVha3BvaW50IDQu CiBnZGJfdGVzdCAiaW5mbyBkaXNwIiAiLipUaGVyZSBhcmUgbm8gYXV0by1k aXNwbGF5IGV4cHJlc3Npb25zIG5vdy4uKiIgImluZiBkaXNwIgogZ2RiX3Rl c3QgImRpc3AgaSIgIi4qMTogaSA9IDAuKiIgImRpc3BsYXkgaSIKIGdkYl90 ZXN0ICJkaXNwL3ggaiIgIi4qMjogL3ggaiA9IDB4MC4qIiAiZGlzcGxheSBq IgotZ2RiX3Rlc3QgImRpc3AvaSAmayIgIi4qMzogeC9pICZrKFxyXG58ICAp JGhleDouKiIgImRpc3BsYXkgJmsiCitnZGJfdGVzdCAiZGlzcC9pICZrIiAi LiozOiB4L2kgJmsoXHJcbnwgICkgICAkaGV4Oi4qIiAiZGlzcGxheSAmayIK IGdkYl90ZXN0ICJkaXNwL2YgZiIgIi4qNDogL2YgZiA9IDMuMTQxNSoiICJk aXNwbGF5L2YgZiIKIGdkYl90ZXN0ICJkaXNwL3MgJnN1bSIgIi4qNTogeC9z ICZzdW0gICRoZXguKnN1bS46LioiICJkaXNwbGF5L3MgJnN1bSIKIApJbmRl eDogdGVzdHN1aXRlL2dkYi5iYXNlL3BjLWZwLmV4cAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9wYy1mcC5leHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MTIKZGlmZiAtdSAtcCAtdSAtcjEuMTIgcGMtZnAuZXhwCi0tLSB0ZXN0c3Vp dGUvZ2RiLmJhc2UvcGMtZnAuZXhwCTE0IEZlYiAyMDA5IDAwOjI3OjU2IC0w MDAwCTEuMTIKKysrIHRlc3RzdWl0ZS9nZGIuYmFzZS9wYy1mcC5leHAJMjEg T2N0IDIwMDkgMDA6MTQ6MTcgLTAwMDAKQEAgLTYzLDcgKzYzLDcgQEAgc2V0 IHZhbHVlb2ZfZnAgW2dldF9oZXhhZGVjaW1hbF92YWx1ZW9mIAogIyBkaXNw bGF5IHNpbmNlIHRoYXQgZW5jb2RlcyBhbmQgdGhlbiBkZWNvZGVzIHRoZSBl eHByZXNzaW9uIHBhcmFtZXRlcgogIyAoYW5kIGhlbmNlIHVzZXMgdGhlIG1l Y2hhbmlzbXMgd2UncmUgdHJ5aW5nIHRvIHRlc3QpLgogCi1nZGJfdGVzdCAi ZGlzcGxheS9pIFwkcGMiICIxOiB4L2kgK1xcXCRwYyggK3xcclxuKSR7dmFs dWVvZl9wY30uKiIKK2dkYl90ZXN0ICJkaXNwbGF5L2kgXCRwYyIgIjE6IHgv aSArXFxcJHBjKCArfFxyXG4pPT4gJHt2YWx1ZW9mX3BjfS4qIgogZ2RiX3Rl c3QgImRpc3BsYXkvdyBcJGZwIiAiMjogeC94dyArXFxcJGZwICske3ZhbHVl b2ZfZnB9LioiCiAKICMgRklYTUU6IGNhZ25leS8yMDAyLTA5LTA0OiBTaG91 bGQgYWxzbyBjaGVjayB0aGF0IGBgaW5mbyByZWdpc3RlcnMKSW5kZXg6IHRl c3RzdWl0ZS9nZGIuYmFzZS9zaWdicHQuZXhwCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3NpZ2JwdC5leHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTUK ZGlmZiAtdSAtcCAtdSAtcjEuMTUgc2lnYnB0LmV4cAotLS0gdGVzdHN1aXRl L2dkYi5iYXNlL3NpZ2JwdC5leHAJNSBGZWIgMjAwOSAxMzo1OToxOCAtMDAw MAkxLjE1CisrKyB0ZXN0c3VpdGUvZ2RiLmJhc2Uvc2lnYnB0LmV4cAkyMSBP Y3QgMjAwOSAwMDoxNDoxNyAtMDAwMApAQCAtOTMsMTIgKzkzLDEyIEBAIGdk Yl90ZXN0ICJhZHZhbmNlICpib3dsZXIiICJib3dsZXIuKiIgImEKIHNldCB0 ZXN0ICJzdGVwcGluZyB0byBmYXVsdCIKIHNldCBzaWduYW1lICJTSUdTRUdW IgogZ2RiX3Rlc3RfbXVsdGlwbGUgInN0ZXBpIiAiJHRlc3QiIHsKLSAgICAt cmUgIlByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIChTSUdCVVN8U0lHU0VHViku KnBjKFxyXG58ICopICooMHhcWzAtOWEtZlxdKikuKiRnZGJfcHJvbXB0ICQi IHsKKyAgICAtcmUgIlByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIChTSUdCVVN8 U0lHU0VHVikuKnBjKFxyXG58ICopICo9PiAoMHhcWzAtOWEtZlxdKikuKiRn ZGJfcHJvbXB0ICQiIHsKIAlzZXQgc2lnbmFtZSAkZXhwZWN0X291dCgxLHN0 cmluZykKIAlzZXQgc2Vndl9hZGRyICRleHBlY3Rfb3V0KDMsc3RyaW5nKQog CXBhc3MgIiR0ZXN0IgogICAgIH0KLSAgICAtcmUgIiAuKnBjKFxyXG58ICop KDB4XFswLTlhLWZcXSopLipib3dsZXIuKiRnZGJfcHJvbXB0ICQiIHsKKyAg ICAtcmUgIiAuKnBjKFxyXG58ICopPT4gKDB4XFswLTlhLWZcXSopLipib3ds ZXIuKiRnZGJfcHJvbXB0ICQiIHsKIAlzZXQgYm93bGVyX2FkZHJzIFtjb25j YXQgJGV4cGVjdF9vdXQoMixzdHJpbmcpICRib3dsZXJfYWRkcnNdCiAJc2Vu ZF9nZGIgInN0ZXBpXG4iCiAJZXhwX2NvbnRpbnVlCkBAIC0xMTAsNyArMTEw LDcgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgInN0ZXBpIiAiJHRlc3QiIHsKIAog c2V0IHRlc3QgImdldCBpbnNuIGFmdGVyIGZhdWx0IgogZ2RiX3Rlc3RfbXVs dGlwbGUge3gvMmkgJHBjfSAiJHRlc3QiIHsKLSAgICAtcmUgIigweFxbMC05 YS1mXF0qKS4qYm93bGVyLiooMHhcWzAtOWEtZlxdKikuKmJvd2xlci4qJGdk Yl9wcm9tcHQgJCIgeworICAgIC1yZSAiPT4gKDB4XFswLTlhLWZcXSopLipi b3dsZXIuKigweFxbMC05YS1mXF0qKS4qYm93bGVyLiokZ2RiX3Byb21wdCAk IiB7CiAJc2V0IGJvd2xlcl9hZGRycyBbY29uY2F0ICRleHBlY3Rfb3V0KDIs c3RyaW5nKSAkYm93bGVyX2FkZHJzXQogCXBhc3MgIiR0ZXN0IgogICAgIH0K QEAgLTE5OSw3ICsxOTksNyBAQCBwcm9jIHN0ZXBpX291dCB7IG5hbWUgYXJn cyB9IHsKIAktcmUgInBjKFxyXG58ICopW2FmdGVyX3NlZ3ZdIC4qYm93bGVy LiokZ2RiX3Byb21wdCAkIiB7CiAJICAgIGtmYWlsIGdkYi8xNzAyICIkdGVz dCAoc2tpcHBlZCBmYXVsdCBpbnNuKSIKIAl9Ci0JLXJlICJwYyhcclxufCAq KTB4XFthLXowLTlcXSogLipib3dsZXIuKiRnZGJfcHJvbXB0ICQiIHsKKwkt cmUgInBjKFxyXG58ICopPT4gMHhcW2EtejAtOVxdKiAuKmJvd2xlci4qJGdk Yl9wcm9tcHQgJCIgewogCSAgICBrZmFpbCBnZGIvMTcwMiAiJHRlc3QgKGNv cnJ1cHQgcGMpIgogCX0KICAgICB9CkBAIC0yNDQsMTIgKzI0NCwxMiBAQCBw cm9jIGNvbnRfb3V0IHsgbmFtZSBhcmdzIH0gewogICAgICMgaW5zZXJ0ZWQg YXQgdGhlIGZhdWx0aW5nIGluc3RydWN0aW9uLiAgTm90ZSB0aGF0IHRoZSBi cmVha3BvaW50CiAgICAgIyBpbnN0cnVjdGlvbiB3YXNuJ3QgZXhlY3V0ZWQs IHJhdGhlciB0aGUgaW5mZXJpb3Igd2FzIFNJR1RSQVBlZAogICAgICMgd2l0 aCB0aGUgUEMgYXQgdGhlIGJyZWFrcG9pbnQuCi0gICAgZ2RiX3Rlc3QgImNv bnRpbnVlIiAiQnJlYWtwb2ludC4qcGMoXHJcbnwgKilbYXRfc2Vndl0gLioi IFwKKyAgICBnZGJfdGVzdCAiY29udGludWUiICJCcmVha3BvaW50LipwYyhc clxufCAqKT0+IFthdF9zZWd2XSAuKiIgXAogCSIke25hbWV9OyBjb250aW51 ZSB0byBicmVha3BvaW50IGF0IGZhdWx0IgogCiAgICAgIyBOb3cgc2luZ2xl IHN0ZXAgdGhlIGZhdWx0ZWQgaW5zdHJjdGlvbiBhdCB0aGF0IGJyZWFrcG9p bnQuCiAgICAgZ2RiX3Rlc3QgInN0ZXBpIiBcCi0JIlByb2dyYW0gcmVjZWl2 ZWQgc2lnbmFsICR7c2lnbmFtZX0uKnBjKFxyXG58ICopW2F0X3NlZ3ZdIC4q IiBcCisJIlByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsICR7c2lnbmFtZX0uKnBj KFxyXG58ICopPT4gW2F0X3NlZ3ZdIC4qIiBcCiAJIiR7bmFtZX07IHN0ZXBp IGZhdWx0IiAgICAKIAogICAgICMgQ2xlYXIgYW55IGJyZWFrcG9pbnRzCg== --001636c5bdc01de42f047666f98f--