From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17750 invoked by alias); 3 Feb 2011 21:58:47 -0000 Received: (qmail 17739 invoked by uid 22791); 3 Feb 2011 21:58:46 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,TW_BJ,TW_GJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (74.125.121.67) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 03 Feb 2011 21:58:41 +0000 Received: from wpaz9.hot.corp.google.com (wpaz9.hot.corp.google.com [172.24.198.73]) by smtp-out.google.com with ESMTP id p13Lwcq4015834 for ; Thu, 3 Feb 2011 13:58:38 -0800 Received: from gwj20 (gwj20.prod.google.com [10.200.10.20]) by wpaz9.hot.corp.google.com with ESMTP id p13LwDP0029322 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for ; Thu, 3 Feb 2011 13:58:37 -0800 Received: by gwj20 with SMTP id 20so699236gwj.36 for ; Thu, 03 Feb 2011 13:58:37 -0800 (PST) Received: by 10.90.232.6 with SMTP id e6mr14399117agh.52.1296770316965; Thu, 03 Feb 2011 13:58:36 -0800 (PST) MIME-Version: 1.0 Received: by 10.91.172.7 with HTTP; Thu, 3 Feb 2011 13:58:06 -0800 (PST) In-Reply-To: <20110203214614.5FD74190A4E@elbrus2.mtv.corp.google.com> References: <20110203214614.5FD74190A4E@elbrus2.mtv.corp.google.com> From: Paul Pluzhnikov Date: Thu, 03 Feb 2011 21:58:00 -0000 Message-ID: Subject: [patch 2/2] Speed up JIT support To: gdb-patches@sourceware.org Cc: pedro@codesourcery.com, vegorov@chromium.org, ppluzhnikov@google.com Content-Type: multipart/mixed; boundary=001636284f60191835049b67de5e 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-02/txt/msg00054.txt.bz2 --001636284f60191835049b67de5e Content-Type: text/plain; charset=ISO-8859-1 Content-length: 830 Greetings, This is the second part of the JIT speedup patch (applies on top of the first patch). I vaguely remember (but can't find a reference) that there is no CORE_ADDR that is guaranteed to always be invalid, and so my use of -1 for INVALID_CORE_ADDR may be problematic. I also forgot to mention: tested on Linux/x86_64, no regressions. Thanks, -- Paul Pluzhnikov 2010-02-03 Paul Pluzhnikov * breakpoint.c (longjmp_names): New variable. (struct breakpoint_objfile_data): New type. (breakpoint_objfile_key): New variable. (get_breakpoint_objfile_data): New function. (create_overlay_event_breakpoint): Adjust. (create_longjmp_master_breakpoint): Adjust. (create_std_terminate_master_breakpoint): Adjust. (create_exception_master_breakpoint): Adjust. (_initialize_breakpoint): Adjust. --001636284f60191835049b67de5e Content-Type: text/plain; charset=US-ASCII; name="gdb-jit-speedup-20110203a.txt" Content-Disposition: attachment; filename="gdb-jit-speedup-20110203a.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gjq7hi910 Content-length: 10940 LS0tIGJyZWFrcG9pbnQuYy5vcmlnCTIwMTEtMDItMDMgMTM6NDY6NDcuMDAw MDAwMDAwIC0wODAwCisrKyBicmVha3BvaW50LmMJMjAxMS0wMi0wMyAxMzo1 MTo0Ni4wMDAwMDAwMDAgLTA4MDAKQEAgLTIyMTcsNiArMjIxNyw0NiBAQCBj cmVhdGVfaW50ZXJuYWxfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyCiAgIHJl dHVybiBiOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgbG9uZ2pt cF9uYW1lc1tdID0KKyAgeworICAgICJsb25nam1wIiwgIl9sb25nam1wIiwg InNpZ2xvbmdqbXAiLCAiX3NpZ2xvbmdqbXAiCisgIH07CisjZGVmaW5lIE5V TV9MT05HSk1QX05BTUVTIFwKKyAgKHNpemVvZiAobG9uZ2ptcF9uYW1lcykg LyBzaXplb2YgKGxvbmdqbXBfbmFtZXNbMF0pKQorCisvKiBQZXItb2JqZmls ZSBkYXRhIHByaXZhdGUgdG8gYnJlYWtwb2ludC5jICAqLworc3RydWN0IGJy ZWFrcG9pbnRfb2JqZmlsZV9kYXRhCit7CisgIENPUkVfQUREUiBvdmVybGF5 X2JwX2FkZHI7CisgIENPUkVfQUREUiBsb25nam1wX2JwX2FkZHJbTlVNX0xP TkdKTVBfTkFNRVNdOworICBDT1JFX0FERFIgdGVybWluYXRlX2JwX2FkZHI7 CisgIENPUkVfQUREUiBleGNlcHRpb25fYnBfYWRkcjsKK307CisKK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgb2JqZmlsZV9kYXRhICpicmVha3BvaW50X29iamZp bGVfa2V5OworCisvKiBSZXR1cm4gcGVyLW9iamZpbGUgZGF0YSBuZWVkZWQg YnkgYnJlYWtwb2ludC5jLgorICAgQWxsb2NhdGUgdGhlIGRhdGEgaWYgbmVj ZXNzYXJ5LiAgKi8KKworc3RhdGljIHN0cnVjdCBicmVha3BvaW50X29iamZp bGVfZGF0YSAqCitnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQoreworICBzdHJ1Y3QgYnJlYWtwb2ludF9v YmpmaWxlX2RhdGEgKmJwX29iamZpbGVfZGF0YTsKKworICBicF9vYmpmaWxl X2RhdGEgPSBvYmpmaWxlX2RhdGEgKG9iamZpbGUsIGJyZWFrcG9pbnRfb2Jq ZmlsZV9rZXkpOworICBpZiAoYnBfb2JqZmlsZV9kYXRhID09IE5VTEwpCisg ICAgeworICAgICAgYnBfb2JqZmlsZV9kYXRhID0gb2JzdGFja19hbGxvYyAo Jm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKKwkJCQkgICAgICAgc2l6ZW9m ICgqYnBfb2JqZmlsZV9kYXRhKSk7CisKKyAgICAgIG1lbXNldCAoYnBfb2Jq ZmlsZV9kYXRhLCAwLCBzaXplb2YgKCpicF9vYmpmaWxlX2RhdGEpKTsKKyAg ICAgIHNldF9vYmpmaWxlX2RhdGEgKG9iamZpbGUsIGJyZWFrcG9pbnRfb2Jq ZmlsZV9rZXksIGJwX29iamZpbGVfZGF0YSk7CisgICAgfQorICByZXR1cm4g YnBfb2JqZmlsZV9kYXRhOworfQorCisjZGVmaW5lIElOVkFMSURfQ09SRV9B RERSICgoQ09SRV9BRERSKS0xKQorCiBzdGF0aWMgdm9pZAogY3JlYXRlX292 ZXJsYXlfZXZlbnRfYnJlYWtwb2ludCAodm9pZCkKIHsKQEAgLTIyMjYsMTQg KzIyNjYsMjkgQEAgY3JlYXRlX292ZXJsYXlfZXZlbnRfYnJlYWtwb2ludCAo dm9pZCkKICAgQUxMX09CSkZJTEVTIChvYmpmaWxlKQogICAgIHsKICAgICAg IHN0cnVjdCBicmVha3BvaW50ICpiOwotICAgICAgc3RydWN0IG1pbmltYWxf c3ltYm9sICptOworICAgICAgc3RydWN0IGJyZWFrcG9pbnRfb2JqZmlsZV9k YXRhICpicF9vYmpmaWxlX2RhdGE7CiAKLSAgICAgIG0gPSBsb29rdXBfbWlu aW1hbF9zeW1ib2xfdGV4dCAoZnVuY19uYW1lLCBvYmpmaWxlKTsKLSAgICAg IGlmIChtID09IE5VTEwpCi0gICAgICAgIGNvbnRpbnVlOworICAgICAgYnBf b2JqZmlsZV9kYXRhID0gZ2V0X2JyZWFrcG9pbnRfb2JqZmlsZV9kYXRhIChv YmpmaWxlKTsKKworICAgICAgaWYgKGJwX29iamZpbGVfZGF0YS0+b3Zlcmxh eV9icF9hZGRyID09IElOVkFMSURfQ09SRV9BRERSKQorCWNvbnRpbnVlOwor CisgICAgICBpZiAoYnBfb2JqZmlsZV9kYXRhLT5vdmVybGF5X2JwX2FkZHIg PT0gMCkKKwl7CisJICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wgKm07CisKKwkg IG0gPSBsb29rdXBfbWluaW1hbF9zeW1ib2xfdGV4dCAoZnVuY19uYW1lLCBv YmpmaWxlKTsKKwkgIGlmIChtID09IE5VTEwpCisJICAgIHsKKwkgICAgICAv KiBBdm9pZCBmdXR1cmUgbG9va3VwcyBpbiB0aGlzIG9iamZpbGUuICAqLwor CSAgICAgIGJwX29iamZpbGVfZGF0YS0+b3ZlcmxheV9icF9hZGRyID0gSU5W QUxJRF9DT1JFX0FERFI7CisJICAgICAgY29udGludWU7CisJICAgIH0KKwkg IGJwX29iamZpbGVfZGF0YS0+b3ZlcmxheV9icF9hZGRyID0gU1lNQk9MX1ZB TFVFX0FERFJFU1MgKG0pOworCX0KIAogICAgICAgYiA9IGNyZWF0ZV9pbnRl cm5hbF9icmVha3BvaW50IChnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKSwK LQkJCQkgICAgICBTWU1CT0xfVkFMVUVfQUREUkVTUyAobSksCisJCQkJICAg ICAgYnBfb2JqZmlsZV9kYXRhLT5vdmVybGF5X2JwX2FkZHIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJwX292ZXJsYXlfZXZl bnQpOwogICAgICAgYi0+YWRkcl9zdHJpbmcgPSB4c3RyZHVwIChmdW5jX25h bWUpOwogCkBAIC0yMjY3LDMwICsyMzIyLDQxIEBAIGNyZWF0ZV9sb25nam1w X21hc3Rlcl9icmVha3BvaW50ICh2b2lkKQogCiAgICAgQUxMX09CSkZJTEVT IChvYmpmaWxlKQogICAgIHsKLSAgICAgIGNvbnN0IGNoYXIgKmNvbnN0IGxv bmdqbXBfbmFtZXNbXQotCT0geyAibG9uZ2ptcCIsICJfbG9uZ2ptcCIsICJz aWdsb25nam1wIiwgIl9zaWdsb25nam1wIiB9OwotICAgICAgY29uc3QgaW50 IG51bV9sb25nam1wX25hbWVzCi0JPSBzaXplb2YgKGxvbmdqbXBfbmFtZXMp IC8gc2l6ZW9mIChsb25nam1wX25hbWVzWzBdKTsKICAgICAgIGludCBpOwog ICAgICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7CisgICAgICBzdHJ1Y3Qg YnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKmJwX29iamZpbGVfZGF0YTsKIAog ICAgICAgZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwog ICAgICAgaWYgKCFnZGJhcmNoX2dldF9sb25nam1wX3RhcmdldF9wIChnZGJh cmNoKSkKIAljb250aW51ZTsKIAotICAgICAgZm9yIChpID0gMDsgaSA8IG51 bV9sb25nam1wX25hbWVzOyBpKyspCisgICAgICBicF9vYmpmaWxlX2RhdGEg PSBnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKG9iamZpbGUpOworCisg ICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX0xPTkdKTVBfTkFNRVM7IGkrKykK IAl7CiAJICBzdHJ1Y3QgYnJlYWtwb2ludCAqYjsKLQkgIHN0cnVjdCBtaW5p bWFsX3N5bWJvbCAqbTsKIAkgIGNvbnN0IGNoYXIgKmZ1bmNfbmFtZTsKIAot CSAgZnVuY19uYW1lID0gbG9uZ2ptcF9uYW1lc1tpXTsKLQkgIG0gPSBsb29r dXBfbWluaW1hbF9zeW1ib2xfdGV4dCAoZnVuY19uYW1lLCBvYmpmaWxlKTsK LQkgIGlmIChtID09IE5VTEwpCisJICBpZiAoYnBfb2JqZmlsZV9kYXRhLT5s b25nam1wX2JwX2FkZHJbaV0gPT0gSU5WQUxJRF9DT1JFX0FERFIpCiAJICAg IGNvbnRpbnVlOwogCisJICBmdW5jX25hbWUgPSBsb25nam1wX25hbWVzW2ld OworCSAgaWYgKGJwX29iamZpbGVfZGF0YS0+bG9uZ2ptcF9icF9hZGRyW2ld ID09IDApCisJICAgIHsKKwkgICAgICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wg Km07CisKKwkgICAgICBtID0gbG9va3VwX21pbmltYWxfc3ltYm9sX3RleHQg KGZ1bmNfbmFtZSwgb2JqZmlsZSk7CisJICAgICAgaWYgKG0gPT0gTlVMTCkK KwkJeworCQkgIC8qIFByZXZlbnQgZnV0dXJlIGxvb2t1cHMgaW4gdGhpcyBv YmpmaWxlLiAgKi8KKwkJICBicF9vYmpmaWxlX2RhdGEtPmxvbmdqbXBfYnBf YWRkcltpXSA9IElOVkFMSURfQ09SRV9BRERSOworCQkgIGNvbnRpbnVlOwor CQl9CisJICAgICAgYnBfb2JqZmlsZV9kYXRhLT5sb25nam1wX2JwX2FkZHJb aV0gPSBTWU1CT0xfVkFMVUVfQUREUkVTUyAobSk7CisJICAgIH0KKwogCSAg YiA9IGNyZWF0ZV9pbnRlcm5hbF9icmVha3BvaW50IChnZGJhcmNoLAotCQkJ CQkgIFNZTUJPTF9WQUxVRV9BRERSRVNTIChtKSwKKwkJCQkJICBicF9vYmpm aWxlX2RhdGEtPmxvbmdqbXBfYnBfYWRkcltpXSwKIAkJCQkJICBicF9sb25n am1wX21hc3Rlcik7CiAJICBiLT5hZGRyX3N0cmluZyA9IHhzdHJkdXAgKGZ1 bmNfbmFtZSk7CiAJICBiLT5lbmFibGVfc3RhdGUgPSBicF9kaXNhYmxlZDsK QEAgLTIzMDcsMzEgKzIzNzMsNTAgQEAgc3RhdGljIHZvaWQKIGNyZWF0ZV9z dGRfdGVybWluYXRlX21hc3Rlcl9icmVha3BvaW50ICh2b2lkKQogewogICBz dHJ1Y3QgcHJvZ3JhbV9zcGFjZSAqcHNwYWNlOwotICBzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZTsKICAgc3RydWN0IGNsZWFudXAgKm9sZF9jaGFpbjsKICAg Y29uc3QgY2hhciAqY29uc3QgZnVuY19uYW1lID0gInN0ZDo6dGVybWluYXRl KCkiOwogCiAgIG9sZF9jaGFpbiA9IHNhdmVfY3VycmVudF9wcm9ncmFtX3Nw YWNlICgpOwogCiAgIEFMTF9QU1BBQ0VTIChwc3BhY2UpCisgIHsKKyAgICBz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZTsKKworICAgIHNldF9jdXJyZW50X3By b2dyYW1fc3BhY2UgKHBzcGFjZSk7CisKICAgICBBTExfT0JKRklMRVMgKG9i amZpbGUpCiAgICAgewogICAgICAgc3RydWN0IGJyZWFrcG9pbnQgKmI7Ci0g ICAgICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wgKm07CisgICAgICBzdHJ1Y3Qg YnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKmJwX29iamZpbGVfZGF0YTsKIAot ICAgICAgc2V0X2N1cnJlbnRfcHJvZ3JhbV9zcGFjZSAocHNwYWNlKTsKKyAg ICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9icmVha3BvaW50X29iamZpbGVf ZGF0YSAob2JqZmlsZSk7CiAKLSAgICAgIG0gPSBsb29rdXBfbWluaW1hbF9z eW1ib2wgKGZ1bmNfbmFtZSwgTlVMTCwgb2JqZmlsZSk7Ci0gICAgICBpZiAo bSA9PSBOVUxMIHx8IChNU1lNQk9MX1RZUEUgKG0pICE9IG1zdF90ZXh0Ci0J CQkmJiBNU1lNQk9MX1RZUEUgKG0pICE9IG1zdF9maWxlX3RleHQpKQotICAg ICAgICBjb250aW51ZTsKKyAgICAgIGlmIChicF9vYmpmaWxlX2RhdGEtPnRl cm1pbmF0ZV9icF9hZGRyID09IElOVkFMSURfQ09SRV9BRERSKQorCWNvbnRp bnVlOworCisgICAgICBpZiAoYnBfb2JqZmlsZV9kYXRhLT50ZXJtaW5hdGVf YnBfYWRkciA9PSAwKQorCXsKKwkgIHN0cnVjdCBtaW5pbWFsX3N5bWJvbCAq bTsKKworCSAgbSA9IGxvb2t1cF9taW5pbWFsX3N5bWJvbCAoZnVuY19uYW1l LCBOVUxMLCBvYmpmaWxlKTsKKwkgIGlmIChtID09IE5VTEwgfHwgKE1TWU1C T0xfVFlQRSAobSkgIT0gbXN0X3RleHQKKwkJCSAgICAmJiBNU1lNQk9MX1RZ UEUgKG0pICE9IG1zdF9maWxlX3RleHQpKQorCSAgICB7CisJICAgICAgLyog UHJldmVudCBmdXR1cmUgbG9va3VwcyBpbiB0aGlzIG9iamZpbGUuICAqLwor CSAgICAgIGJwX29iamZpbGVfZGF0YS0+dGVybWluYXRlX2JwX2FkZHIgPSBJ TlZBTElEX0NPUkVfQUREUjsKKwkgICAgICBjb250aW51ZTsKKwkgICAgfQor CSAgYnBfb2JqZmlsZV9kYXRhLT50ZXJtaW5hdGVfYnBfYWRkciA9IFNZTUJP TF9WQUxVRV9BRERSRVNTIChtKTsKKwl9CiAKICAgICAgIGIgPSBjcmVhdGVf aW50ZXJuYWxfYnJlYWtwb2ludCAoZ2V0X29iamZpbGVfYXJjaCAob2JqZmls ZSksCi0JCQkJICAgICAgU1lNQk9MX1ZBTFVFX0FERFJFU1MgKG0pLAorCQkJ CSAgICAgIGJwX29iamZpbGVfZGF0YS0+dGVybWluYXRlX2JwX2FkZHIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJwX3N0ZF90 ZXJtaW5hdGVfbWFzdGVyKTsKICAgICAgIGItPmFkZHJfc3RyaW5nID0geHN0 cmR1cCAoZnVuY19uYW1lKTsKICAgICAgIGItPmVuYWJsZV9zdGF0ZSA9IGJw X2Rpc2FibGVkOwogICAgIH0KKyAgfQorCiAgIHVwZGF0ZV9nbG9iYWxfbG9j YXRpb25fbGlzdCAoMSk7CiAKICAgZG9fY2xlYW51cHMgKG9sZF9jaGFpbik7 CkBAIC0yMzQzLDI0ICsyNDI4LDQ1IEBAIHZvaWQKIGNyZWF0ZV9leGNlcHRp b25fbWFzdGVyX2JyZWFrcG9pbnQgKHZvaWQpCiB7CiAgIHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlOworICBjb25zdCBjaGFyICpjb25zdCBmdW5jX25hbWUg PSAiX1Vud2luZF9EZWJ1Z0hvb2siOwogCiAgIEFMTF9PQkpGSUxFUyAob2Jq ZmlsZSkKICAgICB7Ci0gICAgICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wgKmRl YnVnX2hvb2s7CisgICAgICBzdHJ1Y3QgYnJlYWtwb2ludCAqYjsKKyAgICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOworICAgICAgc3RydWN0IGJyZWFr cG9pbnRfb2JqZmlsZV9kYXRhICpicF9vYmpmaWxlX2RhdGE7CiAKLSAgICAg IGRlYnVnX2hvb2sgPSBsb29rdXBfbWluaW1hbF9zeW1ib2wgKCJfVW53aW5k X0RlYnVnSG9vayIsIE5VTEwsIG9iamZpbGUpOwotICAgICAgaWYgKGRlYnVn X2hvb2sgIT0gTlVMTCkKKyAgICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9i cmVha3BvaW50X29iamZpbGVfZGF0YSAob2JqZmlsZSk7CisKKyAgICAgIGlm IChicF9vYmpmaWxlX2RhdGEtPmV4Y2VwdGlvbl9icF9hZGRyID09IElOVkFM SURfQ09SRV9BRERSKQorCWNvbnRpbnVlOworCisgICAgICBnZGJhcmNoID0g Z2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CisKKyAgICAgIGlmIChicF9v YmpmaWxlX2RhdGEtPmV4Y2VwdGlvbl9icF9hZGRyID09IDApCiAJewotCSAg c3RydWN0IGJyZWFrcG9pbnQgKmI7Ci0JICBDT1JFX0FERFIgYWRkciA9IFNZ TUJPTF9WQUxVRV9BRERSRVNTIChkZWJ1Z19ob29rKTsKLQkgIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7 CisJICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wgKmRlYnVnX2hvb2s7CisJICBD T1JFX0FERFIgYWRkcjsKIAotCSAgYWRkciA9IGdkYmFyY2hfY29udmVydF9m cm9tX2Z1bmNfcHRyX2FkZHIgKGdkYmFyY2gsIGFkZHIsCi0JCQkJCQkgICAg ICZjdXJyZW50X3RhcmdldCk7Ci0JICBiID0gY3JlYXRlX2ludGVybmFsX2Jy ZWFrcG9pbnQgKGdkYmFyY2gsIGFkZHIsIGJwX2V4Y2VwdGlvbl9tYXN0ZXIp OwotCSAgYi0+YWRkcl9zdHJpbmcgPSB4c3RyZHVwICgiX1Vud2luZF9EZWJ1 Z0hvb2siKTsKLQkgIGItPmVuYWJsZV9zdGF0ZSA9IGJwX2Rpc2FibGVkOwor CSAgZGVidWdfaG9vayA9IGxvb2t1cF9taW5pbWFsX3N5bWJvbCAoZnVuY19u YW1lLCBOVUxMLCBvYmpmaWxlKTsKKwkgIGlmIChkZWJ1Z19ob29rID09IE5V TEwpCisJICAgIHsKKwkgICAgICBicF9vYmpmaWxlX2RhdGEtPmV4Y2VwdGlv bl9icF9hZGRyID0gSU5WQUxJRF9DT1JFX0FERFI7CisJICAgICAgY29udGlu dWU7CisJICAgIH0KKworCSAgYWRkciA9IFNZTUJPTF9WQUxVRV9BRERSRVNT IChkZWJ1Z19ob29rKTsKKworCSAgYnBfb2JqZmlsZV9kYXRhLT5leGNlcHRp b25fYnBfYWRkcgorCSAgICA9IGdkYmFyY2hfY29udmVydF9mcm9tX2Z1bmNf cHRyX2FkZHIgKGdkYmFyY2gsIGFkZHIsCisJCQkJCQkgICZjdXJyZW50X3Rh cmdldCk7CiAJfQorCisgICAgICBiID0gY3JlYXRlX2ludGVybmFsX2JyZWFr cG9pbnQgKGdkYmFyY2gsCisJCQkJICAgICAgYnBfb2JqZmlsZV9kYXRhLT5l eGNlcHRpb25fYnBfYWRkciwKKwkJCQkgICAgICBicF9leGNlcHRpb25fbWFz dGVyKTsKKyAgICAgIGItPmFkZHJfc3RyaW5nID0geHN0cmR1cCAoZnVuY19u YW1lKTsKKyAgICAgIGItPmVuYWJsZV9zdGF0ZSA9IGJwX2Rpc2FibGVkOwog ICAgIH0KIAogICB1cGRhdGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKDEpOwpA QCAtMTIwNzEsNiArMTIxNzcsOCBAQCBfaW5pdGlhbGl6ZV9icmVha3BvaW50 ICh2b2lkKQogICBvYnNlcnZlcl9hdHRhY2hfaW5mZXJpb3JfZXhpdCAoY2xl YXJfc3lzY2FsbF9jb3VudHMpOwogICBvYnNlcnZlcl9hdHRhY2hfbWVtb3J5 X2NoYW5nZWQgKGludmFsaWRhdGVfYnBfdmFsdWVfb25fbWVtb3J5X2NoYW5n ZSk7CiAKKyAgYnJlYWtwb2ludF9vYmpmaWxlX2tleSA9IHJlZ2lzdGVyX29i amZpbGVfZGF0YSAoKTsKKwogICBicmVha3BvaW50X2NoYWluID0gMDsKICAg LyogRG9uJ3QgYm90aGVyIHRvIGNhbGwgc2V0X2JyZWFrcG9pbnRfY291bnQu ICAkYnBudW0gaXNuJ3QgdXNlZnVsCiAgICAgIGJlZm9yZSBhIGJyZWFrcG9p bnQgaXMgc2V0LiAgKi8K --001636284f60191835049b67de5e--