From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4654 invoked by alias); 9 Apr 2013 09:01:09 -0000 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 Received: (qmail 4645 invoked by uid 89); 9 Apr 2013 09:01:09 -0000 X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_DB,TW_FW autolearn=ham version=3.3.1 Received: from mail-ob0-f180.google.com (HELO mail-ob0-f180.google.com) (209.85.214.180) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 09 Apr 2013 09:01:07 +0000 Received: by mail-ob0-f180.google.com with SMTP id un3so2525136obb.11 for ; Tue, 09 Apr 2013 02:01:06 -0700 (PDT) X-Received: by 10.182.103.225 with SMTP id fz1mr300071obb.53.1365498066157; Tue, 09 Apr 2013 02:01:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.60.13.133 with HTTP; Tue, 9 Apr 2013 02:00:26 -0700 (PDT) In-Reply-To: <5162D6A9.2070706@redhat.com> References: <514BF736.3070706@mentor.com> <514C3C85.4000704@codesourcery.com> <514EEBFF.8090705@redhat.com> <5154378D.60302@redhat.com> <515B1DF7.3090705@redhat.com> <515EF6A3.2080704@redhat.com> <5162D6A9.2070706@redhat.com> From: Hui Zhu Date: Tue, 09 Apr 2013 15:28:00 -0000 Message-ID: Subject: Re: [PATCH] Fix dprintf work not right if it is pending To: Pedro Alves Cc: Keith Seitz , Hui Zhu , gdb-patches ml Content-Type: multipart/mixed; boundary=089e013a010a2cc7cd04d9e9cbed X-Virus-Found: No X-SW-Source: 2013-04/txt/msg00216.txt.bz2 --089e013a010a2cc7cd04d9e9cbed Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2323 Hi Pedro, Thanks for your review. On Mon, Apr 8, 2013 at 10:39 PM, Pedro Alves wrote: > Hi Hui, > > Getting there. > > On 04/08/2013 08:19 AM, Hui Zhu wrote: >> + /* 1 - connect to target 1, that can run breakpoint commands. >> + 2 - create a dprintf, which resolves fine. >> + 3 - disconnect from target 2 > > This should have been "from target 1". Fixed. > >> + 4 - connect to target 2, that can NOT run breakpoint commands. > > > >> +load_lib gdbserver-support.exp >> + > > You're not calling gdbserver directly anymore, so this is no > longer necessary. Fixed. > > >> +set testfile "dprintf-pending" >> +set libfile "dprintf-pendshr" >> +set srcfile $testfile.c >> +set libsrc $srcdir/$subdir/$libfile.c >> +set binfile $objdir/$subdir/$testfile >> +set lib_sl $objdir/$subdir/$libfile.sl > > Please use standard_testfile/standard_output_file. Fixed. > > > Instead of these explicit "(without ...)": > >> + "set pending dprintf (without format)" \ > ... >> + "set pending dprintf (without symbols)" \ > ... >> +"single pending dprintf info (without symbols)" > ... >> +gdb_test "" ".*x=3.*x=4.*x=3.*" "run to resolved dprintf (without symbols)" > > Please use with_test_prefix, like > > with_test_prefix "without format" { > ... group all "without format" bits here, including test setup ... > } > > with_test_prefix "without symbols" { > ... group all "without symbols" bits here ... > } > Fixed. > >> +gdb_test "file ${binfile}" ".*Error in re-setting breakpoint.*" "load symbols get without format error" > > "load symbols get without format error" is not very correct English > and I find it hard to grok. I suggest instead "resolved dprintf fails to > be re-set". No need to mention "without format" here, as that will be > covered by with_test_prefix. > Fixed. > -- > Pedro Alves > Post a new version according to your comments. Best, Hui 2013-04-07 Pedro Alves Hui Zhu * breakpoint.c (dprintf_re_set): New. (initialize_breakpoint_ops): Set dprintf_breakpoint_ops re_set to dprintf_re_set. 2013-04-07 Hui Zhu * gdb.base/Makefile.in (EXECUTABLES): Add dprintf-pending. (MISCELLANEOUS): Add dprintf-pendshr.sl. * gdb.base/dprintf-pending.c, gdb.base/dprintf-pending.exp: New. --089e013a010a2cc7cd04d9e9cbed Content-Type: text/plain; charset=US-ASCII; name="dprintf-pending.txt" Content-Disposition: attachment; filename="dprintf-pending.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfau8q3m0 Content-length: 2196 LS0tIGEvZ2RiL2JyZWFrcG9pbnQuYworKysgYi9nZGIvYnJlYWtwb2ludC5j CkBAIC0xMjk2Myw2ICsxMjk2MywzNSBAQCBia3B0X3JlX3NldCAoc3RydWN0 IGJyZWFrcG9pbnQgKmIpCiAgIGJyZWFrcG9pbnRfcmVfc2V0X2RlZmF1bHQg KGIpOwogfQogCisvKiBEcHJpbnRmIGJyZWFrcG9pbnRfb3BzIG1ldGhvZHMu ICAqLworCitzdGF0aWMgdm9pZAorZHByaW50Zl9yZV9zZXQgKHN0cnVjdCBi cmVha3BvaW50ICpiKQoreworICBicmVha3BvaW50X3JlX3NldF9kZWZhdWx0 IChiKTsKKworICAvKiBUaGlzIGJyZWFrcG9pbnQgY291bGQgaGF2ZSBiZWVu IHBlbmRpbmcsIGFuZCBiZSByZXNvbHZlZCBub3csIGFuZAorICAgICBpZiBz bywgd2Ugc2hvdWxkIG5vdyBoYXZlIHRoZSBleHRyYSBzdHJpbmcuICBJZiB3 ZSBkb24ndCwgdGhlCisgICAgIGRwcmludGYgd2FzIG1hbGZvcm1lZCB3aGVu IGNyZWF0ZWQsIGJ1dCB3ZSBjb3VsZG4ndCB0ZWxsIGJlY2F1c2UKKyAgICAg d2UgY2FuJ3QgZXh0cmFjdCB0aGUgZXh0cmEgc3RyaW5nIHVudGlsIHRoZSBs b2NhdGlvbiBpcworICAgICByZXNvbHZlZC4gICovCisgIGlmIChiLT5sb2Mg IT0gTlVMTCAmJiBiLT5leHRyYV9zdHJpbmcgPT0gTlVMTCkKKyAgICBlcnJv ciAoXygiRm9ybWF0IHN0cmluZyByZXF1aXJlZCIpKTsKKworICAvKiAxIC0g Y29ubmVjdCB0byB0YXJnZXQgMSwgdGhhdCBjYW4gcnVuIGJyZWFrcG9pbnQg Y29tbWFuZHMuCisgICAgIDIgLSBjcmVhdGUgYSBkcHJpbnRmLCB3aGljaCBy ZXNvbHZlcyBmaW5lLgorICAgICAzIC0gZGlzY29ubmVjdCBmcm9tIHRhcmdl dCAxCisgICAgIDQgLSBjb25uZWN0IHRvIHRhcmdldCAyLCB0aGF0IGNhbiBO T1QgcnVuIGJyZWFrcG9pbnQgY29tbWFuZHMuCisKKyAgICAgQWZ0ZXIgc3Rl cHMgIzMvIzQsIHlvdSdsbCB3YW50IHRoZSBkcHJpbnRmIGNvbW1hbmQgbGlz dCB0bworICAgICBiZSB1cGRhdGVkLCBiZWNhdXNlIHRhcmdldCAxIGFuZCAy IG1heSB3ZWxsIHJldHVybiBkaWZmZXJlbnQKKyAgICAgYW5zd2VycyBmb3Ig dGFyZ2V0X2Nhbl9ydW5fYnJlYWtwb2ludF9jb21tYW5kcygpLgorICAgICBH aXZlbiBhYnNlbmNlIG9mIGZpbmVyIGdyYWluZWQgcmVzZXR0aW5nLCB3ZSBn ZXQgdG8gZG8KKyAgICAgaXQgYWxsIHRoZSB0aW1lLiAgKi8KKyAgaWYgKGIt PmV4dHJhX3N0cmluZyAhPSBOVUxMKQorICAgIHVwZGF0ZV9kcHJpbnRmX2Nv bW1hbmRfbGlzdCAoYik7Cit9CisKIHN0YXRpYyBpbnQKIGJrcHRfaW5zZXJ0 X2xvY2F0aW9uIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmJsKQogewpAQCAtMTYw MDEsNyArMTYwMzAsNyBAQCBpbml0aWFsaXplX2JyZWFrcG9pbnRfb3BzICh2 b2lkKQogCiAgIG9wcyA9ICZkcHJpbnRmX2JyZWFrcG9pbnRfb3BzOwogICAq b3BzID0gYmtwdF9iYXNlX2JyZWFrcG9pbnRfb3BzOwotICBvcHMtPnJlX3Nl dCA9IGJrcHRfcmVfc2V0OworICBvcHMtPnJlX3NldCA9IGRwcmludGZfcmVf c2V0OwogICBvcHMtPnJlc291cmNlc19uZWVkZWQgPSBia3B0X3Jlc291cmNl c19uZWVkZWQ7CiAgIG9wcy0+cHJpbnRfaXQgPSBia3B0X3ByaW50X2l0Owog ICBvcHMtPnByaW50X21lbnRpb24gPSBia3B0X3ByaW50X21lbnRpb247Cg== --089e013a010a2cc7cd04d9e9cbed Content-Type: text/plain; charset=US-ASCII; name="dprintf-pending-test.txt" Content-Disposition: attachment; filename="dprintf-pending-test.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfau8q6m1 Content-length: 7991 LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9NYWtlZmlsZS5pbgorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL01ha2VmaWxlLmluCkBAIC0xMCw3 ICsxMCw4IEBAIEVYRUNVVEFCTEVTID0gYTItcnVuIGFkdmFuY2UgYWxsLXR5 cGVzIGEKIAljYWxsLXN0cnMgY2FsbGV4aXQgY2FsbGZ1bmNzIGNhbGxmd21h bGwgY2hhcnNldCBjaGVja3BvaW50IFwKIAljaG5nLXN5bXMgY29kZV9lbGlt MSBjb2RlX2VsaW0yIGNvbW1hbmRzIGNvbXBpbGVyIGNvbXBsZXggXAogCWNv bmRicmVhayBjb25zZWN1dGl2ZSBjb25zdHZhcnMgY29yZW1ha2VyIGN1cnNh bCBjdmV4cHIgXAotCWRieC10ZXN0IGRlbCBkaXNhc20tZW5kLWN1IGRpc3Bs YXkgZHVtcCBkdXAtc2VjdCBkdXAtc2VjdC5kZWJ1ZyBcCisJZGJ4LXRlc3Qg ZGVsIGRpc2FzbS1lbmQtY3UgZGlzcGxheSBkcHJpbnRmLXBlbmRpbmcgZHVt cCBkdXAtc2VjdCBcCisJZHVwLXNlY3QuZGVidWcgXAogCWR1cC1zZWN0LnN0 cmlwcGVkIGVuZGluZy1ydW4gZXhlY2QtcHJvZyBleHBhbmQtcHN5bXRhYnMg ZXhwcnMgXAogCWZpbGVpbyBmaW5kIGZpbmlzaCBmaXhzZWN0aW9uIGZsb2F0 IGZvbGwtZXhlYyBmb2xsLWZvcmsgZm9sbC12Zm9yayBcCiAJZnJhbWUtYXJn cyBmcmVlYnBjbWQgZnVsbG5hbWUgZnVuY2FyZ3MgZ2NvcmUgXApAQCAtNDQs NyArNDUsNyBAQCBFWEVDVVRBQkxFUyA9IGEyLXJ1biBhZHZhbmNlIGFsbC10 eXBlcyBhCiAJd2NoYXIgd2hhdGlzIHdoYXRpcy1leHAgY2F0Y2gtc3lzY2Fs bCBcCiAJcHIxMDE3OSBnbnVfdmVjdG9yCiAKLU1JU0NFTExBTkVPVVMgPSBj b3JlbW1hcC5kYXRhIC4uL2Zvb2Jhci5iYXogZml4c2VjdHNoci5zbCBcCitN SVNDRUxMQU5FT1VTID0gY29yZW1tYXAuZGF0YSBkcHJpbnRmLXBlbmRzaHIu c2wgLi4vZm9vYmFyLmJheiBmaXhzZWN0c2hyLnNsIFwKIAlwZW5kc2hyLnNs IHNocmVsb2MxLnNsIHNocmVsb2MyLnNsIHR3aWNlLXRtcC5jIFwKIAlzaHIx LnNsIHNocjIuc2wgc29saWJfc2wuc2wgc29saWIxLnNsIHNvbGliMi5zbCBc CiAJdW5sb2Fkc2hyLnNsIHVubG9hZHNocjIuc2wgd2F0Y2hwb2ludC1zb2xp Yi1zaHIuc2wgXAotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZHByaW50Zi1wZW5kaW5nLmMKQEAgLTAsMCArMSwyOSBAQAor LyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KKworICAgQ29weXJpZ2h0IDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisg ICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisK K2ludCBrID0gMDsKKworZXh0ZXJuIHZvaWQgcGVuZGZ1bmMgKGludCB4KTsK KworaW50IG1haW4oKQoreworICBwZW5kZnVuYyAoMyk7IC8qIGJyZWFrIG1h aW4gaGVyZSAqLworICBwZW5kZnVuYyAoNCk7CisgIGsgPSAxOworICBwZW5k ZnVuYyAoMyk7CisgIHJldHVybiAwOworfQotLS0gL2Rldi9udWxsCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1wZW5kaW5nLmV4cApA QCAtMCwwICsxLDEwMCBAQAorIyAgIENvcHlyaWdodCAyMDEzIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisK K2lmIHtbc2tpcF9zaGxpYl90ZXN0c119IHsKKyAgICByZXR1cm4gMAorfQor CitzdGFuZGFyZF90ZXN0ZmlsZSAuYworc2V0IGxpYmZpbGUgImRwcmludGYt cGVuZHNociIKK3NldCBsaWJzcmMgICRzcmNkaXIvJHN1YmRpci8kbGliZmls ZS5jCitzZXQgbGliX3NsICAkb2JqZGlyLyRzdWJkaXIvJGxpYmZpbGUuc2wK Kworc2V0IGxpYl9vcHRzICBkZWJ1Zworc2V0IGV4ZWNfb3B0cyBbbGlzdCBk ZWJ1ZyBzaGxpYj0kbGliX3NsXQorCitpZiB7IFtnZXRfY29tcGlsZXJfaW5m b10gfSB7CisgICAgcmV0dXJuIC0xCit9CisKK2lmIHsgW2dkYl9jb21waWxl X3NobGliICRsaWJzcmMgJGxpYl9zbCAkbGliX29wdHNdICE9ICIiCisgICAg IHx8IFtnZGJfY29tcGlsZSAkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGUgJGJp bmZpbGUgZXhlY3V0YWJsZSAkZXhlY19vcHRzXSAhPSAiIn0geworICAgIHVu dGVzdGVkICJDb3VsZCBub3QgY29tcGlsZSBlaXRoZXIgJGxpYnNyYyBvciAk c3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGUuIgorICAgIHJldHVybiAtMQorfQor Cit3aXRoX3Rlc3RfcHJlZml4ICJ3aXRob3V0IGZvcm1hdCIgeworICAgIGdk Yl9leGl0CisgICAgZ2RiX3N0YXJ0CisgICAgZ2RiX3JlaW5pdGlhbGl6ZV9k aXIgJHNyY2Rpci8kc3ViZGlyCisKKyAgICBnZGJfdGVzdCBcCisJImRwcmlu dGYgcGVuZGZ1bmMiIFwKKwkiRHByaW50Zi4qcGVuZGZ1bmMuKnBlbmRpbmcu IiBcCisJInNldCBwZW5kaW5nIGRwcmludGYiIFwKKwkiLipNYWtlIGRwcmlu dGYgcGVuZGluZy4qeSBvciBcXFxbblxcXF0uICQiIFwKKwkieSIKKworICAg IGdkYl90ZXN0ICJmaWxlICR7YmluZmlsZX0iICIuKkVycm9yIGluIHJlLXNl dHRpbmcgYnJlYWtwb2ludC4qIiAicmVzb2x2ZWQgZHByaW50ZiBmYWlscyB0 byBiZSByZS1zZXQiCit9CisKK3dpdGhfdGVzdF9wcmVmaXggIndpdGhvdXQg c3ltYm9scyIgeworICAgIGdkYl9leGl0CisgICAgZ2RiX3N0YXJ0CisgICAg Z2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCisKKyAgICBn ZGJfdGVzdCBcCisJImRwcmludGYgcGVuZGZ1bmMxLCBcIng9JWRcXG5cIiwg eCIgXAorCSJEcHJpbnRmLipwZW5kZnVuYzEuKnBlbmRpbmcuIiBcCisJInNl dCBwZW5kaW5nIGRwcmludGYiIFwKKwkiLipNYWtlIGRwcmludGYgcGVuZGlu Zy4qeSBvciBcXFxbblxcXF0uICQiIFwKKwkieSIKKworICAgIGdkYl90ZXN0 ICJpbmZvIGJyZWFrIiBcCisgICAgICAgICJOdW0gICAgIFR5cGVcWyBcXStE aXNwIEVuYiBBZGRyZXNzXFsgXF0rV2hhdC4qCitcWzAtOVxdK1xbXHQgXF0r ZHByaW50Zi4qa2VlcCB5LipQRU5ESU5HLipwZW5kZnVuYzEuKiIgXAorCSJz aW5nbGUgcGVuZGluZyBkcHJpbnRmIGluZm8iCisKKyAgICBnZGJfbG9hZCAk e2JpbmZpbGV9CisgICAgZ2RiX2xvYWRfc2hsaWJzICRsaWJfc2wKKworICAg IGdkYl9ydW5fY21kCisKKyAgICBnZGJfdGVzdCAiIiAiLip4PTMuKng9NC4q eD0zLioiICJydW4gdG8gcmVzb2x2ZWQgZHByaW50ZiIKK30KKworY2xlYW5f cmVzdGFydCAke2JpbmZpbGV9CitnZGJfbG9hZF9zaGxpYnMgJGxpYl9zbAor CisjCisjIFRlc3Qgc2V0dGluZywgcXVlcnlpbmcsIGFuZCBtb2RpZnlpbmcg cGVuZGluZyBicmVha3BvaW50cworIworCitnZGJfdGVzdCBcCisgICAgImRw cmludGYgcGVuZGZ1bmMxLCBcIng9JWRcXG5cIiwgeCIgXAorICAgICJEcHJp bnRmLipwZW5kZnVuYzEuKnBlbmRpbmcuIiBcCisgICAgInNldCBwZW5kaW5n IGRwcmludGYiIFwKKyAgICAiLipNYWtlIGRwcmludGYgcGVuZGluZy4qeSBv ciBcXFxbblxcXF0uICQiIFwKKyAgICAieSIKKworZ2RiX3Rlc3QgImluZm8g YnJlYWsiIFwKKyAgICAiTnVtICAgICBUeXBlXFsgXF0rRGlzcCBFbmIgQWRk cmVzc1xbIFxdK1doYXQuKgorXFswLTlcXStcW1x0IFxdK2RwcmludGYuKmtl ZXAgeS4qUEVORElORy4qcGVuZGZ1bmMxLioiIFwKKyJzaW5nbGUgcGVuZGlu ZyBkcHJpbnRmIGluZm8iCisKK2dkYl9ydW5fY21kCisKK2dkYl90ZXN0ICIi ICIuKng9My4qeD00Lip4PTMuKiIgInJ1biB0byByZXNvbHZlZCBkcHJpbnRm IgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZHByaW50Zi1wZW5kc2hyLmMKQEAgLTAsMCArMSwyNiBAQAorLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKwor ICAgQ29weXJpZ2h0IDIwMTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKK3ZvaWQgcGVu ZGZ1bmMxIChpbnQgeCkKK3sKKyAgaW50IHkgPSB4ICsgNDsKK30KKwordm9p ZCBwZW5kZnVuYyAoaW50IHgpCit7CisgIHBlbmRmdW5jMSAoeCk7Cit9Cg== --089e013a010a2cc7cd04d9e9cbed--