From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JsM25-0001NF-HC for qemu-devel@nongnu.org; Sat, 03 May 2008 14:00:25 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JsM24-0001N3-0U for qemu-devel@nongnu.org; Sat, 03 May 2008 14:00:25 -0400 Received: from [199.232.76.173] (port=37378 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JsM23-0001N0-QQ for qemu-devel@nongnu.org; Sat, 03 May 2008 14:00:23 -0400 Received: from fk-out-0910.google.com ([209.85.128.188]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JsM23-0006bv-2S for qemu-devel@nongnu.org; Sat, 03 May 2008 14:00:23 -0400 Received: by fk-out-0910.google.com with SMTP id 18so318639fks.2 for ; Sat, 03 May 2008 11:00:22 -0700 (PDT) Message-ID: Date: Sat, 3 May 2008 21:00:21 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] Crash due to invalid env->current_tb In-Reply-To: <20080502154134.GA7060@os.inf.tu-dresden.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_9326_30466424.1209837622048" References: <20080429115614.GA15524@os.inf.tu-dresden.de> <20080429184011.GK17356@os.inf.tu-dresden.de> <20080430151132.GB6712@os.inf.tu-dresden.de> <20080430152102.GC6712@os.inf.tu-dresden.de> <67C63B39-3EBE-4E1F-B46B-D2FE7AAC001F@suse.de> <20080501120241.GC13241@os.inf.tu-dresden.de> <20080502154134.GA7060@os.inf.tu-dresden.de> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_9326_30466424.1209837622048 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 5/2/08, Adam Lackorzynski wrote: > > On Thu May 01, 2008 at 18:02:46 +0300, Blue Swirl wrote: > > On 5/1/08, Adam Lackorzynski wrote: > > > > For 64bit target T0 is 64bits so "=a" does not work and "=A" is needed. > > > The strange thing is that I need to throw away the upper 32bits because > > > otherwise it won't work. gen_func is defined to return just long but T0 > > > is unsigned long long, this seems inconsistent. The 'and' does not > > > appear in 32bit targets so it does not harm there. > > > > This is because in this special case, T0 is not used as target CPU > > temporary, but instead to return next TB address. On i386 this is 32 > > bits, so only EAX is needed. TCG does not touch EDX, so it contains > > garbage. This also means that moving EDX to high word of T0 and then > > throwing the high word away may be slightly wasteful. > > > So I played a bit more with this by trying out the 'and' and the tmp > variable approaches. With the tmp variables the generated code looks ok > whereas with the 'and' approach it looks especially scary with gcc-4.3 > (gcc-3.4 looks ok). I have two versions now, one condensed and ugly and > then one with separate parts for 32 and 64 targets. I think this one > should be prefered. I made a new version that does not use T0 at all. Tested on i386 and AMD64, both Sparc32 and Sparc64 work. AMD64 asm version does not seem to be necessary. ------=_Part_9326_30466424.1209837622048 Content-Type: plain/text; name=cpu_exec_no_T0.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_ffsi18r3 Content-Disposition: attachment; filename=cpu_exec_no_T0.diff SW5kZXg6IHFlbXUvY3B1LWV4ZWMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvY3B1LWV4ZWMu YwkyMDA4LTA1LTAzIDE0OjI1OjA2LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9jcHUtZXhlYy5j CTIwMDgtMDUtMDMgMTc6NTU6MzQuMDAwMDAwMDAwICswMDAwCkBAIC0zNiw2ICszNiw3IEBACiAj ZW5kaWYKIAogaW50IHRiX2ludmFsaWRhdGVkX2ZsYWc7Cit1bnNpZ25lZCBsb25nIG5leHRfdGI7 CiAKIC8vI2RlZmluZSBERUJVR19FWEVDCiAvLyNkZWZpbmUgREVCVUdfU0lHTkFMCkBAIC0yNzMs MTQgKzI3NCwxMiBAQAogICAgICAgICAgICAgLyogYXMgc29tZSBUQiBjb3VsZCBoYXZlIGJlZW4g aW52YWxpZGF0ZWQgYmVjYXVzZQogICAgICAgICAgICAgICAgb2YgbWVtb3J5IGV4Y2VwdGlvbnMg d2hpbGUgZ2VuZXJhdGluZyB0aGUgY29kZSwgd2UKICAgICAgICAgICAgICAgIG11c3QgcmVjb21w dXRlIHRoZSBoYXNoIGluZGV4IGhlcmUgKi8KLSAgICAgICAgICAgIFQwID0gMDsKKyAgICAgICAg ICAgIG5leHRfdGIgPSAwOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiB0YjsKIH0KIAot I2RlZmluZSBCUkVBS19DSEFJTiBUMCA9IDAKLQogLyogbWFpbiBleGVjdXRpb24gbG9vcCAqLwog CiBpbnQgY3B1X2V4ZWMoQ1BVU3RhdGUgKmVudjEpCkBAIC0yOTMsNyArMjkyLDcgQEAKICNlbmRp ZgogI2VuZGlmCiAgICAgaW50IHJldCwgaW50ZXJydXB0X3JlcXVlc3Q7Ci0gICAgbG9uZyAoKmdl bl9mdW5jKSh2b2lkKTsKKyAgICB1bnNpZ25lZCBsb25nICgqZ2VuX2Z1bmMpKHZvaWQpOwogICAg IFRyYW5zbGF0aW9uQmxvY2sgKnRiOwogICAgIHVpbnQ4X3QgKnRjX3B0cjsKIApAQCAtNDE0LDcg KzQxMyw3IEBACiAgICAgICAgICAgICB9CiAjZW5kaWYKIAotICAgICAgICAgICAgVDAgPSAwOyAv KiBmb3JjZSBsb29rdXAgb2YgZmlyc3QgVEIgKi8KKyAgICAgICAgICAgIG5leHRfdGIgPSAwOyAv KiBmb3JjZSBsb29rdXAgb2YgZmlyc3QgVEIgKi8KICAgICAgICAgICAgIGZvcig7OykgewogICAg ICAgICAgICAgICAgIFNBVkVfR0xPQkFMUygpOwogICAgICAgICAgICAgICAgIGludGVycnVwdF9y ZXF1ZXN0ID0gZW52LT5pbnRlcnJ1cHRfcmVxdWVzdDsKQEAgLTQ0MywxMyArNDQyLDEzIEBACiAg ICAgICAgICAgICAgICAgICAgICAgICBzdm1fY2hlY2tfaW50ZXJjZXB0KFNWTV9FWElUX1NNSSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVf SU5URVJSVVBUX1NNSTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvX3NtbV9lbnRlcigpOwot ICAgICAgICAgICAgICAgICAgICAgICAgQlJFQUtfQ0hBSU47CisgICAgICAgICAgICAgICAgICAg ICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoaW50ZXJy dXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX05NSSkgJiYKICAgICAgICAgICAgICAgICAgICAg ICAgICEoZW52LT5oZmxhZ3MgJiBIRl9OTUlfTUFTSykpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9JTlRFUlJVUFRfTk1JOwogICAgICAg ICAgICAgICAgICAgICAgICAgZW52LT5oZmxhZ3MgfD0gSEZfTk1JX01BU0s7CiAgICAgICAgICAg ICAgICAgICAgICAgICBkb19pbnRlcnJ1cHQoRVhDUDAyX05NSSwgMCwgMCwgMCwgMSk7Ci0gICAg ICAgICAgICAgICAgICAgICAgICBCUkVBS19DSEFJTjsKKyAgICAgICAgICAgICAgICAgICAgICAg IG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChpbnRlcnJ1cHRf cmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgJiYKICAgICAgICAgICAgICAgICAgICAgICAg IChlbnYtPmVmbGFncyAmIElGX01BU0sgfHwgZW52LT5oZmxhZ3MgJiBIRl9ISUZfTUFTSykgJiYK ICAgICAgICAgICAgICAgICAgICAgICAgICEoZW52LT5oZmxhZ3MgJiBIRl9JTkhJQklUX0lSUV9N QVNLKSkgewpAQCAtNDYzLDcgKzQ2Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBkb19p bnRlcnJ1cHQoaW50bm8sIDAsIDAsIDAsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgLyog ZW5zdXJlIHRoYXQgbm8gVEIganVtcCB3aWxsIGJlIG1vZGlmaWVkIGFzCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgcHJvZ3JhbSBmbG93IHdhcyBjaGFuZ2VkICovCi0gICAgICAgICAg ICAgICAgICAgICAgICBCUkVBS19DSEFJTjsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5leHRf dGIgPSAwOwogI2lmICFkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpCiAgICAgICAgICAgICAgICAg ICAgIH0gZWxzZSBpZiAoKGludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9WSVJRKSAm JgogICAgICAgICAgICAgICAgICAgICAgICAgKGVudi0+ZWZsYWdzICYgSUZfTUFTSykgJiYgIShl bnYtPmhmbGFncyAmIEhGX0lOSElCSVRfSVJRX01BU0spKSB7CkBAIC00NzcsNyArNDc2LDcgQEAK IAkgICAgICAgICAgICAgICAgIGRvX2ludGVycnVwdChpbnRubywgMCwgMCwgLTEsIDEpOwogICAg ICAgICAgICAgICAgICAgICAgICAgIHN0bF9waHlzKGVudi0+dm1fdm1jYiArIG9mZnNldG9mKHN0 cnVjdCB2bWNiLCBjb250cm9sLmludF9jdGwpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxkbF9waHlzKGVudi0+dm1fdm1jYiArIG9mZnNldG9mKHN0cnVjdCB2bWNiLCBjb250 cm9sLmludF9jdGwpKSAmIH5WX0lSUV9NQVNLKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIEJS RUFLX0NIQUlOOworICAgICAgICAgICAgICAgICAgICAgICAgbmV4dF90YiA9IDA7CiAjZW5kaWYK ICAgICAgICAgICAgICAgICAgICAgfQogI2VsaWYgZGVmaW5lZChUQVJHRVRfUFBDKQpAQCAtNDkw LDcgKzQ4OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBwcGNfaHdfaW50ZXJydXB0KGVu dik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW52LT5wZW5kaW5nX2ludGVycnVwdHMg PT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmludGVycnVwdF9yZXF1ZXN0 ICY9IH5DUFVfSU5URVJSVVBUX0hBUkQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICBCUkVBS19D SEFJTjsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAg ICAgICAgICB9CiAjZWxpZiBkZWZpbmVkKFRBUkdFVF9NSVBTKQogICAgICAgICAgICAgICAgICAg ICBpZiAoKGludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgpAQCAtNTAz LDcgKzUwMiw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmV4Y2VwdGlvbl9pbmRl eCA9IEVYQ1BfRVhUX0lOVEVSUlVQVDsKICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXJy b3JfY29kZSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19pbnRlcnJ1cHQoZW52KTsK LSAgICAgICAgICAgICAgICAgICAgICAgIEJSRUFLX0NIQUlOOworICAgICAgICAgICAgICAgICAg ICAgICAgbmV4dF90YiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIH0KICNlbGlmIGRlZmluZWQo VEFSR0VUX1NQQVJDKQogICAgICAgICAgICAgICAgICAgICBpZiAoKGludGVycnVwdF9yZXF1ZXN0 ICYgQ1BVX0lOVEVSUlVQVF9IQVJEKSAmJgpAQCAtNTIwLDcgKzUxOSw3IEBACiAjaWYgIWRlZmlu ZWQoVEFSR0VUX1NQQVJDNjQpICYmICFkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3B1X2NoZWNrX2lycXMoZW52KTsKICNlbmRpZgotICAgICAg ICAgICAgICAgICAgICAgICAgQlJFQUtfQ0hBSU47CisgICAgICAgICAgICAgICAgICAgICAgICBu ZXh0X3RiID0gMDsKIAkJCX0KIAkJICAgIH0gZWxzZSBpZiAoaW50ZXJydXB0X3JlcXVlc3QgJiBD UFVfSU5URVJSVVBUX1RJTUVSKSB7CiAJCQkvL2RvX2ludGVycnVwdCgwLCAwLCAwLCAwLCAwKTsK QEAgLTUzMSw3ICs1MzAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgJiYgIShlbnYtPnVu Y2FjaGVkX2Nwc3IgJiBDUFNSX0YpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmV4 Y2VwdGlvbl9pbmRleCA9IEVYQ1BfRklROwogICAgICAgICAgICAgICAgICAgICAgICAgZG9faW50 ZXJydXB0KGVudik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBCUkVBS19DSEFJTjsKKyAgICAg ICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgIC8qIEFSTXY3LU0gaW50ZXJydXB0IHJldHVybiB3b3JrcyBieSBs b2FkaW5nIGEgbWFnaWMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgaW50byB0aGUgUEMu ICBPbiByZWFsIGhhcmR3YXJlIHRoZSBsb2FkIGNhdXNlcyB0aGUKQEAgLTU0NywyMiArNTQ2LDIy IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIShlbnYtPnVuY2FjaGVkX2Nwc3Ig JiBDUFNSX0kpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZW52LT5leGNlcHRpb25faW5k ZXggPSBFWENQX0lSUTsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvX2ludGVycnVwdChlbnYp OwotICAgICAgICAgICAgICAgICAgICAgICAgQlJFQUtfQ0hBSU47CisgICAgICAgICAgICAgICAg ICAgICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogI2VsaWYgZGVmaW5l ZChUQVJHRVRfU0g0KQogICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJydXB0X3JlcXVlc3Qg JiBDUFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGRvX2ludGVy cnVwdChlbnYpOwotICAgICAgICAgICAgICAgICAgICAgICAgQlJFQUtfQ0hBSU47CisgICAgICAg ICAgICAgICAgICAgICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogI2Vs aWYgZGVmaW5lZChUQVJHRVRfQUxQSEEpCiAgICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnJ1 cHRfcmVxdWVzdCAmIENQVV9JTlRFUlJVUFRfSEFSRCkgewogICAgICAgICAgICAgICAgICAgICAg ICAgZG9faW50ZXJydXB0KGVudik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBCUkVBS19DSEFJ TjsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAg ICAgICB9CiAjZWxpZiBkZWZpbmVkKFRBUkdFVF9DUklTKQogICAgICAgICAgICAgICAgICAgICBp ZiAoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0hBUkQpIHsKICAgICAgICAgICAg ICAgICAgICAgICAgIGRvX2ludGVycnVwdChlbnYpOwotICAgICAgICAgICAgICAgICAgICAgICAg QlJFQUtfQ0hBSU47CisgICAgICAgICAgICAgICAgICAgICAgICBuZXh0X3RiID0gMDsKICAgICAg ICAgICAgICAgICAgICAgfQogI2VsaWYgZGVmaW5lZChUQVJHRVRfTTY4SykKICAgICAgICAgICAg ICAgICAgICAgaWYgKGludGVycnVwdF9yZXF1ZXN0ICYgQ1BVX0lOVEVSUlVQVF9IQVJECkBAIC01 NzUsNyArNTc0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IHNpZ25hbGxl ZC4gICovCiAgICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmV4Y2VwdGlvbl9pbmRleCA9IGVu di0+cGVuZGluZ192ZWN0b3I7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19pbnRlcnJ1cHQo MSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBCUkVBS19DSEFJTjsKKyAgICAgICAgICAgICAg ICAgICAgICAgIG5leHRfdGIgPSAwOwogICAgICAgICAgICAgICAgICAgICB9CiAjZW5kaWYKICAg ICAgICAgICAgICAgICAgICAvKiBEb24ndCB1c2UgdGhlIGNhY2hlZCBpbnRlcnVwdF9yZXF1ZXN0 IHZhbHVlLApAQCAtNTg0LDcgKzU4Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBlbnYt PmludGVycnVwdF9yZXF1ZXN0ICY9IH5DUFVfSU5URVJSVVBUX0VYSVRUQjsKICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIGVuc3VyZSB0aGF0IG5vIFRCIGp1bXAgd2lsbCBiZSBtb2RpZmllZCBh cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHByb2dyYW0gZmxvdyB3YXMgY2hhbmdl ZCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgQlJFQUtfQ0hBSU47CisgICAgICAgICAgICAg ICAgICAgICAgICBuZXh0X3RiID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICBpZiAoaW50ZXJydXB0X3JlcXVlc3QgJiBDUFVfSU5URVJSVVBUX0VYSVQpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgIGVudi0+aW50ZXJydXB0X3JlcXVlc3QgJj0gfkNQVV9J TlRFUlJVUFRfRVhJVDsKQEAgLTY0MCwxMyArNjM5LDEzIEBACiAgICAgICAgICAgICAgICAgICAg c3BhbnMgdHdvIHBhZ2VzLCB3ZSBjYW5ub3Qgc2FmZWx5IGRvIGEgZGlyZWN0CiAgICAgICAgICAg ICAgICAgICAganVtcC4gKi8KICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg IGlmIChUMCAhPSAwICYmCisgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0X3RiICE9IDAgJiYK ICNpZiBVU0VfS1FFTVUKICAgICAgICAgICAgICAgICAgICAgICAgIChlbnYtPmtxZW11X2VuYWJs ZWQgIT0gMikgJiYKICNlbmRpZgogICAgICAgICAgICAgICAgICAgICAgICAgdGItPnBhZ2VfYWRk clsxXSA9PSAtMSkgewogICAgICAgICAgICAgICAgICAgICBzcGluX2xvY2soJnRiX2xvY2spOwot ICAgICAgICAgICAgICAgICAgICB0Yl9hZGRfanVtcCgoVHJhbnNsYXRpb25CbG9jayAqKShsb25n KShUMCAmIH4zKSwgVDAgJiAzLCB0Yik7CisgICAgICAgICAgICAgICAgICAgIHRiX2FkZF9qdW1w KChUcmFuc2xhdGlvbkJsb2NrICopKG5leHRfdGIgJiB+MyksIG5leHRfdGIgJiAzLCB0Yik7CiAg ICAgICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZ0Yl9sb2NrKTsKICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgfQpAQCAtNjY3LDcgKzY2Niw3IEBACiAgICAgICAgICAgICAg ICAgYXNtIHZvbGF0aWxlICgiYmxlICAwKCUlc3I0LCUxKVxuIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNvcHkgJSVyMzEsJSVyMThcbiIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJjb3B5ICUlcjI4LCUwXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 ICI9ciIgKFQwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiPXIiIChuZXh0X3Ri KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiciIgKGdlbl9mdW5jKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOiAicjEiLCAicjIiLCAicjMiLCAicjQiLCAicjUiLCAi cjYiLCAicjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicjgiLCAicjkiLCAi cjEwIiwgInIxMSIsICJyMTIiLCAicjEzIiwKQEAgLTY5MCw4ICs2ODksMjQgQEAKIAkJZnAuaXAg PSB0Y19wdHI7CiAJCWZwLmdwID0gY29kZV9nZW5fYnVmZmVyICsgMiAqICgxIDw8IDIwKTsKIAkJ KCoodm9pZCAoKikodm9pZCkpICZmcCkoKTsKKyNlbGlmIGRlZmluZWQoX19pMzg2KQorICAgICAg ICAgICAgICAgIGFzbSB2b2xhdGlsZSAoInB1c2ggJSVlYnBcblx0IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNhbGwgKiUxXG5cdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJwb3AgJSVlYnBcblx0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiPWEi IChuZXh0X3RiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiYSIgKGdlbl9mdW5j KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAgImVieCIsICJlY3giLCAiZWR4Iiwg ImVzaSIsICJlZGkiLCAiY2MiKTsKKyNlbGlmIGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgICAg ICAgICAgICBhc20gdm9sYXRpbGUgKCJwdXNoICUlcmJwXG5cdCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJjYWxsIColMVxuXHQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAicG9wICUlcmJwXG5cdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIj1hIiAo bmV4dF90YikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogImEiIChnZW5fZnVuYykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogICJyYngiLCAicmN4IiwgInJkeCIsICJy c2kiLCAicmRpIiwgInI4IiwgInI5IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJyMTAiLCAicjExIiwgInIxMiIsICJyMTMiLCAicjE0IiwgInIxNSIsICJjYyIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5Iik7CiAjZWxzZQotICAgICAgICAgICAg ICAgIFQwID0gZ2VuX2Z1bmMoKTsKKyAgICAgICAgICAgICAgICBuZXh0X3RiID0gZ2VuX2Z1bmMo KTsKICNlbmRpZgogICAgICAgICAgICAgICAgIGVudi0+Y3VycmVudF90YiA9IE5VTEw7CiAgICAg ICAgICAgICAgICAgLyogcmVzZXQgc29mdCBNTVUgZm9yIG5leHQgYmxvY2sgKGl0IGNhbiBjdXJy ZW50bHkKQEAgLTcwMCw3ICs3MTUsNyBAQAogICAgICAgICAgICAgICAgIGlmIChlbnYtPmhmbGFn cyAmIEhGX1NPRlRNTVVfTUFTSykgewogICAgICAgICAgICAgICAgICAgICBlbnYtPmhmbGFncyAm PSB+SEZfU09GVE1NVV9NQVNLOwogICAgICAgICAgICAgICAgICAgICAvKiBkbyBub3QgYWxsb3cg bGlua2luZyB0byBhbm90aGVyIGJsb2NrICovCi0gICAgICAgICAgICAgICAgICAgIFQwID0gMDsK KyAgICAgICAgICAgICAgICAgICAgbmV4dF90YiA9IDA7CiAgICAgICAgICAgICAgICAgfQogI2Vu ZGlmCiAjaWYgZGVmaW5lZChVU0VfS1FFTVUpCg== ------=_Part_9326_30466424.1209837622048--