From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by sourceware.org (Postfix) with ESMTPS id C65573858CDB for ; Thu, 20 Jul 2023 15:58:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C65573858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id DB7FE1F8AC; Thu, 20 Jul 2023 15:58:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1689868695; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BWeTUWrSE/GxB2AJJNp9+G7C+1ApsIbpcirZFWrZmDc=; b=ABeLc8/RBDjM7dUlE6C12A8aV7dgZsCEzljjn1Nd+KwAfIPBf8/MuC6ekhgpumfQvtFB+9 3oBTV67kEkddCXOB+P1KVCMidVjzgIGt2aRguITXpNwg1DOPdomG73K71gTHPoecMKJfGB GMn8o5J07n4104EiSMNdok3ltOTXNIs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1689868695; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BWeTUWrSE/GxB2AJJNp9+G7C+1ApsIbpcirZFWrZmDc=; b=yPx0FAPuDmSSLBfIIaDctfymPxbo2dlvJA4rDjVWguJVPJVMFt6JACq4BEdHKDsIATJRVU MQYPijMmMbfkoCBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id C221913924; Thu, 20 Jul 2023 15:58:15 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id XjzlLZdZuWSuJwAAMHmgww (envelope-from ); Thu, 20 Jul 2023 15:58:15 +0000 Content-Type: multipart/mixed; boundary="------------bo5qWlhM0sFH90lev4jQAhab" Message-ID: <79e60ec4-fe14-3ad2-1c9b-32a94fff8d31@suse.de> Date: Thu, 20 Jul 2023 17:58:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: [PATCH, v2] [gdb/symtab] Add optimized out static var to cooked index Content-Language: en-US To: gdb-patches@sourceware.org Cc: Tom Tromey References: <20230720144049.26777-1-tdevries@suse.de> From: Tom de Vries In-Reply-To: <20230720144049.26777-1-tdevries@suse.de> X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------bo5qWlhM0sFH90lev4jQAhab Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 7/20/23 16:40, Tom de Vries via Gdb-patches wrote: And here's a v2: - add a dwarf assembly test-case (that I already had partially written, but forgotten about) - fix a few nits in the gdb.opt testcase (gdb_test -> gdb_test_no_output etc) Thanks, - Tom --------------bo5qWlhM0sFH90lev4jQAhab Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-gdb-symtab-Add-optimized-out-static-var-to-cooked.patch" Content-Disposition: attachment; filename*0="v2-0001-gdb-symtab-Add-optimized-out-static-var-to-cooked.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxMjBlNDUxMTJjMmZlNTZmNWJhMWJlZDM0YzkwNGJmZjUzZGY5YmRlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gZGUgVnJpZXMgPHRkZXZyaWVzQHN1c2UuZGU+ CkRhdGU6IFRodSwgMjAgSnVsIDIwMjMgMTM6Mjg6NDQgKzAyMDAKU3ViamVjdDogW1BBVENI IHYyXSBbZ2RiL3N5bXRhYl0gQWRkIG9wdGltaXplZCBvdXQgc3RhdGljIHZhciB0byBjb29r ZWQgaW5kZXgKCkNvbnNpZGVyIHRoZSB0ZXN0LWNhc2U6Ci4uLgokIGNhdCBtYWluLmMKaW50 IG1haW4gKHZvaWQpIHsgcmV0dXJuIDA7IH0KJCBjYXQgc3RhdGljLW9wdGltaXplZC1vdXQu YwpzdGF0aWMgaW50IGFhYTsKLi4uCmNvbXBpbGVkIGxpa2UgdGhpczoKLi4uCiQgZ2NjLTEy IHN0YXRpYy1vcHRpbWl6ZWQtb3V0LmMgbWFpbi5jIC1nIC1PMiAtZmx0bwouLi4KClRoZXJl J3MgYSBkaWZmZXJlbmNlIGluIGJlaGF2aW91ciBkZXBlbmRpbmcgb24gc3ltdGFiIGV4cGFu c2lvbiBzdGF0ZToKLi4uCiQgZ2RiIC1xIC1iYXRjaCBhLm91dCAtZXggInByaW50IGFhYSIK Tm8gc3ltYm9sICJhYWEiIGluIGN1cnJlbnQgY29udGV4dC4KJCBnZGIgLXEgLWJhdGNoIGEu b3V0IC1leCAibWFpbnQgZXhwYW5kLXN5bXRhYiIgLWV4ICJwcmludCBhYWEiCiQxID0gPG9w dGltaXplZCBvdXQ+Ci4uLgoKVGhlIHJlYXNvbiBmb3IgdGhlIGRpZmZlcmVuY2UgaXMgdGhh dCB0aGUgb3B0aW1pemVkIG91dCB2YXJpYWJsZSBhYWE6Ci4uLgogPDE+PDEwND46IEFiYnJl diBOdW1iZXI6IDIgKERXX1RBR192YXJpYWJsZSkKICAgIDwxMDU+ICAgRFdfQVRfbmFtZSAg ICAgICAgOiBhYWEKICAgIDwxMDk+ICAgRFdfQVRfZGVjbF9maWxlICAgOiAxCiAgICA8MTBh PiAgIERXX0FUX2RlY2xfbGluZSAgIDogMTgKICAgIDwxMGI+ICAgRFdfQVRfZGVjbF9jb2x1 bW4gOiAxMgogICAgPDEwYz4gICBEV19BVF90eXBlICAgICAgICA6IDwweDExMD4KLi4uCmlz IG5vdCBhZGRlZCB0byB0aGUgY29va2VkIGluZGV4IGJlY2F1c2Ugb2YgdGhpcyBjbGF1c2Ug aW4gYWJicmV2X3RhYmxlOjpyZWFkOgouLi4KICAgICBlbHNlIGlmICghaGFzX2xvY2F0aW9u ICYmICFoYXNfc3BlY2lmaWNhdGlvbl9vcl9vcmlnaW4gJiYgIWhhc19leHRlcm5hbAoJICAg ICAgICYmIGN1cl9hYmJyZXYtPnRhZyA9PSBEV19UQUdfdmFyaWFibGUpCgljdXJfYWJicmV2 LT5pbnRlcmVzdGluZyA9IGZhbHNlOwouLi4KCkZpeCB0aGlzIGluY29uc2lzdGVuY3kgYnkg bWFraW5nIHN1cmUgdGhhdCB0aGUgb3B0aW1pemVkIG91dCB2YXJpYWJsZSBpcyBhZGRlZAp0 byB0aGUgY29va2VkIGluZGV4LgoKUmVncmVzc2lvbiB0ZXN0ZWQgb24geDg2XzY0LWxpbnV4 LgoKQWRkIHR3byB0ZXN0LWNhc2VzLCBhIEMgdGVzdC1jYXNlIGdkYi5vcHQvc3RhdGljLW9w dGltaXplZC1vdXQuZXhwIGFuZCBhIGR3YXJmCmFzc2VtYmx5IHRlc3QtY2FzZSBnZGIuZHdh cmYyL3N0YXRpYy1vcHRpbWl6ZWQtb3V0LmV4cC4KClRlc3RlZCBnZGIub3B0L3N0YXRpYy1v cHRpbWl6ZWQtb3V0LmV4cCB3aXRoIGdjYy04IHRvIGdjYy0xMiwgZm9yIHdoaWNoIHdlIG5v dwpjb25zaXN0ZW50bHkgZ2V0OgouLi4KKGdkYikgcHJpbnQgYWFhXk0KJDEgPSA8b3B0aW1p emVkIG91dD5eTQouLi4KYW5kIHdpdGggZ2NjIDcuNS4wIGFuZCBjbGFuZyAxMy4wLjEsIGZv ciB3aGljaCB3ZSBzdGlsbCBjb25zaXN0ZW50bHkgZ2V0OgouLi4KKGdkYikgcHJpbnQgYWFh Xk0KTm8gc3ltYm9sICJhYWEiIGluIGN1cnJlbnQgY29udGV4dC5eTQouLi4KZHVlIHRvIG1p c3NpbmcgZGVidWcgaW5mbyBmb3IgdGhlIHZhcmlhYmxlLgoKUFIgc3ltdGFiLzMwNjU2CkJ1 ZzogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzA2 NTYKLS0tCiBnZGIvZHdhcmYyL2FiYnJldi5jICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgOSAtLS0KIC4uLi9nZGIuZHdhcmYyL3N0YXRpYy1vcHRpbWl6ZWQtb3V0LmV4cCAgICAg ICB8IDY3ICsrKysrKysrKysrKysrKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9tYWlu LmMgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L3N0YXRpYy1vcHRpbWl6ZWQtb3V0LmMgIHwgMTggKysrKysKIC4uLi9nZGIub3B0L3N0YXRp Yy1vcHRpbWl6ZWQtb3V0LmV4cCAgICAgICAgICB8IDQ5ICsrKysrKysrKysrKysrCiA1IGZp bGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9zdGF0aWMtb3B0aW1pemVk LW91dC5leHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5vcHQvbWFp bi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L3N0YXRpYy1v cHRpbWl6ZWQtb3V0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5v cHQvc3RhdGljLW9wdGltaXplZC1vdXQuZXhwCgpkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9h YmJyZXYuYyBiL2dkYi9kd2FyZjIvYWJicmV2LmMKaW5kZXggMWViZjhmNmVlZDUuLjNhNDI5 ZmQ0MWIxIDEwMDY0NAotLS0gYS9nZGIvZHdhcmYyL2FiYnJldi5jCisrKyBiL2dkYi9kd2Fy ZjIvYWJicmV2LmMKQEAgLTE2Miw3ICsxNjIsNiBAQCBhYmJyZXZfdGFibGU6OnJlYWQgKHN0 cnVjdCBkd2FyZjJfc2VjdGlvbl9pbmZvICpzZWN0aW9uLAogICAgICAgYm9vbCBoYXNfc3Bl Y2lmaWNhdGlvbl9vcl9vcmlnaW4gPSBmYWxzZTsKICAgICAgIGJvb2wgaGFzX25hbWUgPSBm YWxzZTsKICAgICAgIGJvb2wgaGFzX2xpbmthZ2VfbmFtZSA9IGZhbHNlOwotICAgICAgYm9v bCBoYXNfbG9jYXRpb24gPSBmYWxzZTsKICAgICAgIGJvb2wgaGFzX2V4dGVybmFsID0gZmFs c2U7CiAKICAgICAgIC8qIE5vdyByZWFkIGluIGRlY2xhcmF0aW9ucy4gICovCkBAIC0yMTcs MTEgKzIxNiw2IEBAIGFiYnJldl90YWJsZTo6cmVhZCAoc3RydWN0IGR3YXJmMl9zZWN0aW9u X2luZm8gKnNlY3Rpb24sCiAJICAgICAgaGFzX2xpbmthZ2VfbmFtZSA9IHRydWU7CiAJICAg ICAgYnJlYWs7CiAKLQkgICAgY2FzZSBEV19BVF9jb25zdF92YWx1ZToKLQkgICAgY2FzZSBE V19BVF9sb2NhdGlvbjoKLQkgICAgICBoYXNfbG9jYXRpb24gPSB0cnVlOwotCSAgICAgIGJy ZWFrOwotCiAJICAgIGNhc2UgRFdfQVRfc2libGluZzoKIAkgICAgICBpZiAoaXNfY3NpemUg JiYgY3VyX2F0dHIuZm9ybSA9PSBEV19GT1JNX3JlZjQpCiAJCXNpYmxpbmdfb2Zmc2V0ID0g c2l6ZTsKQEAgLTI5Niw5ICsyOTAsNiBAQCBhYmJyZXZfdGFibGU6OnJlYWQgKHN0cnVjdCBk d2FyZjJfc2VjdGlvbl9pbmZvICpzZWN0aW9uLAogCWN1cl9hYmJyZXYtPmludGVyZXN0aW5n ID0gZmFsc2U7CiAgICAgICBlbHNlIGlmICghdGFnX2ludGVyZXN0aW5nX2Zvcl9pbmRleCAo Y3VyX2FiYnJldi0+dGFnKSkKIAljdXJfYWJicmV2LT5pbnRlcmVzdGluZyA9IGZhbHNlOwot ICAgICAgZWxzZSBpZiAoIWhhc19sb2NhdGlvbiAmJiAhaGFzX3NwZWNpZmljYXRpb25fb3Jf b3JpZ2luICYmICFoYXNfZXh0ZXJuYWwKLQkgICAgICAgJiYgY3VyX2FiYnJldi0+dGFnID09 IERXX1RBR192YXJpYWJsZSkKLQljdXJfYWJicmV2LT5pbnRlcmVzdGluZyA9IGZhbHNlOwog ICAgICAgZWxzZQogCWN1cl9hYmJyZXYtPmludGVyZXN0aW5nID0gdHJ1ZTsKIApkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3N0YXRpYy1vcHRpbWl6ZWQtb3V0LmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9zdGF0aWMtb3B0aW1pemVkLW91dC5leHAK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmYzZWZmNTg2OTExCi0t LSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3N0YXRpYy1vcHRp bWl6ZWQtb3V0LmV4cApAQCAtMCwwICsxLDY3IEBACisjIENvcHlyaWdodCAyMDIzIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjIENoZWNrIHRoYXQgYW4gb3B0aW1pemVk IG91dCBzdGF0aWMgdmFyaWFibGUgaXMgcHJpbnRlZCB0aGUgc2FtZSBpbmRlcGVuZGVudAor IyBvZiBzdGF0ZSBvZiBzeW10YWIgZXhwYW5zaW9uLiAgU2VlIGFsc28gZ2RiLm9wdC9zdGF0 aWMtb3B0aW1pemVkLW91dC5leHAuCisKK2xvYWRfbGliIGR3YXJmLmV4cAorCisjIFRoaXMg dGVzdCBjYW4gb25seSBiZSBydW4gb24gdGFyZ2V0cyB3aGljaCBzdXBwb3J0IERXQVJGLTIg YW5kIHVzZSBnYXMuCityZXF1aXJlIGR3YXJmMl9zdXBwb3J0CisKK3N0YW5kYXJkX3Rlc3Rm aWxlIG1haW4uYyAtZHcuUworCisjIE1ha2UgRFdBUkYgZm9yIHRoZSB0ZXN0Lgorc2V0IGFz bV9maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAkc3JjZmlsZTJdCitEd2FyZjo6YXNzZW1i bGUgJGFzbV9maWxlIHsKKyAgICBjdSB7fSB7CisJY29tcGlsZV91bml0IHsKKwkgICAgewor CQlsYW5ndWFnZSBARFdfTEFOR19DCisJICAgIH0KKwl9IHsKKwkgICAgZGVjbGFyZV9sYWJl bHMgaW50ZWdlcl9sYWJlbAorCisJICAgIGludGVnZXJfbGFiZWw6IERXX1RBR19iYXNlX3R5 cGUgeworCQl7RFdfQVRfYnl0ZV9zaXplIDQgRFdfRk9STV9zZGF0YX0KKwkJe0RXX0FUX2Vu Y29kaW5nICBARFdfQVRFX3NpZ25lZH0KKwkJe0RXX0FUX25hbWUgICAgICBpbnRlZ2VyfQor CSAgICB9CisKKwkgICAgRFdfVEFHX3ZhcmlhYmxlIHsKKwkJe25hbWUgdmFyfQorCQl7dHlw ZSA6JGludGVnZXJfbGFiZWx9CisJICAgIH0KKwl9CisgICAgfQorfQorCitpZiB7IFtwcmVw YXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gXAorCSAg W2xpc3QgJHNyY2ZpbGUgJGFzbV9maWxlXSB7bm9kZWJ1Z31dIH0geworICAgIHJldHVybiAt MQorfQorCitnZGJfdGVzdCAicHJpbnQgdmFyIiAiID0gPG9wdGltaXplZCBvdXQ+IgorCisj IEV4cGFuZCBhbGwgc3ltYm9sIHRhYmxlcy4KK2dkYl90ZXN0X25vX291dHB1dCAibWFpbnQg ZXhwYW5kLXN5bXRhYnMiCisKKyMgTWFrZSBzdXJlIHdlIGRvIGFuIGFjdHVhbCBsb29rdXAg cmF0aGVyIHRoYW4ganVzdCByZXR1cm5pbmcgdGhlIHNhbWUgYXMKKyMgYmVmb3JlLgorZ2Ri X3Rlc3Rfbm9fb3V0cHV0ICJtYWludCBmbHVzaCBzeW1ib2wtY2FjaGUiCisKK3dpdGhfdGVz dF9wcmVmaXggImFmdGVyIGV4cGFuZC1zeW10YWJzIiB7CisgICAgZ2RiX3Rlc3QgInByaW50 IHZhciIgIiA9IDxvcHRpbWl6ZWQgb3V0PiIKK30KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLm9wdC9tYWluLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvbWFpbi5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jNmJlZmY3N2RiZQotLS0gL2Rl di9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9tYWluLmMKQEAgLTAsMCArMSwy MiBAQAorLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dl ci4KKworICAgQ29weXJpZ2h0IDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4gICovCisKK2ludAorbWFpbiAodm9pZCkKK3sKKyAgcmV0dXJuIDA7Cit9CmRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvc3RhdGljLW9wdGltaXplZC1vdXQu YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9zdGF0aWMtb3B0aW1pemVkLW91dC5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40NDI4N2ZiZDZkMgotLS0gL2Rl di9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9zdGF0aWMtb3B0aW1pemVkLW91 dC5jCkBAIC0wLDAgKzEsMTggQEAKKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCisKKyAgIENvcHlyaWdodCAyMDIzIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCitzdGF0aWMgaW50IGFhYTsKZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9zdGF0aWMtb3B0aW1pemVkLW91dC5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvc3RhdGljLW9wdGltaXplZC1vdXQuZXhwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZDY3M2I2NTAzZQotLS0gL2Rl di9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9zdGF0aWMtb3B0aW1pemVkLW91 dC5leHAKQEAgLTAsMCArMSw0OSBAQAorIyBDb3B5cmlnaHQgMjAyMyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKworIyBDaGVjayB0aGF0IGFuIG9wdGltaXplZCBvdXQgc3Rh dGljIHZhcmlhYmxlIGlzIHByaW50ZWQgdGhlIHNhbWUgaW5kZXBlbmRlbnQKKyMgb2Ygc3Rh dGUgb2Ygc3ltdGFiIGV4cGFuc2lvbi4gIFNlZSBhbHNvIGdkYi5kd2FyZjIvc3RhdGljLW9w dGltaXplZC1vdXQuZXhwLgorCitzdGFuZGFyZF90ZXN0ZmlsZSAuYyBtYWluLmMKKworc2V0 IG9wdHMge30KK2xhcHBlbmQgb3B0cyBkZWJ1ZworbGFwcGVuZCBvcHRzICJvcHRpbWl6ZT0t TzIgLWZsdG8iCisKK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVw YXJlIiAkdGVzdGZpbGUgXAorCSAgW2xpc3QgJHNyY2ZpbGUgJHNyY2ZpbGUyXSAkb3B0c10g fSB7CisgICAgcmV0dXJuIC0xCit9CisKK3NldCB2YWwgIiIKK2dkYl90ZXN0X211bHRpcGxl ICJwcmludCBhYWEiICIiIHsKKyAgICAtcmUgLXdyYXAgIl4oPzpcXCQkZGVjaW1hbCA9ICk/ KC4qKSIgeworCXNldCB2YWwgJGV4cGVjdF9vdXQoMSxzdHJpbmcpCisgICAgfQorfQorCitp ZiB7ICR2YWwgPT0gIiIgfSB7CisgICAgcmV0dXJuCit9CisKKyMgRXhwYW5kIGFsbCBzeW1i b2wgdGFibGVzLgorZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJtYWludCBleHBhbmQtc3ltdGFiIgor CisjIE1ha2Ugc3VyZSB3ZSBkbyBhbiBhY3R1YWwgbG9va3VwIHJhdGhlciB0aGFuIGp1c3Qg cmV0dXJuaW5nIHRoZSBzYW1lIGFzCisjIGJlZm9yZS4KK2dkYl90ZXN0X25vX291dHB1dCAi bWFpbnQgZmx1c2ggc3ltYm9sLWNhY2hlIgorCisjIE5vdyBjaGVjayB0aGF0IHdlIGdldCB0 aGUgc2FtZSByZXN1bHQgaW4gYm90aCBjYXNlcy4KK2dkYl90ZXN0ICJwcmludCBhYWEiIFtz dHJpbmdfdG9fcmVnZXhwICR2YWxdICJjb25zaXN0ZW5jeSIKCmJhc2UtY29tbWl0OiAyMmU2 OWQ4ZDM3NzM4YzJhYTMzNTQzYjlmMzExMTMwZDNmZTJlNGMzCi0tIAoyLjM1LjMKCg== --------------bo5qWlhM0sFH90lev4jQAhab--