From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31973 invoked by alias); 9 Jul 2010 22:33:37 -0000 Received: (qmail 31943 invoked by uid 22791); 9 Jul 2010 22:33:33 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,TW_VM X-Spam-Check-By: sourceware.org Received: from mail-pv0-f169.google.com (HELO mail-pv0-f169.google.com) (74.125.83.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 09 Jul 2010 22:33:24 +0000 Received: by pvc30 with SMTP id 30so2301739pvc.0 for ; Fri, 09 Jul 2010 15:33:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.185.7 with SMTP id i7mr8350768wff.88.1278714802731; Fri, 09 Jul 2010 15:33:22 -0700 (PDT) Received: by 10.142.226.18 with HTTP; Fri, 9 Jul 2010 15:33:22 -0700 (PDT) In-Reply-To: References: <201007091548.o69FmNlk015436@d12av02.megacenter.de.ibm.com> Date: Fri, 09 Jul 2010 22:33:00 -0000 Message-ID: Subject: Re: [rfc] skip_ilp32_tests / skip_lp64_tests predicates (was: Re: support biarch gcore?) From: "H.J. Lu" To: Ulrich Weigand Cc: Mark Kettenis , jan.kratochvil@redhat.com, Jon.Zhou@jdsu.com, gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=000e0cd2e0c6965c83048afbfd87 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: 2010-07/txt/msg00192.txt.bz2 --000e0cd2e0c6965c83048afbfd87 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2577 On Fri, Jul 9, 2010 at 2:43 PM, H.J. Lu wrote: > On Fri, Jul 9, 2010 at 8:48 AM, Ulrich Weigand wrot= e: >> H.J. Lu wrote: >> >>> Very good point. There are some arch specific tests which are either >>> 32bit or 64bit. Currently, we check target. It doesn't work -m32. We >>> need something like >>> >>> /* { dg-require-effective-target lp64 } */ >>> /* { dg-require-effective-target ilp32 } */ >> >> Right; I noticed this problem with one ppc64 test case as well. >> >> I've tried to add testsuite predicates skip_ilp32_tests and skip_lp64_te= sts >> modeled along the lines of the above GCC effective-target flags, and this >> helps with this ppc64 test case. >> >> Could you try whether you can use this to fix the i386/x86_64 tests? >> >> I'd appreciate any comments on the approach below! >> >> Bye, >> Ulrich >> >> >> ChangeLog: >> >> =A0 =A0 =A0 =A0* lib/gdb.exp (skip_ilp32_tests): New procedure. >> =A0 =A0 =A0 =A0(skip_lp64_tests): New procedure. >> =A0 =A0 =A0 =A0* gdb.arch/ppc64-atomic-inst.exp: Use skip_lp64_tests to = execute test >> =A0 =A0 =A0 =A0only when building 64-bit executables. =A0Do not hard-cod= e -m64 option. >> > > This syntax is strange. There are > > -- > if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } { > =A0 =A0verbose "Skipping x86 AVX tests." > =A0 =A0return > } > ... > if [istarget i?86-*-*] { > =A0 =A0set nr_regs 8 > } else { > =A0 =A0set nr_regs 16 > } > ... > > I am looking for something like is_ilp32/is_lp64. > This patch seems to work. Thanks. --=20 H.J. --- 2010-07-09 Ulrich Weigand H.J. Lu * lib/gdb.exp (is_ilp32_target): New. (is_lp64_target): Likewise. * gdb.arch/amd64-byte.exp: Use is_lp64_target to check 64bit target. * gdb.arch/amd64-disp-step.exp: Likewise. * gdb.arch/amd64-dword.exp: Likewise. * gdb.arch/amd64-i386-address.exp: Likewise. * gdb.arch/amd64-word.exp: Likewise. =09 * gdb.arch/i386-avx.exp: Use is_ilp32_target to check for 32bit target. * gdb.arch/i386-bp_permanent.exp: Likewise. * gdb.arch/i386-byte.exp: Likewise. * gdb.arch/i386-disp-step.exp: Likewise. * gdb.arch/i386-gnu-cfi.exp: Likewise. * gdb.arch/i386-prologue.exp: Likewise. * gdb.arch/i386-size-overlap.exp: Likewise. * gdb.arch/i386-size.exp: Likewise. * gdb.arch/i386-sse.exp: Likewise. * gdb.arch/i386-unwind.exp: Likewise. * gdb.arch/i386-word.exp: Likewise. * gdb.arch/ppc64-atomic-inst.exp: Use is_lp64_target to execute test only when building 64-bit executables. Do not hard-code -m64 option. --000e0cd2e0c6965c83048afbfd87 Content-Type: text/plain; charset=US-ASCII; name="gdb-biarch-1.patch" Content-Disposition: attachment; filename="gdb-biarch-1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gbflq5pf0 Content-length: 16918 MjAxMC0wNy0wOSAgVWxyaWNoIFdlaWdhbmQgIDx1d2VpZ2FuZEBkZS5pYm0u Y29tPgoJICAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkq IGxpYi9nZGIuZXhwIChpc19pbHAzMl90YXJnZXQpOiBOZXcuCgkoaXNfbHA2 NF90YXJnZXQpOiBMaWtld2lzZS4KCgkqIGdkYi5hcmNoL2FtZDY0LWJ5dGUu ZXhwOiBVc2UgaXNfbHA2NF90YXJnZXQgdG8gY2hlY2sgNjRiaXQKCXRhcmdl dC4KCSogZ2RiLmFyY2gvYW1kNjQtZGlzcC1zdGVwLmV4cDogTGlrZXdpc2Uu CgkqIGdkYi5hcmNoL2FtZDY0LWR3b3JkLmV4cDogTGlrZXdpc2UuCgkqIGdk Yi5hcmNoL2FtZDY0LWkzODYtYWRkcmVzcy5leHA6IExpa2V3aXNlLgoJKiBn ZGIuYXJjaC9hbWQ2NC13b3JkLmV4cDogTGlrZXdpc2UuCgkKCSogZ2RiLmFy Y2gvaTM4Ni1hdnguZXhwOiBVc2UgaXNfaWxwMzJfdGFyZ2V0IHRvIGNoZWNr IGZvciAzMmJpdAoJdGFyZ2V0LgoJKiBnZGIuYXJjaC9pMzg2LWJwX3Blcm1h bmVudC5leHA6IExpa2V3aXNlLgoJKiBnZGIuYXJjaC9pMzg2LWJ5dGUuZXhw OiBMaWtld2lzZS4KCSogZ2RiLmFyY2gvaTM4Ni1kaXNwLXN0ZXAuZXhwOiBM aWtld2lzZS4KCSogZ2RiLmFyY2gvaTM4Ni1nbnUtY2ZpLmV4cDogTGlrZXdp c2UuCgkqIGdkYi5hcmNoL2kzODYtcHJvbG9ndWUuZXhwOiBMaWtld2lzZS4K CSogZ2RiLmFyY2gvaTM4Ni1zaXplLW92ZXJsYXAuZXhwOiBMaWtld2lzZS4K CSogZ2RiLmFyY2gvaTM4Ni1zaXplLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5h cmNoL2kzODYtc3NlLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5hcmNoL2kzODYt dW53aW5kLmV4cDogTGlrZXdpc2UuCgkqIGdkYi5hcmNoL2kzODYtd29yZC5l eHA6IExpa2V3aXNlLgoKCSogZ2RiLmFyY2gvcHBjNjQtYXRvbWljLWluc3Qu ZXhwOiBVc2UgaXNfbHA2NF90YXJnZXQgdG8gZXhlY3V0ZQoJdGVzdCBvbmx5 IHdoZW4gYnVpbGRpbmcgNjQtYml0IGV4ZWN1dGFibGVzLiAgRG8gbm90IGhh cmQtY29kZQoJLW02NCBvcHRpb24uCgpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9hbWQ2NC1ieXRlLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvYW1kNjQtYnl0ZS5leHAKaW5kZXggNTNkMWM1NC4uMDliNzA1 MyAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1i eXRlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWJ5 dGUuZXhwCkBAIC0yMyw3ICsyMyw3IEBAIGlmICR0cmFjZWxldmVsIHsKIH0K IAogCi1pZiB7ICFbaXN0YXJnZXQgeDg2XzY0LSotKiBdIH0geworaWYgeyAh W2lzdGFyZ2V0IHg4Nl82NC0qLSogXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9 IHsKICAgICB2ZXJib3NlICJTa2lwcGluZyBhbWQ2NCBieXRlIHJlZ2lzdGVy IHRlc3RzLiIKICAgICByZXR1cm4KIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZGlzcC1zdGVwLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZGlzcC1zdGVwLmV4cAppbmRleCBkNzdm MDI0Li5mMjUwOTNmIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LWRpc3Atc3RlcC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9hbWQ2NC1kaXNwLXN0ZXAuZXhwCkBAIC0yMiw3ICsyMiw3IEBA IGlmICR0cmFjZWxldmVsIHsKIH0KIAogCi1pZiAhW2lzdGFyZ2V0ICJ4ODZf NjQtKi1saW51eCoiXSB0aGVuIHsKK2lmIHsgIVtpc3RhcmdldCB4ODZfNjQt Ki0qIF0gfHwgIVtpc19scDY0X3RhcmdldF0gfSB7CiAgICAgdmVyYm9zZSAi U2tpcHBpbmcgeDg2XzY0IGRpc3BsYWNlZCBzdGVwcGluZyB0ZXN0cy4iCiAg ICAgcmV0dXJuCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LWR3b3JkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv YW1kNjQtZHdvcmQuZXhwCmluZGV4IDRkMGE2YjcuLjM3MTliNTggMTAwNjQ0 Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZHdvcmQuZXhw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtZHdvcmQuZXhw CkBAIC0yMyw3ICsyMyw3IEBAIGlmICR0cmFjZWxldmVsIHsKIH0KIAogCi1p ZiB7ICFbaXN0YXJnZXQgeDg2XzY0LSotKiBdIH0geworaWYgeyAhW2lzdGFy Z2V0IHg4Nl82NC0qLSogXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKICAg ICB2ZXJib3NlICJTa2lwcGluZyBhbWQ2NCBkd29yZCByZWdpc3RlciB0ZXN0 cy4iCiAgICAgcmV0dXJuCiB9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2FtZDY0LWkzODYtYWRkcmVzcy5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LWkzODYtYWRkcmVzcy5leHAKaW5kZXggZTk4 YzI1NC4uODI5ZDlhMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9hbWQ2NC1pMzg2LWFkZHJlc3MuZXhwCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gvYW1kNjQtaTM4Ni1hZGRyZXNzLmV4cApAQCAtMTgsNyAr MTgsNyBAQAogIyBUZXN0IFVOc2lnbmVkIGV4dGVuc2lvbiBvZiB0aGUgMzIt Yml0IGluZmVyaW9yIGFkZHJlc3Mgb24gYSA2NC1iaXQgaG9zdC4KICMgT24g bmF0aXZlIDMyLWJpdCBob3N0IHRoZSB0ZXN0IGFsd2F5cyBQQVNTZWQuCiAK LWlmIHshW2lzdGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtpc3RhcmdldCAi aT84Ni0qLSoiXX0gdGhlbiB7CitpZiB7KCFbaXN0YXJnZXQgIng4Nl82NC0q LSoiXSAmJiAhW2lzdGFyZ2V0ICJpPzg2LSotKiJdKSB8fCAhW2lzX2xwNjRf dGFyZ2V0XSB9IHRoZW4gewogICAgIHZlcmJvc2UgIlNraXBwaW5nIGFtZDY0 LT5pMzg2IGFkcmVzcyB0ZXN0LiIKICAgICByZXR1cm4KIH0KZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtd29yZC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXdvcmQuZXhwCmluZGV4IDA0 NDQ4ZDcuLjAzMWYxNTMgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvYW1kNjQtd29yZC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9hbWQ2NC13b3JkLmV4cApAQCAtMjMsNyArMjMsNyBAQCBpZiAkdHJh Y2VsZXZlbCB7CiB9CiAKIAotaWYgeyAhW2lzdGFyZ2V0IHg4Nl82NC0qLSog XSB9IHsKK2lmIHsgIVtpc3RhcmdldCB4ODZfNjQtKi0qIF0gfHwgIVtpc19s cDY0X3RhcmdldF0gfSB7CiAgICAgdmVyYm9zZSAiU2tpcHBpbmcgYW1kNjQg d29yZCByZWdpc3RlciB0ZXN0cy4iCiAgICAgcmV0dXJuCiB9CmRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtYXZ4LmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1hdnguZXhwCmluZGV4IDQyNmU5 ZDMuLjdiZjc0OGYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvaTM4Ni1hdnguZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv aTM4Ni1hdnguZXhwCkBAIC03Nyw3ICs3Nyw3IEBAIGdkYl90ZXN0ICJicmVh ayBbZ2RiX2dldF9saW5lX251bWJlciAiZmlyc3QgYnJlYWtwb2ludCBoZXJl Il0iIFwKICAgICAgICAgICJzZXQgZmlyc3QgYnJlYWtwb2ludCBpbiBtYWlu IgogZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImNvbnRpbnVlIHRvIGZp cnN0IGJyZWFrcG9pbnQgaW4gbWFpbiIKIAotaWYgW2lzdGFyZ2V0IGk/ODYt Ki0qXSB7CitpZiBbaXNfaWxwMzJfdGFyZ2V0XSB7CiAgICAgc2V0IG5yX3Jl Z3MgOAogfSBlbHNlIHsKICAgICBzZXQgbnJfcmVncyAxNgpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWJwX3Blcm1hbmVudC5l eHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtYnBfcGVybWFuZW50 LmV4cAppbmRleCBhOGViNjY5Li5hMzEyZGIxIDEwMDY0NAotLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtYnBfcGVybWFuZW50LmV4cAorKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtYnBfcGVybWFuZW50LmV4 cApAQCAtMjIsNyArMjIsNyBAQCBpZiAkdHJhY2VsZXZlbCB7CiAKICMgVGVz dCBzdGVwcGluZyBvdmVyIHBlcm1hbmVudCBicmVha3BvaW50cyBvbiBpMzg2 LgogCi1pZiAhW2lzdGFyZ2V0ICJpPzg2LSotKiJdIHRoZW4geworaWYgeygh W2lzdGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtpc3RhcmdldCAiaT84Ni0q LSoiXSkgfHwgIVtpc19pbHAzMl90YXJnZXRdIH0gdGhlbiB7CiAgICAgdmVy Ym9zZSAiU2tpcHBpbmcgc2tpcCBvdmVyIHBlcm1hbmVudCBicmVha3BvaW50 IG9uIGkzODYgdGVzdHMuIgogICAgIHJldHVybgogfQpkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWJ5dGUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWJ5dGUuZXhwCmluZGV4IGQ0ZGQ1YTUu LjRhMTdlZDAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv aTM4Ni1ieXRlLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kz ODYtYnl0ZS5leHAKQEAgLTIzLDcgKzIzLDcgQEAgaWYgJHRyYWNlbGV2ZWwg ewogfQogCiAKLWlmIHsgIVtpc3RhcmdldCBpPzg2LSotKl0gfSB7CitpZiB7 KCFbaXN0YXJnZXQgIng4Nl82NC0qLSoiXSAmJiAhW2lzdGFyZ2V0ICJpPzg2 LSotKiJdKSB8fCAhW2lzX2lscDMyX3RhcmdldF0gfSB0aGVuIHsKICAgICB2 ZXJib3NlICJTa2lwcGluZyBpMzg2IGJ5dGUgcmVnaXN0ZXIgdGVzdHMuIgog ICAgIHJldHVybgogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9pMzg2LWRpc3Atc3RlcC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2kzODYtZGlzcC1zdGVwLmV4cAppbmRleCA0MWYzOWNmLi4yOTg5NzNj IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtZGlz cC1zdGVwLmV4cAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYt ZGlzcC1zdGVwLmV4cApAQCAtMjIsNyArMjIsNyBAQCBpZiAkdHJhY2VsZXZl bCB7CiB9CiAKIAotaWYgIVtpc3RhcmdldCAiaT84Ni0qLWxpbnV4KiJdIHRo ZW4geworaWYgeyghW2lzdGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtpc3Rh cmdldCAiaT84Ni0qLSoiXSkgfHwgIVtpc19pbHAzMl90YXJnZXRdIH0gdGhl biB7CiAgICAgdmVyYm9zZSAiU2tpcHBpbmcgeDg2IGRpc3BsYWNlZCBzdGVw cGluZyB0ZXN0cy4iCiAgICAgcmV0dXJuCiB9CmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtZ251LWNmaS5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2kzODYtZ251LWNmaS5leHAKaW5kZXggZmFjOWUx MS4uNGFkNDkwMiAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9pMzg2LWdudS1jZmkuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvaTM4Ni1nbnUtY2ZpLmV4cApAQCAtMjcsNyArMjcsNyBAQCBpZiAkdHJh Y2VsZXZlbCB7CiAjIFRlc3QgaTM4NiB1bndpbmRlci4KIAogCi1pZiAhW2lz dGFyZ2V0ICJpPzg2LSotKiJdIHRoZW4geworaWYgeyghW2lzdGFyZ2V0ICJ4 ODZfNjQtKi0qIl0gJiYgIVtpc3RhcmdldCAiaT84Ni0qLSoiXSkgfHwgIVtp c19pbHAzMl90YXJnZXRdIH0gdGhlbiB7CiAgICAgdmVyYm9zZSAiU2tpcHBp bmcgaTM4NiB1bndpbmRlciB0ZXN0cy4iCiAgICAgcmV0dXJuCiB9CmRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtcHJvbG9ndWUu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LXByb2xvZ3VlLmV4 cAppbmRleCBiZTRiMjYzLi42YjdiNTFkIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2kzODYtcHJvbG9ndWUuZXhwCisrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1wcm9sb2d1ZS5leHAKQEAgLTI2LDcg KzI2LDcgQEAgaWYgJHRyYWNlbGV2ZWwgewogIyBUZXN0IGkzODYgcHJvbG9n dWUgYW5hbHl6ZXIuCiAKIAotaWYgIVtpc3RhcmdldCAiaT84Ni0qLSoiXSB0 aGVuIHsKK2lmIHsoIVtpc3RhcmdldCAieDg2XzY0LSotKiJdICYmICFbaXN0 YXJnZXQgImk/ODYtKi0qIl0pIHx8ICFbaXNfaWxwMzJfdGFyZ2V0XSB9IHRo ZW4gewogICAgIHZlcmJvc2UgIlNraXBwaW5nIGkzODYgcHJvbG9ndWUgdGVz dHMuIgogICAgIHJldHVybgogfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9pMzg2LXNpemUtb3ZlcmxhcC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2kzODYtc2l6ZS1vdmVybGFwLmV4cAppbmRleCBiYjc4 YzdhLi4yZjIyNDIyIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2kzODYtc2l6ZS1vdmVybGFwLmV4cAorKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2kzODYtc2l6ZS1vdmVybGFwLmV4cApAQCAtMjEsNyArMjEs NyBAQCBpZiAkdHJhY2VsZXZlbCB7CiAKICMgVGVzdCB0aGF0IEdEQiBjYW4g aGFuZGxlIG92ZXJsYXBwaW5nIHNpemVzIG9mIHN5bWJvbHMuCiAKLWlmICFb aXN0YXJnZXQgImk/ODYtKi0qIl0gdGhlbiB7CitpZiB7KCFbaXN0YXJnZXQg Ing4Nl82NC0qLSoiXSAmJiAhW2lzdGFyZ2V0ICJpPzg2LSotKiJdKSB8fCAh W2lzX2lscDMyX3RhcmdldF0gfSB0aGVuIHsKICAgICB2ZXJib3NlICJTa2lw cGluZyBpMzg2IHVud2luZGVyIHRlc3RzLiIKICAgICByZXR1cm4KIH0KZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1zaXplLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1zaXplLmV4cAppbmRl eCBlNGQ0YWQzLi42ZTM5N2Y5IDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2kzODYtc2l6ZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9pMzg2LXNpemUuZXhwCkBAIC0yNCw3ICsyNCw3IEBAIGlmICR0 cmFjZWxldmVsIHsKIAogIyBUZXN0IHRoYXQgR0RCIGNhbiBzZWUgdGhlIHNp emVzIG9mIHN5bWJvbHMuCiAKLWlmICFbaXN0YXJnZXQgImk/ODYtKi0qIl0g dGhlbiB7CitpZiB7KCFbaXN0YXJnZXQgIng4Nl82NC0qLSoiXSAmJiAhW2lz dGFyZ2V0ICJpPzg2LSotKiJdKSB8fCAhW2lzX2lscDMyX3RhcmdldF0gfSB0 aGVuIHsKICAgICB2ZXJib3NlICJTa2lwcGluZyBpMzg2IHVud2luZGVyIHRl c3RzLiIKICAgICByZXR1cm4KIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gvaTM4Ni1zc2UuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9pMzg2LXNzZS5leHAKaW5kZXggNzJhOGZiMi4uY2IzYWY0ZiAxMDA2 NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LXNzZS5leHAK KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LXNzZS5leHAKQEAg LTc3LDcgKzc3LDcgQEAgZ2RiX3Rlc3QgImJyZWFrIFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJmaXJzdCBicmVha3BvaW50IGhlcmUiXSIgXAogICAgICAgICAg InNldCBmaXJzdCBicmVha3BvaW50IGluIG1haW4iCiBnZGJfY29udGludWVf dG9fYnJlYWtwb2ludCAiY29udGludWUgdG8gZmlyc3QgYnJlYWtwb2ludCBp biBtYWluIgogCi1pZiBbaXN0YXJnZXQgaT84Ni0qLSpdIHsKK2lmIFtpc19p bHAzMl90YXJnZXRdIHsKICAgICBzZXQgbnJfcmVncyA4CiB9IGVsc2Ugewog ICAgIHNldCBucl9yZWdzIDE2CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL2kzODYtdW53aW5kLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvaTM4Ni11bndpbmQuZXhwCmluZGV4IGFjOTY2ODMuLjFjMTMwODkg MTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni11bndp bmQuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni11bndp bmQuZXhwCkBAIC0yNSw3ICsyNSw3IEBAIGlmICR0cmFjZWxldmVsIHsKICMg VGVzdCBpMzg2IHVud2luZGVyLgogCiAKLWlmICFbaXN0YXJnZXQgImk/ODYt Ki0qIl0gdGhlbiB7CitpZiB7KCFbaXN0YXJnZXQgIng4Nl82NC0qLSoiXSAm JiAhW2lzdGFyZ2V0ICJpPzg2LSotKiJdKSB8fCAhW2lzX2lscDMyX3Rhcmdl dF0gfSB0aGVuIHsKICAgICB2ZXJib3NlICJTa2lwcGluZyBpMzg2IHVud2lu ZGVyIHRlc3RzLiIKICAgICByZXR1cm4KIH0KZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni13b3JkLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gvaTM4Ni13b3JkLmV4cAppbmRleCBhMTc4ZmVkLi44Mjdk MTAxIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYt d29yZC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LXdv cmQuZXhwCkBAIC0yMyw3ICsyMyw3IEBAIGlmICR0cmFjZWxldmVsIHsKIH0K IAogCi1pZiB7ICFbaXN0YXJnZXQgaT84Ni0qLSpdIH0geworaWYgeyghW2lz dGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtpc3RhcmdldCAiaT84Ni0qLSoi XSkgfHwgIVtpc19pbHAzMl90YXJnZXRdIH0gdGhlbiB7CiAgICAgdmVyYm9z ZSAiU2tpcHBpbmcgaTM4NiB3b3JkIHJlZ2lzdGVyIHRlc3RzLiIKICAgICBy ZXR1cm4KIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv cHBjNjQtYXRvbWljLWluc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wcGM2NC1hdG9taWMtaW5zdC5leHAKaW5kZXggYzMxYzI4MC4uOGFlMjMx NyAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGM2NC1h dG9taWMtaW5zdC5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w cGM2NC1hdG9taWMtaW5zdC5leHAKQEAgLTI1LDcgKzI1LDcgQEAgaWYgJHRy YWNlbGV2ZWwgewogIyBpbnN0cnVjdGlvbi4KIAogCi1pZiAhW2lzdGFyZ2V0 ICJwb3dlcnBjNjQtKiJdIHRoZW4geworaWYgeyFbaXN0YXJnZXQgInBvd2Vy cGMqIl0gfHwgIVtpc19scDY0X3RhcmdldF19IHsKICAgICB2ZXJib3NlICJT a2lwcGluZyB0ZXN0aW5nIG9mIHBvd2VycGM2NCBzaW5nbGUgc3RlcHBpbmcg b3ZlciBhdG9taWMgc2VxdWVuY2VzLiIKICAgICByZXR1cm4KIH0KQEAgLTMz LDkgKzMzLDkgQEAgaWYgIVtpc3RhcmdldCAicG93ZXJwYzY0LSoiXSB0aGVu IHsKIHNldCB0ZXN0ZmlsZSAicHBjNjQtYXRvbWljLWluc3QiCiBzZXQgc3Jj ZmlsZSAke3Rlc3RmaWxlfS5jCiBzZXQgYmluZmlsZSAke29iamRpcn0vJHtz dWJkaXJ9LyR7dGVzdGZpbGV9Ci1zZXQgY29tcGlsZV9mbGFncyAiZGVidWcg cXVpZXQiCitzZXQgY29tcGlsZV9mbGFncyB7ZGVidWcgcXVpZXR9CiAKLWlm IHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmls ZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxlIFtjb25jYXQgJGNvbXBpbGVf ZmxhZ3MgYWRkaXRpb25hbF9mbGFncz0tbTY0XV0gIT0gIiIgfSB7CitpZiB7 IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9 IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSAkY29tcGlsZV9mbGFnc10gIT0g IiIgfSB7CiAgICAgdW5zdXBwb3J0ZWQgIlRlc3RjYXNlIGNvbXBpbGUgZmFp bGVkLiIKICAgICByZXR1cm4gLTEKIH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CmluZGV4IGI1YjMzNjIuLjAzMmMxYzYgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cApAQCAtMTQ1NCw2ICsxNDU0LDgzIEBAIHByb2Mgc2tpcF9zaGxpYl90 ZXN0cyB7fSB7CiAgICAgcmV0dXJuIDEKIH0KIAorIyBSZXR1cm4gMSBpZiB0 YXJnZXQgaXMgSUxQMzIuCisjIFRoaXMgY2Fubm90IGJlIGRlY2lkZWQgc2lt cGx5IGZyb20gbG9va2luZyBhdCB0aGUgdGFyZ2V0IHN0cmluZywKKyMgYXMg aXQgbWlnaHQgZGVwZW5kIG9uIGV4dGVybmFsbHkgcGFzc2VkIGNvbXBpbGVy IG9wdGlvbnMgbGlrZSAtbTY0LgorcHJvYyBpc19pbHAzMl90YXJnZXQge30g eworICAgIGdsb2JhbCBpc19pbHAzMl90YXJnZXRfc2F2ZWQKKworICAgICMg VXNlIHRoZSBjYWNoZWQgdmFsdWUsIGlmIGl0IGV4aXN0cy4gIENhY2hlIHZh bHVlIHBlciAiYm9hcmQiIHRvIGhhbmRsZQorICAgICMgcnVucyB3aXRoIG11 bHRpcGxlIG9wdGlvbnMgKGUuZy4gdW5peC97LW0zMiwtNjR9KSBjb3JyZWN0 bHkuCisgICAgc2V0IG1lICJpc19pbHAzMl90YXJnZXQiCisgICAgc2V0IGJv YXJkIFt0YXJnZXRfaW5mbyBuYW1lXQorICAgIGlmIFtpbmZvIGV4aXN0cyBp c19pbHAzMl90YXJnZXRfc2F2ZWQoJGJvYXJkKV0geworICAgICAgICB2ZXJi b3NlICIkbWU6ICByZXR1cm5pbmcgc2F2ZWQgJGlzX2lscDMyX3RhcmdldF9z YXZlZCgkYm9hcmQpIiAyCisgICAgICAgIHJldHVybiAkaXNfaWxwMzJfdGFy Z2V0X3NhdmVkKCRib2FyZCkKKyAgICB9CisKKworICAgIHNldCBzcmMgaWxw MzJbcGlkXS5jCisgICAgc2V0IG9iaiBpbHAzMltwaWRdLm8KKworICAgIHNl dCBmIFtvcGVuICRzcmMgInciXQorICAgIHB1dHMgJGYgImludCBkdW1teVxb c2l6ZW9mIChpbnQpID09IDQiCisgICAgcHV0cyAkZiAiICAgICAgICAgICAm JiBzaXplb2YgKHZvaWQgKikgPT0gNCIKKyAgICBwdXRzICRmICIgICAgICAg ICAgICYmIHNpemVvZiAobG9uZykgPT0gNCA/IDEgOiAtMVxdOyIKKyAgICBj bG9zZSAkZgorCisgICAgdmVyYm9zZSAiJG1lOiAgY29tcGlsaW5nIHRlc3Rm aWxlICRzcmMiIDIKKyAgICBzZXQgbGluZXMgW2dkYl9jb21waWxlICRzcmMg JG9iaiBvYmplY3Qge3F1aWV0fV0KKyAgICBmaWxlIGRlbGV0ZSAkc3JjCisg ICAgZmlsZSBkZWxldGUgJG9iagorCisgICAgaWYgIVtzdHJpbmcgbWF0Y2gg IiIgJGxpbmVzXSB0aGVuIHsKKyAgICAgICAgdmVyYm9zZSAiJG1lOiAgdGVz dGZpbGUgY29tcGlsYXRpb24gZmFpbGVkLCByZXR1cm5pbmcgMCIgMgorICAg ICAgICByZXR1cm4gW3NldCBpc19pbHAzMl90YXJnZXRfc2F2ZWQoJGJvYXJk KSAwXQorICAgIH0KKworICAgIHZlcmJvc2UgIiRtZTogIHJldHVybmluZyAx IiAyCisgICAgcmV0dXJuIFtzZXQgaXNfaWxwMzJfdGFyZ2V0X3NhdmVkKCRi b2FyZCkgMV0KK30KKworIyBSZXR1cm4gMSBpZiB0YXJnZXQgaXMgTFA2NC4K KyMgVGhpcyBjYW5ub3QgYmUgZGVjaWRlZCBzaW1wbHkgZnJvbSBsb29raW5n IGF0IHRoZSB0YXJnZXQgc3RyaW5nLAorIyBhcyBpdCBtaWdodCBkZXBlbmQg b24gZXh0ZXJuYWxseSBwYXNzZWQgY29tcGlsZXIgb3B0aW9ucyBsaWtlIC1t NjQuCitwcm9jIGlzX2xwNjRfdGFyZ2V0IHt9IHsKKyAgICBnbG9iYWwgaXNf bHA2NF90YXJnZXRfc2F2ZWQKKworICAgICMgVXNlIHRoZSBjYWNoZWQgdmFs dWUsIGlmIGl0IGV4aXN0cy4gIENhY2hlIHZhbHVlIHBlciAiYm9hcmQiIHRv IGhhbmRsZQorICAgICMgcnVucyB3aXRoIG11bHRpcGxlIG9wdGlvbnMgKGUu Zy4gdW5peC97LW0zMiwtNjR9KSBjb3JyZWN0bHkuCisgICAgc2V0IG1lICJp c19scDY0X3RhcmdldCIKKyAgICBzZXQgYm9hcmQgW3RhcmdldF9pbmZvIG5h bWVdCisgICAgaWYgW2luZm8gZXhpc3RzIGlzX2xwNjRfdGFyZ2V0X3NhdmVk KCRib2FyZCldIHsKKyAgICAgICAgdmVyYm9zZSAiJG1lOiAgcmV0dXJuaW5n IHNhdmVkICRpc19scDY0X3RhcmdldF9zYXZlZCgkYm9hcmQpIiAyCisgICAg ICAgIHJldHVybiAkaXNfbHA2NF90YXJnZXRfc2F2ZWQoJGJvYXJkKQorICAg IH0KKworICAgIHNldCBzcmMgbHA2NFtwaWRdLmMKKyAgICBzZXQgb2JqIGxw NjRbcGlkXS5vCisKKyAgICBzZXQgZiBbb3BlbiAkc3JjICJ3Il0KKyAgICBw dXRzICRmICJpbnQgZHVtbXlcW3NpemVvZiAoaW50KSA9PSA0IgorICAgIHB1 dHMgJGYgIiAgICAgICAgICAgJiYgc2l6ZW9mICh2b2lkICopID09IDgiCisg ICAgcHV0cyAkZiAiICAgICAgICAgICAmJiBzaXplb2YgKGxvbmcpID09IDgg PyAxIDogLTFcXTsiCisgICAgY2xvc2UgJGYKKworICAgIHZlcmJvc2UgIiRt ZTogIGNvbXBpbGluZyB0ZXN0ZmlsZSAkc3JjIiAyCisgICAgc2V0IGxpbmVz IFtnZGJfY29tcGlsZSAkc3JjICRvYmogb2JqZWN0IHtxdWlldH1dCisgICAg ZmlsZSBkZWxldGUgJHNyYworICAgIGZpbGUgZGVsZXRlICRvYmoKKworICAg IGlmICFbc3RyaW5nIG1hdGNoICIiICRsaW5lc10gdGhlbiB7CisgICAgICAg IHZlcmJvc2UgIiRtZTogIHRlc3RmaWxlIGNvbXBpbGF0aW9uIGZhaWxlZCwg cmV0dXJuaW5nIDAiIDIKKyAgICAgICAgcmV0dXJuIFtzZXQgaXNfbHA2NF90 YXJnZXRfc2F2ZWQoJGJvYXJkKSAwXQorICAgIH0KKworICAgIHZlcmJvc2Ug IiRtZTogIHJldHVybmluZyAxIiAyCisgICAgcmV0dXJuIFtzZXQgaXNfbHA2 NF90YXJnZXRfc2F2ZWQoJGJvYXJkKSAxXQorfQorCiAjIFJ1biBhIHRlc3Qg b24gdGhlIHRhcmdldCB0byBzZWUgaWYgaXQgc3VwcG9ydHMgdm14IGhhcmR3 YXJlLiAgUmV0dXJuIDAgaWYgc28sIAogIyAxIGlmIGl0IGRvZXMgbm90LiAg QmFzZWQgb24gJ2NoZWNrX3ZteF9od19hdmFpbGFibGUnIGZyb20gdGhlIEdD QyB0ZXN0c3VpdGUuCiAK --000e0cd2e0c6965c83048afbfd87--