From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13605 invoked by alias); 5 Jul 2011 21:07:39 -0000 Received: (qmail 13594 invoked by uid 22791); 5 Jul 2011 21:07:38 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_STOCKGEN,SPF_HELO_PASS,TW_LV,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 05 Jul 2011 21:07:20 +0000 Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id p65L7JtR020486 for ; Tue, 5 Jul 2011 14:07:19 -0700 Received: from yxk38 (yxk38.prod.google.com [10.190.3.166]) by wpaz17.hot.corp.google.com with ESMTP id p65L7IUX009337 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Tue, 5 Jul 2011 14:07:18 -0700 Received: by yxk38 with SMTP id 38so1252972yxk.30 for ; Tue, 05 Jul 2011 14:07:18 -0700 (PDT) Received: by 10.150.203.11 with SMTP id a11mr6527468ybg.202.1309900038146; Tue, 05 Jul 2011 14:07:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.7.14 with HTTP; Tue, 5 Jul 2011 14:06:47 -0700 (PDT) In-Reply-To: <20110705170728.GY2407@adacore.com> References: <4E0FAB8D.2070709@rawbw.com> <20110704214654.GA21844@host1.jankratochvil.net> <20110705170728.GY2407@adacore.com> From: Paul Pluzhnikov Date: Tue, 05 Jul 2011 21:08:00 -0000 Message-ID: Subject: Re: [patch,7.3] Fix JIT clang-lli gdb-7.3 regression Re: [gdb-7.3] Error in gdb-llvm integration: Unable to read JIT descriptor from remote memory! To: Joel Brobecker Cc: Jan Kratochvil , gdb-patches@sourceware.org, Yuri , Tom Tromey Content-Type: multipart/mixed; boundary=000e0cd2e72a770a3a04a758dec1 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: 2011-07/txt/msg00175.txt.bz2 --000e0cd2e72a770a3a04a758dec1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1070 On Tue, Jul 5, 2011 at 10:07 AM, Joel Brobecker wro= te: > We're getting ready to produce the first gdb-7.3 candidate release, > and we're thinking of either: > =A0- going with Jan's patch for now, with a view of possibly > =A0 =A0making it better with a followup patch if necessary; > =A0- releasing 7.3 with JIT as a known problem, hopefully to be > =A0 =A0fixed for 7.3.1, depending on how safe the fix is perceived. Another option is to apply a better fix (provided it is deemed safe) ... Certainly it's ok with me if you decide to go with Jan's patch for now. It took me much longer to create a test case (I don't have 'lli'), then it did to fix the problem once I had the repro. Thanks, --=20 Paul Pluzhnikov 2011-07-05 Paul Pluzhnikov jit.c (jit_breakpoint_re_set_internal): Call jit_inferior_init. testsuite/ChangeLog: 2011-07-05 Paul Pluzhnikov * gdb.base/jit-so.exp: New test. * gdb.base/jit-dlmain.c: New file. * gdb.base/jit-main.c: Allow "main" to be elsewhere. --000e0cd2e72a770a3a04a758dec1 Content-Type: text/plain; charset=US-ASCII; name="gdb-jit-20110705.txt" Content-Disposition: attachment; filename="gdb-jit-20110705.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gprcje7b0 Content-length: 9460 SW5kZXg6IGppdC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6 IC9jdnMvc3JjL3NyYy9nZGIvaml0LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9u IDEuMTIKZGlmZiAtdSAtcCAtbiAtcCAtcjEuMTIgaml0LmMKKioqIGppdC5j CTE3IEFwciAyMDExIDE4OjM4OjQ1IC0wMDAwCTEuMTIKLS0tIGppdC5jCTUg SnVsIDIwMTEgMjA6NTg6MTIgLTAwMDAKKioqKioqKioqKioqKioqIHN0YXRp YyBjb25zdCBjaGFyICpjb25zdCBqaXRfZGVzY3JpcHRvcl8KKioqIDQwLDQ1 ICoqKioKLS0tIDQwLDQ4IC0tLS0KICAKICBzdGF0aWMgY29uc3Qgc3RydWN0 IGluZmVyaW9yX2RhdGEgKmppdF9pbmZlcmlvcl9kYXRhID0gTlVMTDsKICAK KyBzdGF0aWMgdm9pZAorIGppdF9pbmZlcmlvcl9pbml0IChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCk7CisgCiAgLyogTm9uLXplcm8gaWYgd2Ugd2FudCB0 byBzZWUgdHJhY2Ugb2Ygaml0IGxldmVsIHN0dWZmLiAgKi8KICAKICBzdGF0 aWMgaW50IGppdF9kZWJ1ZyA9IDA7CioqKioqKioqKioqKioqKiBqaXRfYnJl YWtwb2ludF9yZV9zZXRfaW50ZXJuYWwgKHN0cnVjdCBnCioqKiAzNTEsMzU2 ICoqKioKLS0tIDM1NCwzNjQgLS0tLQogICAgICAgIGluZl9kYXRhLT5icmVh a3BvaW50X2FkZHIgPSBTWU1CT0xfVkFMVUVfQUREUkVTUyAocmVnX3N5bWJv bCk7CiAgICAgICAgaWYgKGluZl9kYXRhLT5icmVha3BvaW50X2FkZHIgPT0g MCkKICAJcmV0dXJuIDI7CisgCisgICAgICAgLyogSWYgd2UgaGF2ZSBub3Qg cmVhZCB0aGUgaml0IGRlc2NyaXB0b3IgeWV0IChlLmcuIGJlY2F1c2UgdGhl IEpJVGVyCisgCSBpdHNlbGYgaXMgaW4gYSBzaGFyZWQgbGlicmFyeSB3aGlj aCBqdXN0IGdvdCBsb2FkZWQpLCBkbyBzbyBub3cuICAqLworICAgICAgIGlm IChpbmZfZGF0YS0+ZGVzY3JpcHRvcl9hZGRyID09IDApCisgCWppdF9pbmZl cmlvcl9pbml0IChnZGJhcmNoKTsKICAgICAgfQogICAgZWxzZQogICAgICBy ZXR1cm4gMDsKSW5kZXg6IHRlc3RzdWl0ZS9nZGIuYmFzZS9qaXQtZGxtYWlu LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVzdHN1aXRl L2dkYi5iYXNlL2ppdC1kbG1haW4uYwpkaWZmIC1OIHRlc3RzdWl0ZS9nZGIu YmFzZS9qaXQtZGxtYWluLmMKKioqIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAw OjAwOjAwIC0wMDAwCi0tLSB0ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0LWRsbWFp bi5jCTUgSnVsIDIwMTEgMjA6NTg6MTIgLTAwMDAKKioqKioqKioqKioqKioq CioqKiAwICoqKioKLS0tIDEsMTYgLS0tLQorICNpbmNsdWRlIDxkbGZjbi5o PgorICNpbmNsdWRlIDxzdGRpby5oPgorIAorIGludCBtYWluIChpbnQgYXJn YywgY2hhciAqYXJndltdKQorIHsKKyAgIHZvaWQgKmggPSBkbG9wZW4gKCJq aXQtZGxtYWluLXNvLnNvIiwgUlRMRF9MQVpZKTsKKyAgIGludCAoKnBfbWFp bikgKGludCwgY2hhciAqKik7CisgCisgICBpZiAoaCA9PSBOVUxMKSByZXR1 cm4gMTsKKyAKKyAgIHBfbWFpbiA9IGRsc3ltIChoLCAiaml0X2RsX21haW4i KTsKKyAgIGlmIChwX21haW4gPT0gTlVMTCkgcmV0dXJuIDI7CisgCisgICBo ID0gaDsgIC8qIGJyZWFrIGhlcmUgYWZ0ZXItZGxvcGVuICovCisgICByZXR1 cm4gKCpwX21haW4pIChhcmdjLCBhcmd2KTsKKyB9CkluZGV4OiB0ZXN0c3Vp dGUvZ2RiLmJhc2Uvaml0LW1haW4uYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9qaXQtbWFpbi5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAt dSAtcCAtbiAtcCAtcjEuMiBqaXQtbWFpbi5jCioqKiB0ZXN0c3VpdGUvZ2Ri LmJhc2Uvaml0LW1haW4uYwkxNSBNYXIgMjAxMSAyMTowMzo0NCAtMDAwMAkx LjIKLS0tIHRlc3RzdWl0ZS9nZGIuYmFzZS9qaXQtbWFpbi5jCTUgSnVsIDIw MTEgMjA6NTg6MTIgLTAwMDAKKioqKioqKioqKioqKioqIHVwZGF0ZV9sb2Nh dGlvbnMgKGNvbnN0IHZvaWQgKmNvbnN0IGFkZHIKKioqIDExNywxMjQgKioq KgogICAgICB9CiAgfQogIAogIGludAohIG1haW4gKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAgewogICAgLyogVGhlc2UgdmFyaWFibGVzIGFyZSBoZXJl IHNvIHRoZXkgY2FuIGVhc2lseSBiZSBzZXQgZnJvbSBqaXQuZXhwLiAgKi8K ICAgIGNvbnN0IGNoYXIgKmxpYm5hbWUgPSBOVUxMOwotLS0gMTE3LDEyOCAt LS0tCiAgICAgIH0KICB9CiAgCisgI2lmbmRlZiBNQUlOCisgI2RlZmluZSBN QUlOIG1haW4KKyAjZW5kaWYKKyAKICBpbnQKISBNQUlOIChpbnQgYXJnYywg Y2hhciAqYXJndltdKQogIHsKICAgIC8qIFRoZXNlIHZhcmlhYmxlcyBhcmUg aGVyZSBzbyB0aGV5IGNhbiBlYXNpbHkgYmUgc2V0IGZyb20gaml0LmV4cC4g ICovCiAgICBjb25zdCBjaGFyICpsaWJuYW1lID0gTlVMTDsKSW5kZXg6IHRl c3RzdWl0ZS9nZGIuYmFzZS9qaXQtc28uZXhwCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IHRlc3RzdWl0ZS9nZGIuYmFzZS9qaXQtc28uZXhw CmRpZmYgLU4gdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1zby5leHAKKioqIC9k ZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCi0tLSB0ZXN0c3Vp dGUvZ2RiLmJhc2Uvaml0LXNvLmV4cAk1IEp1bCAyMDExIDIwOjU4OjEyIC0w MDAwCioqKioqKioqKioqKioqKgoqKiogMCAqKioqCi0tLSAxLDExNyAtLS0t CisgIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAKKyAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorICMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KyAjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgIwor ICMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorICMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAjCisgIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorICMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgCisgIyBU aGUgc2FtZSB0ZXN0cyBhcyBpbiBqaXQuZXhwLCBidXQgbG9hZGluZyBKSVRl ciBpdHNlbGYgZnJvbSBhIHNoYXJlZAorICMgbGlicmFyeS4KKyAKKyBpZiAk dHJhY2VsZXZlbCB7CisgICAgIHN0cmFjZSAkdHJhY2VsZXZlbAorIH0KKyAK KyBpZiB7W3NraXBfc2hsaWJfdGVzdHNdfSB7CisgICAgIHVudGVzdGVkIGpp dC1zby5leHAKKyAgICAgcmV0dXJuIC0xCisgfQorIAorIGlmIHtbZ2V0X2Nv bXBpbGVyX2luZm8gbm90LXVzZWRdfSB7CisgICAgIHdhcm5pbmcgIkNvdWxk IG5vdCBnZXQgY29tcGlsZXIgaW5mbyIKKyAgICAgdW50ZXN0ZWQgaml0LXNv LmV4cAorICAgICByZXR1cm4gMQorIH0KKyAKKyAjCisgIyB0ZXN0IHJ1bm5p bmcgcHJvZ3JhbXMKKyAjCisgCisgc2V0IHRlc3RmaWxlIGppdC1kbG1haW4K KyBzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCisgc2V0IGJpbmZpbGUgJHtv YmpkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfQorIGlmICB7IFtnZGJfY29t cGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5m aWxlfSIgZXhlY3V0YWJsZSB7ZGVidWcgc2hsaWJfbG9hZH1dICE9ICIiIH0g eworICAgICB1bnRlc3RlZCBqaXQtc28uZXhwCisgICAgIHJldHVybiAtMQor IH0KKyAKKyBzZXQgdGVzdGZpbGUyIGppdC1tYWluCisgc2V0IHNyY2ZpbGUy ICR7dGVzdGZpbGUyfS5jCisgc2V0IGJpbmZpbGUyICR7b2JqZGlyfS8ke3N1 YmRpcn0vJHt0ZXN0ZmlsZTJ9LnNvCisgaWYgeyBbZ2RiX2NvbXBpbGVfc2hs aWIgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlMn0iICR7YmluZmls ZTJ9IHtkZWJ1ZyBhZGRpdGlvbmFsX2ZsYWdzPSItRE1BSU49aml0X2RsX21h aW4ifV0gIT0gIiIgfSB7CisgICAgIHVudGVzdGVkIGppdC5leHAKKyAgICAg cmV0dXJuIC0xCisgfQorIAorIHNldCBzb2xpYl90ZXN0ZmlsZSAiaml0LXNv bGliIgorIHNldCBzb2xpYl9zcmNmaWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9 LyR7c29saWJfdGVzdGZpbGV9LmMiCisgc2V0IHNvbGliX2JpbmZpbGUgIiR7 b2JqZGlyfS8ke3N1YmRpcn0vJHtzb2xpYl90ZXN0ZmlsZX0uc28iCisgc2V0 IHNvbGliX2JpbmZpbGVfdGVzdF9tc2cgIk9CSkRJUi8ke3N1YmRpcn0vJHtz b2xpYl90ZXN0ZmlsZX0uc28iCisgCisgIyBOb3RlOiBjb21waWxpbmcgd2l0 aG91dCBkZWJ1ZyBpbmZvOiB0aGUgbGlicmFyeSBnb2VzIHRocm91Z2ggc3lt Ym9sCisgIyByZW5hbWluZyBieSBtdW5naW5nIG9uIGl0cyBzeW1ib2wgdGFi bGUsIGFuZCB0aGF0IHdvdWxkbid0IHdvcmsgZm9yIC5kZWJ1ZworICMgc2Vj dGlvbnMuICBBbHNvLCBvdXRwdXQgZm9yICJpbmZvIGZ1bmN0aW9uIiBjaGFu Z2VzIHdoZW4gZGVidWcgaW5mbyBpcyByZXNlbnQuCisgaWYgeyBbZ2RiX2Nv bXBpbGVfc2hsaWIgJHtzb2xpYl9zcmNmaWxlfSAke3NvbGliX2JpbmZpbGV9 IHt9XSAhPSAiIiB9IHsKKyAgICAgdW50ZXN0ZWQgaml0LXNvLmV4cAorICAg ICByZXR1cm4gLTEKKyB9CisgCisgcHJvYyBvbmVfaml0X3Rlc3Qge2NvdW50 IG1hdGNoX3N0cn0geworICAgICBnbG9iYWwgdmVyYm9zZSB0ZXN0ZmlsZSBz cmNmaWxlMiBzb2xpYl9iaW5maWxlIHNvbGliX2JpbmZpbGVfdGVzdF9tc2cg cGZfcHJlZml4CisgCisgICAgIHNldCBvbGRfcGZfcHJlZml4ICRwZl9wcmVm aXgKKyAgICAgc2V0IHBmX3ByZWZpeCAib25lX2ppdF90ZXN0LSRjb3VudCIK KyAKKyAgICAgY2xlYW5fcmVzdGFydCAkdGVzdGZpbGUKKyAKKyAgICAgIyBU aGlzIGlzIGp1c3QgdG8gaGVscCBkZWJ1Z2dpbmcgd2hlbiB0aGluZ3MgZmFp bAorICAgICBpZiB7JHZlcmJvc2UgPiAwfSB7CisgCWdkYl90ZXN0ICJzZXQg ZGVidWcgaml0IDEiCisgICAgIH0KKyAKKyAgICAgaWYgeyAhW3J1bnRvX21h aW5dIH0geworIAlmYWlsICJDYW4ndCBydW4gdG8gbWFpbiIKKyAJcmV0dXJu CisgICAgIH0KKyAKKyAgICAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGlu ZV9udW1iZXIgImJyZWFrIGhlcmUgYWZ0ZXItZGxvcGVuIiBdCisgICAgIGdk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhayBoZXJlIGFmdGVyLWRs b3BlbiIKKyAKKyAgICAgZ2RiX2JyZWFrcG9pbnQgIiRzcmNmaWxlMjpbZ2Ri X2dldF9saW5lX251bWJlciB7YnJlYWsgaGVyZSAwfSAkc3JjZmlsZTJdIgor ICAgICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWsgaGVyZSAw IgorIAorICAgICAjIFBva2UgZGVzaXJlZCB2YWx1ZXMgZGlyZWN0bHkgaW50 byBpbmZlcmlvciBpbnN0ZWFkIG9mIHVzaW5nICJzZXQgYXJncyIKKyAgICAg IyBiZWNhdXNlICJzZXQgYXJncyIgZG9lcyBub3Qgd29yayB1bmRlciBnZGJz ZXJ2ZXIuCisgICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0IHZhciBhcmdj ID0gMiIKKyAgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIGxpYm5h bWUgPSBcIiRzb2xpYl9iaW5maWxlXCIiICJzZXQgdmFyIGxpYm5hbWUgPSBc IiRzb2xpYl9iaW5maWxlX3Rlc3RfbXNnXCIiCisgICAgIGdkYl90ZXN0X25v X291dHB1dCAic2V0IHZhciBjb3VudCA9ICRjb3VudCIKKyAKKyAgICAgZ2Ri X2JyZWFrcG9pbnQgIiRzcmNmaWxlMjpbZ2RiX2dldF9saW5lX251bWJlciB7 YnJlYWsgaGVyZSAxfSAkc3JjZmlsZTJdIgorICAgICBnZGJfY29udGludWVf dG9fYnJlYWtwb2ludCAiYnJlYWsgaGVyZSAxIgorIAorICAgICBnZGJfdGVz dCAiaW5mbyBmdW5jdGlvbiBqaXRfZnVuY3Rpb24iICIkbWF0Y2hfc3RyIgor IAorICAgICAjIFRoaXMgaXMganVzdCB0byBoZWxwIGRlYnVnZ2luZyB3aGVu IHRoaW5ncyBmYWlsCisgICAgIGlmIHskdmVyYm9zZSA+IDB9IHsKKyAJZ2Ri X3Rlc3QgIm1haW50ZW5hbmNlIHByaW50IG9iamZpbGVzIgorIAlnZGJfdGVz dCAibWFpbnRlbmFuY2UgaW5mbyBicmVhayIKKyAgICAgfQorIAorICAgICBn ZGJfYnJlYWtwb2ludCAiJHNyY2ZpbGUyOltnZGJfZ2V0X2xpbmVfbnVtYmVy IHticmVhayBoZXJlIDJ9ICRzcmNmaWxlMl0iCisgICAgIGdkYl9jb250aW51 ZV90b19icmVha3BvaW50ICJicmVhayBoZXJlIDIiCisgICAgICMgQWxsIGpp dCBsaWJyYXJlcyBtdXN0IGhhdmUgYmVlbiB1bnJlZ2lzdGVyZWQKKyAgICAg Z2RiX3Rlc3QgImluZm8gZnVuY3Rpb24gaml0X2Z1bmN0aW9uIiBcCisgCSJB bGwgZnVuY3Rpb25zIG1hdGNoaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBcImpp dF9mdW5jdGlvblwiOiIgXAorICAgICBzZXQgcGZfcHJlZml4ICRvbGRfcGZf cHJlZml4CisgfQorIAorIG9uZV9qaXRfdGVzdCAxICIke2hleH0gIGppdF9m dW5jdGlvbl8wMDAwIgorIG9uZV9qaXRfdGVzdCAyICIke2hleH0gIGppdF9m dW5jdGlvbl8wMDAwXFtcclxuXF0rJHtoZXh9ICBqaXRfZnVuY3Rpb25fMDAw MSIK --000e0cd2e72a770a3a04a758dec1--