From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15620 invoked by alias); 26 Nov 2007 23:22:55 -0000 Received: (qmail 15607 invoked by uid 22791); 26 Nov 2007 23:22:53 -0000 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.31) with ESMTP; Mon, 26 Nov 2007 23:22:47 +0000 Received: from zps77.corp.google.com (zps77.corp.google.com [172.25.146.77]) by smtp-out.google.com with ESMTP id lAQNMfB7024014 for ; Mon, 26 Nov 2007 15:22:41 -0800 Received: from wa-out-1112.google.com (wafm16.prod.google.com [10.114.189.16]) by zps77.corp.google.com with ESMTP id lAQNLGQ7009093 for ; Mon, 26 Nov 2007 15:22:40 -0800 Received: by wa-out-1112.google.com with SMTP id m16so1266714waf for ; Mon, 26 Nov 2007 15:22:40 -0800 (PST) Received: by 10.114.161.11 with SMTP id j11mr142686wae.1196119360526; Mon, 26 Nov 2007 15:22:40 -0800 (PST) Received: by 10.115.107.7 with HTTP; Mon, 26 Nov 2007 15:22:40 -0800 (PST) Message-ID: Date: Mon, 26 Nov 2007 23:22:00 -0000 From: "Douglas Evans" To: "Vladimir Prus" Subject: Re: RFA: patch to fix multi-breakpoint enable/disable handling of inline functions Cc: gdb-patches@sources.redhat.com In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_36256_13915778.1196119360517" References: <20071016001816.F059B1C7E69@localhost> 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: 2007-11/txt/msg00496.txt.bz2 ------=_Part_36256_13915778.1196119360517 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 360 How about this version? Here I use libiberty/hashtab.c to determine function name ambiguity. It turns out the bug exists for constructors too. I.e. l->function_name for "Derived" in the gdb.cp/mb-ctor testcase is "Derived" for both locations. I wonder if for this particular situation l->function_name should record an "enhanced" name to distinguish them. ------=_Part_36256_13915778.1196119360517 Content-Type: text/x-patch; name=gdb-071126-mb-inline-3.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f9hmk0qt0 Content-Disposition: attachment; filename=gdb-071126-mb-inline-3.patch Content-length: 14157 Q29uc2lkZXI6CgpkamVAcnVmZnk6fi9nbnUvc291cmNld2FyZS9oZWFkL29i ai9nZGIvdGVzdHN1aXRlL2dkYi5jcCQgfi9nbnUvc291cmNld2FyZS9oZWFk L3JlbC9iaW4vZ2RiIG1iLWlubGluZQpHTlUgZ2RiIDYuNy41MC0yMDA3MTAw OS1jdnMKQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMg b3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpU aGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2Ug YW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRv IHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4gIFR5cGUgInNob3cgY29w eWluZyIKYW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4KVGhpcyBH REIgd2FzIGNvbmZpZ3VyZWQgYXMgImkzODYtbGludXgiLi4uClVzaW5nIGhv c3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi9saWIvdGxzL2k2ODYvY21vdi9s aWJ0aHJlYWRfZGIuc28uMSIuCihnZGIpIGIgbWItaW5saW5lLmg6NgpCcmVh a3BvaW50IDEgYXQgMHg4MDQ4M2U5OiBmaWxlIC4uLy4uLy4uL3NyYy9nZGIv dGVzdHN1aXRlL2dkYi5jcC9tYi1pbmxpbmUuaCwgbGluZSA2LiAoMiBsb2Nh dGlvbnMpCihnZGIpIGkgYgpOdW0gICAgIFR5cGUgICAgICAgICAgIERpc3Ag RW5iICBBZGRyZXNzICAgIFdoYXQKMSAgICAgICBicmVha3BvaW50ICAgICBr ZWVwIHkgICAgPE1VTFRJUExFPgoxLjEgICAgICAgICAgICAgICAgICAgICAg ICAgeSAgICAweDA4MDQ4M2U5IGluIGZvbwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGF0IC4uLy4uLy4uL3NyYy9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9tYi1pbmxpbmUuaDo2CjEuMiAgICAgICAgICAgICAgICAg ICAgICAgICB5ICAgIDB4MDgwNDg0M2QgaW4gZm9vCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYXQgLi4vLi4vLi4vc3JjL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL21iLWlubGluZS5oOjYKKGdkYikgZGlzIDEuMgoo Z2RiKSBpIGIKTnVtICAgICBUeXBlICAgICAgICAgICBEaXNwIEVuYiAgQWRk cmVzcyAgICBXaGF0CjEgICAgICAgYnJlYWtwb2ludCAgICAga2VlcCB5ICAg IDxNVUxUSVBMRT4KMS4xICAgICAgICAgICAgICAgICAgICAgICAgIHkgICAg MHgwODA0ODNlOSBpbiBmb28KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhdCAuLi8uLi8uLi9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbWItaW5saW5lLmg6NgoxLjIgICAgICAgICAgICAgICAgICAgICAgICAg biAgICAweDA4MDQ4NDNkIGluIGZvbwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGF0IC4uLy4uLy4uL3NyYy9nZGIvdGVzdHN1aXRl L2dkYi5jcC9tYi1pbmxpbmUuaDo2CihnZGIpIHIKU3RhcnRpbmcgcHJvZ3Jh bTogL2hvbWUvZGplL2dudS9zb3VyY2V3YXJlL2hlYWQvb2JqL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL21iLWlubGluZQoKQnJlYWtwb2ludCAxLCBmb28gKGk9 MSkgYXQgLi4vLi4vLi4vc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL21iLWlu bGluZS5oOjYKNiAgICAgICAgIHJldHVybiBpOyAvLyBzZXQgYnJlYWtwb2lu dCBoZXJlCihnZGIpIGkgYgpOdW0gICAgIFR5cGUgICAgICAgICAgIERpc3Ag RW5iICBBZGRyZXNzICAgIFdoYXQKMSAgICAgICBicmVha3BvaW50ICAgICBr ZWVwIHkgICAgPE1VTFRJUExFPgogICAgICAgYnJlYWtwb2ludCBhbHJlYWR5 IGhpdCAxIHRpbWUKMS4xICAgICAgICAgICAgICAgICAgICAgICAgIG4gICAg MHgwODA0ODNlOSBpbiBmb28KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhdCAuLi8uLi8uLi9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbWItaW5saW5lLmg6NgoxLjIgICAgICAgICAgICAgICAgICAgICAgICAg eSAgICAweDA4MDQ4NDNkIGluIGZvbwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGF0IC4uLy4uLy4uL3NyYy9nZGIvdGVzdHN1aXRl L2dkYi5jcC9tYi1pbmxpbmUuaDo2CihnZGIpCgpOb3RlIHRoYXQgMS4xIGlz IG5vdyBkaXNhYmxlZCBhbmQgMS4yIGlzIGVuYWJsZWQuCgpIZXJlJ3MgYSBw YXRjaC4KVGhlcmUgaXMgYSBoZXVyaXN0aWMgaW52b2x2ZWQgaW4ga25vd2lu ZyB3aGVuIHRvIG5vdCBjb21wYXJlIGZ1bmN0aW9uIG5hbWVzLgpJJ3ZlIHRy aWVkIHRvIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgcmVhc29uYWJsZS4KCjIw MDctMTAtMTUgIERvdWcgRXZhbnMgIDxkamVAZ29vZ2xlLmNvbT4KCgkqIGJy ZWFrcG9pbnQuYzogI2luY2x1ZGUgImhhc2h0YWIuaCIuCgkoYW1iaWd1b3Vz X25hbWVzX3ApOiBOZXcgZm4uCgkodXBkYXRlX2JyZWFrcG9pbnRfbG9jYXRp b25zKTogV2hlbiByZXN0b3JpbmcgYnAgZW5hYmxlIHN0YXR1cywgZG9uJ3QK CWNvbXBhcmUgZnVuY3Rpb24gbmFtZXMgaWYgYW55IGZ1bmN0aW9ucyBoYXZl IHNhbWUgbmFtZS4KCgkqIGdkYi5jcC9tYi1pbmxpbmUuZXhwOiBOZXcuCgkq IGdkYi5jcC9tYi1pbmxpbmUuaDogTmV3LgoJKiBnZGIuY3AvbWItaW5saW5l MS5jYzogTmV3LgoJKiBnZGIuY3AvbWItaW5saW5lMi5jYzogTmV3LgoKSW5k ZXg6IGJyZWFrcG9pbnQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2JyZWFrcG9pbnQuYyx2CnJldHJpZXZp bmcgcmV2aXNpb24gMS4yODQKZGlmZiAtdSAtcCAtdSAtcCAtcjEuMjg0IGJy ZWFrcG9pbnQuYwotLS0gYnJlYWtwb2ludC5jCTIzIE5vdiAyMDA3IDE2OjU0 OjM0IC0wMDAwCTEuMjg0CisrKyBicmVha3BvaW50LmMJMjYgTm92IDIwMDcg MjM6MTA6MTkgLTAwMDAKQEAgLTIxLDYgKzIxLDcgQEAKIAogI2luY2x1ZGUg ImRlZnMuaCIKICNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgImhhc2h0 YWIuaCIKICNpbmNsdWRlICJzeW10YWIuaCIKICNpbmNsdWRlICJmcmFtZS5o IgogI2luY2x1ZGUgImJyZWFrcG9pbnQuaCIKQEAgLTczMzcsNiArNzMzOCw0 NCBAQCBhbGxfbG9jYXRpb25zX2FyZV9wZW5kaW5nIChzdHJ1Y3QgYnBfbG9j CiAgIHJldHVybiAxOwogfQogCisvKiBTdWJyb3V0aW5lIG9mIHVwZGF0ZV9i cmVha3BvaW50X2xvY2F0aW9ucyB0byBzaW1wbGlmeSBpdC4KKyAgIFJldHVy biBub24temVybyBpZiBtdWx0aXBsZSBmbnMgaW4gbGlzdCBMT0MgaGF2ZSB0 aGUgc2FtZSBuYW1lLgorICAgTnVsbCBuYW1lcyBhcmUgaWdub3JlZC4gICov CisKK3N0YXRpYyBpbnQKK2FtYmlndW91c19uYW1lc19wIChzdHJ1Y3QgYnBf bG9jYXRpb24gKmxvYykKK3sKKyAgc3RydWN0IGJwX2xvY2F0aW9uICpsOwor ICBodGFiX3QgaHRhYiA9IGh0YWJfY3JlYXRlX2FsbG9jICgxMywgaHRhYl9o YXNoX3N0cmluZywKKwkJCQkgICAoaW50ICgqKSAoY29uc3Qgdm9pZCAqLCBj b25zdCB2b2lkICopKSBzdHJlcSwKKwkJCQkgICBOVUxMLCB4Y2FsbG9jLCB4 ZnJlZSk7CisKKyAgZm9yIChsID0gbG9jOyBsICE9IE5VTEw7IGwgPSBsLT5u ZXh0KQorICAgIHsKKyAgICAgIGhhc2h2YWxfdCBoYXNodmFsOworICAgICAg Y29uc3QgY2hhciAqKnNsb3Q7CisgICAgICBjb25zdCBjaGFyICpuYW1lID0g bC0+ZnVuY3Rpb25fbmFtZTsKKworICAgICAgLyogQWxsb3cgZm9yIHNvbWUg bmFtZXMgdG8gYmUgTlVMTCwgaWdub3JlIHRoZW0uICAqLworICAgICAgaWYg KG5hbWUgPT0gTlVMTCkKKwljb250aW51ZTsKKworICAgICAgc2xvdCA9IChj b25zdCBjaGFyICoqKSBodGFiX2ZpbmRfc2xvdCAoaHRhYiwgKGNvbnN0IHZv aWQgKikgbmFtZSwKKwkJCQkJICAgICBJTlNFUlQpOworICAgICAgLyogTk9U RTogV2UgY2FuIGFzc3VtZSBzbG90ICE9IE5VTEwgaGVyZSBiZWNhdXNlIHhj YWxsb2MgbmV2ZXIgcmV0dXJucworCSBOVUxMLiAgKi8KKyAgICAgIGlmICgq c2xvdCAhPSBOVUxMKQorCXsKKwkgIGh0YWJfZGVsZXRlIChodGFiKTsKKwkg IHJldHVybiAxOworCX0KKyAgICAgICpzbG90ID0gbmFtZTsKKyAgICB9CisK KyAgaHRhYl9kZWxldGUgKGh0YWIpOworICByZXR1cm4gMDsKK30KKwogc3Rh dGljIHZvaWQKIHVwZGF0ZV9icmVha3BvaW50X2xvY2F0aW9ucyAoc3RydWN0 IGJyZWFrcG9pbnQgKmIsCiAJCQkgICAgIHN0cnVjdCBzeW10YWJzX2FuZF9s aW5lcyBzYWxzKQpAQCAtNzM5OSwxOCArNzQzOCwzNyBAQCB1cGRhdGVfYnJl YWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVhCiAgIC8qIElmIHBvc3Np YmxlLCBjYXJyeSBvdmVyICdkaXNhYmxlJyBzdGF0dXMgZnJvbSBleGlzdGlu ZyBicmVha3BvaW50cy4gICovCiAgIHsKICAgICBzdHJ1Y3QgYnBfbG9jYXRp b24gKmUgPSBleGlzdGluZ19sb2NhdGlvbnM7CisgICAgLyogSWYgdGhlcmUg YXJlIG11bHRpcGxlIGJyZWFrcG9pbnRzIHdpdGggdGhlIHNhbWUgZnVuY3Rp b24gbmFtZSwKKyAgICAgICBlLmcuIGZvciBpbmxpbmUgZnVuY3Rpb25zLCBj b21wYXJpbmcgZnVuY3Rpb24gbmFtZXMgd29uJ3Qgd29yay4KKyAgICAgICBJ bnN0ZWFkIGNvbXBhcmUgcGMgYWRkcmVzc2VzOyB0aGlzIGlzIGp1c3QgYSBo ZXVyaXN0aWMgYXMgdGhpbmdzCisgICAgICAgbWF5IGhhdmUgbW92ZWQsIGJ1 dCBpbiBwcmFjdGljZSBpdCBnaXZlcyB0aGUgY29ycmVjdCBhbnN3ZXIKKyAg ICAgICBvZnRlbiBlbm91Z2ggdW50aWwgYSBiZXR0ZXIgc29sdXRpb24gaXMg Zm91bmQuICAqLworICAgIGludCBoYXZlX2FtYmlndW91c19uYW1lcyA9IGFt YmlndW91c19uYW1lc19wIChiLT5sb2MpOworCiAgICAgZm9yICg7IGU7IGUg PSBlLT5uZXh0KQogICAgICAgewogCWlmICghZS0+ZW5hYmxlZCAmJiBlLT5m dW5jdGlvbl9uYW1lKQogCSAgewogCSAgICBzdHJ1Y3QgYnBfbG9jYXRpb24g KmwgPSBiLT5sb2M7Ci0JICAgIGZvciAoOyBsOyBsID0gbC0+bmV4dCkKLQkg ICAgICBpZiAobC0+ZnVuY3Rpb25fbmFtZSAKLQkJICAmJiBzdHJjbXAgKGUt PmZ1bmN0aW9uX25hbWUsIGwtPmZ1bmN0aW9uX25hbWUpID09IDApCi0JCXsK LQkJICBsLT5lbmFibGVkID0gMDsKLQkJICBicmVhazsKLQkJfQorCSAgICBp ZiAoaGF2ZV9hbWJpZ3VvdXNfbmFtZXMpCisJICAgICAgeworCQlmb3IgKDsg bDsgbCA9IGwtPm5leHQpCisJCSAgaWYgKGUtPmFkZHJlc3MgPT0gbC0+YWRk cmVzcykKKwkJICAgIHsKKwkJICAgICAgbC0+ZW5hYmxlZCA9IDA7CisJCSAg ICAgIGJyZWFrOworCQkgICAgfQorCSAgICAgIH0KKwkgICAgZWxzZQorCSAg ICAgIHsKKwkJZm9yICg7IGw7IGwgPSBsLT5uZXh0KQorCQkgIGlmIChsLT5m dW5jdGlvbl9uYW1lCisJCSAgICAgICYmIHN0cmNtcCAoZS0+ZnVuY3Rpb25f bmFtZSwgbC0+ZnVuY3Rpb25fbmFtZSkgPT0gMCkKKwkJICAgIHsKKwkJICAg ICAgbC0+ZW5hYmxlZCA9IDA7CisJCSAgICAgIGJyZWFrOworCQkgICAgfQor CSAgICAgIH0KIAkgIH0KICAgICAgIH0KICAgfQpJbmRleDogdGVzdHN1aXRl L2dkYi5jcC9tYi1pbmxpbmUuZXhwCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IHRlc3RzdWl0ZS9nZGIuY3AvbWItaW5saW5lLmV4cApkaWZm IC1OIHRlc3RzdWl0ZS9nZGIuY3AvbWItaW5saW5lLmV4cAotLS0gL2Rldi9u dWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIHRlc3RzdWl0ZS9n ZGIuY3AvbWItaW5saW5lLmV4cAkyNiBOb3YgMjAwNyAyMzoxMDoxOSAtMDAw MApAQCAtMCwwICsxLDEwOCBAQAorIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKwor IyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4KKwor IyBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzZXR0aW5nIGJyZWFrcG9pbnQg b24gbGluZSBpbiBpbmxpbmUKKyMgZnVuY3Rpb24gd2lsbCBmaXJlIGluIGFs bCBpbnN0YW50aWF0aW9ucyBvZiB0aGF0IGZ1bmN0aW9uLgorCitpZiAkdHJh Y2VsZXZlbCB0aGVuIHsKKyAgICBzdHJhY2UgJHRyYWNlbGV2ZWwKK30KKwor aWYgeyBbc2tpcF9jcGx1c190ZXN0c10gfSB7IGNvbnRpbnVlIH0KKworc2V0 IHBybXNfaWQgMAorc2V0IGJ1Z19pZCAwCisKK3NldCB0ZXN0ZmlsZSAibWIt aW5saW5lIgorc2V0IGhkcmZpbGUgIiR7dGVzdGZpbGV9LmgiCitzZXQgc3Jj ZmlsZTEgIiR7dGVzdGZpbGV9MS5jYyIKK3NldCBvYmpmaWxlMSAiJHt0ZXN0 ZmlsZX0xLm8iCitzZXQgc3JjZmlsZTIgIiR7dGVzdGZpbGV9Mi5jYyIKK3Nl dCBvYmpmaWxlMiAiJHt0ZXN0ZmlsZX0yLm8iCitzZXQgYmluZmlsZSAgIiR7 b2JqZGlyfS8ke3N1YmRpcn0vJHt0ZXN0ZmlsZX0iCisKK2lmICB7IFtnZGJf Y29tcGlsZSAiJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlMSIgIiRvYmpkaXIv JHN1YmRpci8kb2JqZmlsZTEiIG9iamVjdCB7ZGVidWcgYysrfV0gIT0gIiIg fSB7CisgICAgIHVudGVzdGVkIHJ0dGkuZXhwCisgICAgIHJldHVybiAtMQor fQorCitpZiAgeyBbZ2RiX2NvbXBpbGUgIiRzcmNkaXIvJHN1YmRpci8kc3Jj ZmlsZTIiICIkb2JqZGlyLyRzdWJkaXIvJG9iamZpbGUyIiBvYmplY3Qge2Rl YnVnIGMrK31dICE9ICIiIH0geworICAgICB1bnRlc3RlZCBydHRpLmV4cAor ICAgICByZXR1cm4gLTEKK30KKworaWYgIHsgW2dkYl9jb21waWxlICIkb2Jq ZGlyLyRzdWJkaXIvJG9iamZpbGUxICRvYmpkaXIvJHN1YmRpci8kb2JqZmls ZTIiICIke2JpbmZpbGV9IiBleGVjdXRhYmxlIHtkZWJ1ZyBjKyt9XSAhPSAi IiB9IHsKKyAgICAgdW50ZXN0ZWQgcnR0aS5leHAKKyAgICAgcmV0dXJuIC0x Cit9CisKK2lmIFtnZXRfY29tcGlsZXJfaW5mbyAke2JpbmZpbGV9ICJjKysi XSB7CisgICAgcmV0dXJuIC0xCit9CisKK2dkYl9leGl0CitnZGJfc3RhcnQK K2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorZ2RiX2xv YWQgJHtiaW5maWxlfQorCitzZXQgYnBfbG9jYXRpb24gW2dkYl9nZXRfbGlu ZV9udW1iZXIgInNldCBicmVha3BvaW50IGhlcmUiICRoZHJmaWxlXQorCisj IFNldCBhIGJyZWFrcG9pbnQgd2l0aCBtdWx0aXBsZSBsb2NhdGlvbnMuCisK K2dkYl90ZXN0ICJicmVhayAkaGRyZmlsZTokYnBfbG9jYXRpb24iIFwKKyAg ICAiQnJlYWtwb2ludC4qYXQuKiBmaWxlIC4qJGhkcmZpbGUsIGxpbmUuKlxc KDIgbG9jYXRpb25zXFwpLioiIFwKKyAgICAic2V0IGJyZWFrcG9pbnQiCisK K2dkYl9ydW5fY21kCitnZGJfZXhwZWN0IHsKKyAgICAtcmUgIkJyZWFrcG9p bnQgXFswLTlcXSssLipmb28gXFwoaT0wXFwpLiokZ2RiX3Byb21wdCAkIiB7 CisJcGFzcyAicnVuIHRvIGJyZWFrcG9pbnQiCisgICAgfQorICAgIC1yZSAi JGdkYl9wcm9tcHQgJCIgeworCWZhaWwgInJ1biB0byBicmVha3BvaW50Igor ICAgIH0KKyAgICB0aW1lb3V0IHsKKwlmYWlsICJydW4gdG8gYnJlYWtwb2lu dCAodGltZW91dCkiCisgICAgfQorfQorCitnZGJfdGVzdCAiY29udGludWUi IFwKKyAgICAiLipCcmVha3BvaW50Lipmb28gXFwoaT0xXFwpLioiIFwKKyAg ICAicnVuIHRvIGJyZWFrcG9pbnQgMiIKKworIyBUcnkgZGlzYWJsaW5nIGEg c2luZ2xlIGxvY2F0aW9uLiBXZSBhbHNvIHRlc3QKKyMgdGhhdCBhdCBsZWFz dCBpbiBzaW1wbGUgY2FzZXMsIHRoZSBlbmFibGUvZGlzYWJsZQorIyBzdGF0 ZSBvZiBsb2NhdGlvbnMgc3Vydml2ZSAicnVuIi4KKyMgRWFybHkgYnVnIHdv dWxkIGRpc2FibGUgMS4xIGFuZCBlbmFibGUgMS4yIHdoZW4gcHJvZ3JhbSBp cyBydW4uCitnZGJfdGVzdCAiZGlzYWJsZSAxLjIiICIiICJkaXNhYmxpbmcg bG9jYXRpb246IGRpc2FibGUiCisKK2dkYl9ydW5fY21kCitnZGJfZXhwZWN0 IHsKKyAgICAtcmUgIkJyZWFrcG9pbnQgXFswLTlcXSssLipmb28gXFwoaT0w XFwpLiokZ2RiX3Byb21wdCAkIiB7CisJcGFzcyAiZGlzYWJsaW5nIGxvY2F0 aW9uOiBydW4gdG8gYnJlYWtwb2ludCIKKyAgICB9CisgICAgLXJlICIkZ2Ri X3Byb21wdCAkIiB7CisJZmFpbCAiZGlzYWJsaW5nIGxvY2F0aW9uOiBydW4g dG8gYnJlYWtwb2ludCIKKyAgICB9CisgICAgdGltZW91dCB7CisJZmFpbCAi ZGlzYWJsaW5nIGxvY2F0aW9uOiBydW4gdG8gYnJlYWtwb2ludCAodGltZW91 dCkiCisgICAgfQorfQorCitnZGJfdGVzdCAiY29udGludWUiIFwKKyAgICAi LipQcm9ncmFtIGV4aXRlZCBub3JtYWxseS4qIiBcCisgICAgImNvbnRpbnVl IHdpdGggZGlzYWJsZWQgYnJlYWtwb2ludCAxLjIiCkluZGV4OiB0ZXN0c3Vp dGUvZ2RiLmNwL21iLWlubGluZS5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IHRlc3RzdWl0ZS9nZGIuY3AvbWItaW5saW5lLmgKZGlmZiAt TiB0ZXN0c3VpdGUvZ2RiLmNwL21iLWlubGluZS5oCi0tLSAvZGV2L251bGwJ MSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgdGVzdHN1aXRlL2dkYi5j cC9tYi1pbmxpbmUuaAkyNiBOb3YgMjAwNyAyMzoxMDoxOSAtMDAwMApAQCAt MCwwICsxLDEyIEBACisvLyBUZXN0IGdkYiBzdXBwb3J0IGZvciBzZXR0aW5n IG11bHRpcGxlIGZpbGU6bGluZSBicmVha3BvaW50cyBvbiBzdGF0aWMKKy8v IGZ1bmN0aW9ucy4gIEluIHByYWN0aWNlIHRoZSBmdW5jdGlvbnMgbWF5IGJl IGlubGluZSBmbnMgY29tcGlsZWQgd2l0aCAtTzAuCisvLyBXZSBhdm9pZCB1 c2luZyBpbmxpbmUgaGVyZSBmb3Igc2ltcGxpY2l0eSdzIHNha2UuCisKK3N0 YXRpYyBpbnQKK2ZvbyAoaW50IGkpCit7CisgIHJldHVybiBpOyAvLyBzZXQg YnJlYWtwb2ludCBoZXJlCit9CisKK2V4dGVybiBpbnQgYWZuICgpOworZXh0 ZXJuIGludCBiZm4gKCk7CkluZGV4OiB0ZXN0c3VpdGUvZ2RiLmNwL21iLWlu bGluZTEuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogdGVz dHN1aXRlL2dkYi5jcC9tYi1pbmxpbmUxLmNjCmRpZmYgLU4gdGVzdHN1aXRl L2dkYi5jcC9tYi1pbmxpbmUxLmNjCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3 MCAwMDowMDowMCAtMDAwMAorKysgdGVzdHN1aXRlL2dkYi5jcC9tYi1pbmxp bmUxLmNjCTI2IE5vdiAyMDA3IDIzOjEwOjE5IC0wMDAwCkBAIC0wLDAgKzEs MTcgQEAKKy8vIFRlc3QgZ2RiIHN1cHBvcnQgZm9yIHNldHRpbmcgZmlsZTps aW5lIGJyZWFrcG9pbnRzIG9uIGlubGluZSBmbnMuCisKKyNpbmNsdWRlICJt Yi1pbmxpbmUuaCIKKworaW50CithZm4gKCkKK3sKKyAgcmV0dXJuIGZvbyAo MCk7Cit9CisKK2ludAorbWFpbiAoKQoreworICBpbnQgYSA9IGFmbiAoKTsK KyAgaW50IGIgPSBiZm4gKCk7CisgIHJldHVybiBhICogYjsKK30KSW5kZXg6 IHRlc3RzdWl0ZS9nZGIuY3AvbWItaW5saW5lMi5jYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiB0ZXN0c3VpdGUvZ2RiLmNwL21iLWlubGlu ZTIuY2MKZGlmZiAtTiB0ZXN0c3VpdGUvZ2RiLmNwL21iLWlubGluZTIuY2MK LS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyB0 ZXN0c3VpdGUvZ2RiLmNwL21iLWlubGluZTIuY2MJMjYgTm92IDIwMDcgMjM6 MTA6MTkgLTAwMDAKQEAgLTAsMCArMSw3IEBACisjaW5jbHVkZSAibWItaW5s aW5lLmgiCisKK2ludAorYmZuICgpCit7CisgIHJldHVybiBmb28gKDEpOwor fQo= ------=_Part_36256_13915778.1196119360517--