From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 50749 invoked by alias); 14 Apr 2015 15:07:56 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 50714 invoked by uid 89); 14 Apr 2015 15:07:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vn0-f46.google.com Received: from mail-vn0-f46.google.com (HELO mail-vn0-f46.google.com) (209.85.216.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 14 Apr 2015 15:07:53 +0000 Received: by vnbf62 with SMTP id f62so4486788vnb.13 for ; Tue, 14 Apr 2015 08:07:51 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.51.6 with SMTP id g6mr16807778oeo.45.1429024071139; Tue, 14 Apr 2015 08:07:51 -0700 (PDT) Received: by 10.76.54.14 with HTTP; Tue, 14 Apr 2015 08:07:49 -0700 (PDT) In-Reply-To: References: <20150330022527.GA4148@gmail.com> <20150331053855.GB2121@tucnak.redhat.com> Date: Tue, 14 Apr 2015 15:07:00 -0000 Message-ID: Subject: Re: PATCH] PR target/65612: Multiversioning doesn't work with DSO nor PIE From: "H.J. Lu" To: Jack Howarth Cc: Ian Lance Taylor , Jakub Jelinek , GCC Patches , Uros Bizjak , Iain Sandoe , Mike Stump Content-Type: multipart/mixed; boundary=001a11c306f02325630513b09801 X-IsSubscribed: yes X-SW-Source: 2015-04/txt/msg00671.txt.bz2 --001a11c306f02325630513b09801 Content-Type: text/plain; charset=UTF-8 Content-length: 2634 On Tue, Mar 31, 2015 at 11:33 AM, Jack Howarth wrote: > On Tue, Mar 31, 2015 at 1:00 PM, H.J. Lu wrote: >> On Tue, Mar 31, 2015 at 9:39 AM, Jack Howarth wrote: >>> On Tue, Mar 31, 2015 at 12:14 PM, H.J. Lu wrote: >>>> On Tue, Mar 31, 2015 at 9:09 AM, Jack Howarth wrote: >>>>> H.J., >>>>> Did you attach the correct version of the patch? I don't see >>>>> anything conditional on linux. >>>>> Jack >>>> >>>> My patch will build and install libgcc_nonshared.a for all targets. If you >>>> don't link against it, nothing is changed. On Linux, it is used via the >>>> init_spec change. >>> >>> Isn't... >>> >>> diff --git a/gcc/gcc.c b/gcc/gcc.c >>> index d956c36..3fbd549 100644 >>> --- a/gcc/gcc.c >>> +++ b/gcc/gcc.c >>> @@ -1566,6 +1566,7 @@ init_spec (void) >>> if (in_sep && *p == '-' && strncmp (p, "-lgcc", 5) == 0) >>> { >>> init_gcc_specs (&obstack, >>> + "-lgcc_nonshared " >>> "-lgcc_s" >>> #ifdef USE_LIBUNWIND_EXCEPTIONS >>> " -lunwind" >>> @@ -1591,6 +1592,7 @@ init_spec (void) >>> /* Ug. We don't know shared library extensions. Hope that >>> systems that use this form don't do shared libraries. */ >>> init_gcc_specs (&obstack, >>> + "libgcc_nonshared.a%s " >>> "-lgcc_s", >>> "libgcc.a%s", >>> "libgcc_eh.a%s" >>> >>> problematic for Solaris? I am unfamiliar with the Solaris spec >>> handling but sol2.h doesn't seem to have any instances of -lgcc which >>> might imply they use the stock compiler invocation which will now have >>> a non-existent libgcc_nonshared static library. >> >> libgcc_nonshared.a is built and installed for all targets. >> >>> Also, are you leaving the cpu symbols in libgcc.a on non-linux >>> targets? If not, the linkage failure reported in >>> https://gcc.gnu.org/ml/gcc-patches/2015-03/msg01668.html will occur, >>> no? >> >> My current patch doesn't change what are in libgcc.a. It >> adds libgcc_nonshared.a for all targets, which contains >> the same cpuinfo.o as in libgcc.a or a dummy .o if libgcc.a >> doesn't have cpuinfo.o. > > > I can confirm that the most current patch bootstraps on > x86_64-apple-darwin14 and that all of the new tests show up as > unsupported in the test suite. > Jack I am re-posting this patch. OK for trunk? Thanks. -- H.J. --001a11c306f02325630513b09801 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Hide-__cpu_indicator_init-__cpu_model-from-linker.patch" Content-Disposition: attachment; filename="0001-Hide-__cpu_indicator_init-__cpu_model-from-linker.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i8hg0i4y0 Content-length: 13730 RnJvbSA5ZGRmODU5YmE3MTEyYzM0NTlmNzA5ZmJiN2FhYWY5ZWFiZjQ4NWI2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFN1biwgMjkgTWFyIDIwMTUgMTg6 MDM6NDkgLTA3MDAKU3ViamVjdDogW1BBVENIXSBIaWRlIF9fY3B1X2luZGlj YXRvcl9pbml0L19fY3B1X21vZGVsIGZyb20gbGlua2VyCgpXZSBzaG91bGRu J3QgY2FsbCBleHRlcm5hbCBmdW5jdGlvbiwgX19jcHVfaW5kaWNhdG9yX2lu aXQsIHdoaWxlIGFuIG9iamVjdAppcyBiZWluZyByZWxvY2F0ZWQgc2luY2Ug aXRzIC5nb3QucGx0IHNlY3Rpb24gaGFzbid0IGJlZW4gdXBkYXRlZC4gIEl0 CndvcmtzIGZvciBub24tUElFIHNpbmNlIG5vIHVwZGF0ZSBvbiAuZ290LnBs dCBzZWN0aW9uIGlzIHJlcXVpcmVkLiAgVGhpcwpwYXRjaCBoaWRlcyBfX2Nw dV9pbmRpY2F0b3JfaW5pdC9fX2NwdV9tb2RlbCBmcm9tIGxpbmtlciB0byBm b3JjZSBsaW5rZXIKdG8gcmVzb2x2ZSBfX2NwdV9pbmRpY2F0b3JfaW5pdC9f X2NwdV9tb2RlbCB0byB0aGVpciBoaWRkZW4gZGVmaW5pdGlvbnMKaW4gbGli Z2NjX25vbnNoYXJlZC5hIHdoaWxlIHByb3ZpZGluZyBiYWNrd2FyZCBiaW5h cnkgY29tcGF0aWJpbGl0eS4gIFRoZQpuZXcgbGliZ2NjX25vbnNoYXJlZC5h IGlzIGFsd2F5cyBsaW5rZWQgdG9ndGhlciB3aXRoIC1sZ2NjX3MgYW5kIC1s Z2NjLgoKZ2NjLwoKCVBSIHRhcmdldC82NTYxMgoJKiBnY2MuYyAoaW5pdF9z cGVjKTogQWRkIC1sZ2NjX25vbnNoYXJlZC9saWJnY2Nfbm9uc2hhcmVkLmEl cwoJdG8gLWxnY2Nfcy4KCmdjYy90ZXN0c3VpdGUvCgoJUFIgdGFyZ2V0LzY1 NjEyCgkqIGcrKy5kZy9leHQvbXYxOC5DOiBOZXcgdGVzdC4KCSogZysrLmRn L2V4dC9tdjE5LkM6IExpa2V3aXNlLgoJKiBnKysuZGcvZXh0L212MjAuQzog TGlrZXdpc2UuCgkqIGcrKy5kZy9leHQvbXYyMS5DOiBMaWtld2lzZS4KCSog ZysrLmRnL2V4dC9tdjIyLkM6IExpa2V3aXNlLgoJKiBnKysuZGcvZXh0L212 MjMuQzogTGlrZXdpc2UuCgpsaWJnY2MvCgoJUFIgdGFyZ2V0LzY1NjEyCgkq IE1ha2VmaWxlLmluIChMSUIyQURETk9OU0hBUkVEKTogTmV3LgoJKGxpYmdj Yy1ub25zaGFyZWQtb2JqZWN0cyk6IExpa2V3aXNlLgoJKGxpYmdjY19ub25z aGFyZWQuYSk6IExpa2V3aXNlLgoJQ2hlY2sgdW5zdXBwb3J0ZWQgZmlsZXMg aW4gTElCMkFERE5PTlNIQVJFRC4KCShpdGVyLWl0ZW1zKTogQWRkICQoTElC MkFERE5PTlNIQVJFRCkuCgkoYWxsKTogRGVwZW5kIG9uIGxpYmdjY19ub25z aGFyZWQuYS4KCSgkKGxpYmdjYy1ub25zaGFyZWQtb2JqZWN0cykpOiBEZXBl bmQgb24gbGliZ2NjX3RtLmguCgkoaW5zdGFsbC1sZWFmKTogSW5zdGFsbCBs aWJnY2Nfbm9uc2hhcmVkLmEuCgkqIHNoYXJlZC1vYmplY3QubWs6IENoZWNr IGVtcHR5ICRvLgoJKiBjb25maWcvaTM4Ni9jcHVpbmZvLmMgKF9fY3B1X21v ZGVsKTogSW5pdGlhbGl6ZS4KCShfX2NwdV9pbmRpY2F0b3JfaW5pdEBHQ0Nf NC44LjApOiBOZXcuCgkoX19jcHVfbW9kZWxAR0NDXzQuOC4wKTogTGlrZXdp c2UuCgkqIGNvbmZpZy9pMzg2L3QtY3B1aW5mbyAoTElCMkFERE5PTlNIQVJF RCk6IE5ldy4KCSogY29uZmlnL2kzODYvdC1saW51eCAoSE9TVF9MSUJHQ0My X0NGTEFHUyk6IEFkZAoJLURVU0VfRUxGX1NZTVZFUi4KLS0tCiBnY2MvZ2Nj LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIGdjYy90ZXN0c3Vp dGUvZysrLmRnL2V4dC9tdjE4LkMgfCAgNyArKysrKysrCiBnY2MvdGVzdHN1 aXRlL2crKy5kZy9leHQvbXYxOS5DIHwgIDcgKysrKysrKwogZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvZXh0L212MjAuQyB8ICA3ICsrKysrKysKIGdjYy90ZXN0 c3VpdGUvZysrLmRnL2V4dC9tdjIxLkMgfCAgNyArKysrKysrCiBnY2MvdGVz dHN1aXRlL2crKy5kZy9leHQvbXYyMi5DIHwgIDcgKysrKysrKwogZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvZXh0L212MjMuQyB8ICA3ICsrKysrKysKIGxpYmdj Yy9NYWtlZmlsZS5pbiAgICAgICAgICAgICAgfCAyMiArKysrKysrKysrKysr KysrKysrLS0tCiBsaWJnY2MvY29uZmlnL2kzODYvY3B1aW5mby5jICAgIHwg IDcgKysrKysrLQogbGliZ2NjL2NvbmZpZy9pMzg2L3QtY3B1aW5mbyAgICB8 ICAxICsKIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgICAgfCAgMiAr LQogbGliZ2NjL3NoYXJlZC1vYmplY3QubWsgICAgICAgICB8ICAyICsrCiAx MiBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZysrLmRn L2V4dC9tdjE4LkMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2crKy5kZy9leHQvbXYxOS5DCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvZXh0L212MjAuQwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZysrLmRnL2V4dC9tdjIxLkMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvbXYyMi5DCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L212MjMu QwoKZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwppbmRleCBk OTU2YzM2Li4zZmJkNTQ5IDEwMDY0NAotLS0gYS9nY2MvZ2NjLmMKKysrIGIv Z2NjL2djYy5jCkBAIC0xNTY2LDYgKzE1NjYsNyBAQCBpbml0X3NwZWMgKHZv aWQpCiAJaWYgKGluX3NlcCAmJiAqcCA9PSAnLScgJiYgc3RybmNtcCAocCwg Ii1sZ2NjIiwgNSkgPT0gMCkKIAkgIHsKIAkgICAgaW5pdF9nY2Nfc3BlY3Mg KCZvYnN0YWNrLAorCQkJICAgICItbGdjY19ub25zaGFyZWQgIgogCQkJICAg ICItbGdjY19zIgogI2lmZGVmIFVTRV9MSUJVTldJTkRfRVhDRVBUSU9OUwog CQkJICAgICIgLWx1bndpbmQiCkBAIC0xNTkxLDYgKzE1OTIsNyBAQCBpbml0 X3NwZWMgKHZvaWQpCiAJICAgIC8qIFVnLiAgV2UgZG9uJ3Qga25vdyBzaGFy ZWQgbGlicmFyeSBleHRlbnNpb25zLiAgSG9wZSB0aGF0CiAJICAgICAgIHN5 c3RlbXMgdGhhdCB1c2UgdGhpcyBmb3JtIGRvbid0IGRvIHNoYXJlZCBsaWJy YXJpZXMuICAqLwogCSAgICBpbml0X2djY19zcGVjcyAoJm9ic3RhY2ssCisJ CQkgICAgImxpYmdjY19ub25zaGFyZWQuYSVzICIKIAkJCSAgICAiLWxnY2Nf cyIsCiAJCQkgICAgImxpYmdjYy5hJXMiLAogCQkJICAgICJsaWJnY2NfZWgu YSVzIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L212 MTguQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2V4dC9tdjE4LkMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYwMjRkZQotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2V4dC9tdjE4LkMK QEAgLTAsMCArMSw3IEBACisvKiBUZXN0IGNhc2UgdG8gY2hlY2sgaWYgTXVs dGl2ZXJzaW9uaW5nIHdvcmtzLiAgKi8KKy8qIHsgZGctZG8gcnVuIHsgdGFy Z2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCisvKiB7IGRnLXJlcXVp cmUtaWZ1bmMgIiIgfSAgKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUt dGFyZ2V0IHBpZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZlBJRSAt cGllIiB9ICovCisKKyNpbmNsdWRlICJtdjEuQyIKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZysrLmRnL2V4dC9tdjE5LkMgYi9nY2MvdGVzdHN1aXRl L2crKy5kZy9leHQvbXYxOS5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmQxZWE3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2crKy5kZy9leHQvbXYxOS5DCkBAIC0wLDAgKzEsNyBAQAorLyog VGVzdCBjYXNlIHRvIGNoZWNrIGlmIE11bHRpdmVyc2lvbmluZyB3b3Jrcy4g ICovCisvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQt Ki0qIH0gfSAqLworLyogeyBkZy1yZXF1aXJlLWlmdW5jICIiIH0gICovCisv KiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBwaWUgfSAqLworLyog eyBkZy1vcHRpb25zICItTzIgLWZQSUUgLXBpZSAtbWFyY2g9eDg2LTY0IiB9 ICovCisKKyNpbmNsdWRlICJtdjE0LkMiCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2crKy5kZy9leHQvbXYyMC5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvZXh0L212MjAuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi45OGY3NDA4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvZXh0L212MjAuQwpAQCAtMCwwICsxLDcgQEAKKy8qIFRlc3Qg Y2FzZSB0byBjaGVjayBpZiBNdWx0aXZlcnNpb25pbmcgd29ya3MuICAqLwor LyogeyBkZy1kbyBydW4geyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9 IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1pZnVuYyAiIiB9ICAqLworLyogeyBk Zy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgcGllIH0gKi8KKy8qIHsgZGct b3B0aW9ucyAiLU8yIC1mUElFIC1waWUgLW1hcmNoPXg4Ni02NCIgfSAqLwor CisjaW5jbHVkZSAibXYxNS5DIgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvZXh0L212MjEuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2V4 dC9tdjIxLkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u OTcwOGFkOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZysr LmRnL2V4dC9tdjIxLkMKQEAgLTAsMCArMSw3IEBACisvKiBUZXN0IGNhc2Ug dG8gY2hlY2sgaWYgTXVsdGl2ZXJzaW9uaW5nIHdvcmtzLiAgKi8KKy8qIHsg ZGctZG8gcnVuIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICov CisvKiB7IGRnLXJlcXVpcmUtaWZ1bmMgIiIgfSAgKi8KKy8qIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHN0YXRpYyB9ICovCisvKiB7IGRnLW9w dGlvbnMgIi1PMiAtc3RhdGljIiB9ICovCisKKyNpbmNsdWRlICJtdjEuQyIK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL2V4dC9tdjIyLkMg Yi9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvbXYyMi5DCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NTAxMzYKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvbXYyMi5DCkBAIC0w LDAgKzEsNyBAQAorLyogVGVzdCBjYXNlIHRvIGNoZWNrIGlmIE11bHRpdmVy c2lvbmluZyB3b3Jrcy4gICovCisvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCBp Pzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworLyogeyBkZy1yZXF1aXJlLWlm dW5jICIiIH0gICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdl dCBzdGF0aWMgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLXN0YXRpYyAt bWFyY2g9eDg2LTY0IiB9ICovCisKKyNpbmNsdWRlICJtdjE0LkMiCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvbXYyMy5DIGIvZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvZXh0L212MjMuQwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5mMDBhZmIwCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L212MjMuQwpAQCAtMCwwICsx LDcgQEAKKy8qIFRlc3QgY2FzZSB0byBjaGVjayBpZiBNdWx0aXZlcnNpb25p bmcgd29ya3MuICAqLworLyogeyBkZy1kbyBydW4geyB0YXJnZXQgaT84Ni0q LSogeDg2XzY0LSotKiB9IH0gKi8KKy8qIHsgZGctcmVxdWlyZS1pZnVuYyAi IiB9ICAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgc3Rh dGljIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1zdGF0aWMgLW1hcmNo PXg4Ni02NCIgfSAqLworCisjaW5jbHVkZSAibXYxNS5DIgpkaWZmIC0tZ2l0 IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCmlu ZGV4IDg4ZGRmZWEuLmY3OGIxYWMgMTAwNjQ0Ci0tLSBhL2xpYmdjYy9NYWtl ZmlsZS5pbgorKysgYi9saWJnY2MvTWFrZWZpbGUuaW4KQEAgLTI2MSw2ICsy NjEsMTAgQEAgTElCMkFERCA9CiAjIEFzc2VtYmxlciBmaWxlcyBzaG91bGQg aGF2ZSBuYW1lcyBlbmRpbmcgaW4gYC5TJy4KIExJQjJBRERfU1QgPQogCisj IExpc3Qgb2YgZXh0cmEgQyBhbmQgYXNzZW1ibGVyIGZpbGVzIHRvIGFkZCB0 byBsaWJnY2Nfbm9uc2hhcmVkLmEuCisjIEFzc2VtYmxlciBmaWxlcyBzaG91 bGQgaGF2ZSBuYW1lcyBlbmRpbmcgaW4gYC5TJy4KK0xJQjJBREROT05TSEFS RUQgPQorCiAjIFNwZWNpZnkgdGhlIGRpcmVjdG9yaWVzIHRvIGJlIHNlYXJj aGVkIGZvciBoZWFkZXIgZmlsZXMuCiAjIEJvdGggLiBhbmQgc3JjZGlyIGFy ZSB1c2VkLCBpbiB0aGF0IG9yZGVyLAogIyBzbyB0aGF0ICpjb25maWcuaCB3 aWxsIGJlIGZvdW5kIGluIHRoZSBjb21waWxhdGlvbgpAQCAtODA3LDggKzgx MSwxNSBAQCBlbmRpZgogbGliZ2NjLW9iamVjdHMgKz0gJChhZGRzdWZmaXgg JChvYmpleHQpLCQoYmFzZW5hbWUgJChub3RkaXIgJChMSUIyQUREKSkpKQog bGliZ2NjLW9iamVjdHMgKz0gJChhZGRzdWZmaXggJChvYmpleHQpLCQoYmFz ZW5hbWUgJChub3RkaXIgJChMSUIyQUREX1NUKSkpKQogCisjIEJ1aWxkIExJ QjJBREROT05TSEFSRUQuCitpZm5lcSAoJChmaWx0ZXItb3V0ICUuYyAlLlMg JS5hc20sJChMSUIyQURETk9OU0hBUkVEKSksKQorJChlcnJvciBVbnN1cHBv cnRlZCBmaWxlcyBpbiBMSUIyQURETk9OU0hBUkVELikKK2VuZGlmCisKK2xp YmdjYy1ub25zaGFyZWQtb2JqZWN0cyArPSAkKGFkZHN1ZmZpeCAkKG9iamV4 dCksJChiYXNlbmFtZSAkKG5vdGRpciAkKExJQjJBREROT05TSEFSRUQpKSkp CisKIGNfZmxhZ3MgOj0KLWl0ZXItaXRlbXMgOj0gJChMSUIyQUREKSAkKExJ QjJBRERfU1QpCitpdGVyLWl0ZW1zIDo9ICQoTElCMkFERCkgJChMSUIyQURE X1NUKSAkKExJQjJBREROT05TSEFSRUQpCiBpbmNsdWRlICQoaXRlcmF0b3Ip CiAKIGlmZXEgKCQoZW5hYmxlX3NoYXJlZCkseWVzKQpAQCAtODkwLDggKzkw MSw5IEBAIGxpYmdjYy5hOiAkKGxpYmdjYy1vYmplY3RzKQogbGliZ2Nvdi5h OiAkKGxpYmdjb3Ytb2JqZWN0cykKIGxpYnVud2luZC5hOiAkKGxpYnVud2lu ZC1vYmplY3RzKQogbGliZ2NjX2VoLmE6ICQobGliZ2NjLWVoLW9iamVjdHMp CitsaWJnY2Nfbm9uc2hhcmVkLmE6ICQobGliZ2NjLW5vbnNoYXJlZC1vYmpl Y3RzKQogCi1saWJnY2MuYSBsaWJnY292LmEgbGlidW53aW5kLmEgbGliZ2Nj X2VoLmE6CitsaWJnY2MuYSBsaWJnY292LmEgbGlidW53aW5kLmEgbGliZ2Nj X2VoLmEgbGliZ2NjX25vbnNoYXJlZC5hOgogCS1ybSAtZiAkQAogCiAJb2Jq ZWN0cz0iJChvYmplY3RzKSI7CQkJCQlcCkBAIC05MDUsNyArOTE3LDcgQEAg bGliZ2NjLmEgbGliZ2Nvdi5hIGxpYnVud2luZC5hIGxpYmdjY19laC5hOgog CiAJJChSQU5MSUIpICRACiAKLWFsbDogbGliZ2NjLmEgbGliZ2Nvdi5hCith bGw6IGxpYmdjYy5hIGxpYmdjY19ub25zaGFyZWQuYSBsaWJnY292LmEKIAog aWZuZXEgKCQoTElCVU5XSU5EKSwpCiBhbGw6IGxpYnVud2luZC5hCkBAIC0x MDUxLDYgKzEwNjMsNyBAQCBsaWJnY2MtZXh0cmEtcGFydHM6ICQoRVhUUkFf UEFSVFMpCiBhbGw6ICQoZXh0cmEtcGFydHMpCiAKICQobGliZ2NjLW9iamVj dHMpICQobGliZ2NjLXMtb2JqZWN0cykgJChsaWJnY2MtZWgtb2JqZWN0cykg XAorCSQobGliZ2NjLW5vbnNoYXJlZC1vYmplY3RzKSBcCiAJJChsaWJnY292 LW9iamVjdHMpIFwKIAkkKGxpYnVud2luZC1vYmplY3RzKSAkKGxpYnVud2lu ZC1zLW9iamVjdHMpIFwKIAkkKEVYVFJBX1BBUlRTKTogbGliZ2NjX3RtLmgK QEAgLTExMTgsNiArMTEzMSw5IEBAIGluc3RhbGwtbGVhZjogJChpbnN0YWxs LXNoYXJlZCkgJChpbnN0YWxsLWxpYnVud2luZCkKIAkkKElOU1RBTExfREFU QSkgbGliZ2NjLmEgJChERVNURElSKSQoaW5zdF9saWJkaXIpLwogCWNobW9k IDY0NCAkKERFU1RESVIpJChpbnN0X2xpYmRpcikvbGliZ2NjLmEKIAkkKFJB TkxJQikgJChERVNURElSKSQoaW5zdF9saWJkaXIpL2xpYmdjYy5hCisJJChJ TlNUQUxMX0RBVEEpIGxpYmdjY19ub25zaGFyZWQuYSAkKERFU1RESVIpJChp bnN0X2xpYmRpcikvCisJY2htb2QgNjQ0ICQoREVTVERJUikkKGluc3RfbGli ZGlyKS9saWJnY2Nfbm9uc2hhcmVkLmEKKwkkKFJBTkxJQikgJChERVNURElS KSQoaW5zdF9saWJkaXIpL2xpYmdjY19ub25zaGFyZWQuYQogCSQoSU5TVEFM TF9EQVRBKSBsaWJnY292LmEgJChERVNURElSKSQoaW5zdF9saWJkaXIpLwog CWNobW9kIDY0NCAkKERFU1RESVIpJChpbnN0X2xpYmRpcikvbGliZ2Nvdi5h CiAJJChSQU5MSUIpICQoREVTVERJUikkKGluc3RfbGliZGlyKS9saWJnY292 LmEKZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMg Yi9saWJnY2MvY29uZmlnL2kzODYvY3B1aW5mby5jCmluZGV4IGVhZjJmMTAu LmY2ZjkxZGQgMTAwNjQ0Ci0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVp bmZvLmMKKysrIGIvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYwpAQCAt MTA5LDcgKzEwOSw3IEBAIHN0cnVjdCBfX3Byb2Nlc3Nvcl9tb2RlbAogICB1 bnNpZ25lZCBpbnQgX19jcHVfdHlwZTsKICAgdW5zaWduZWQgaW50IF9fY3B1 X3N1YnR5cGU7CiAgIHVuc2lnbmVkIGludCBfX2NwdV9mZWF0dXJlc1sxXTsK LX0gX19jcHVfbW9kZWw7Cit9IF9fY3B1X21vZGVsID0geyB9OwogCiAKIC8q IEdldCB0aGUgc3BlY2lmaWMgdHlwZSBvZiBBTUQgQ1BVLiAgKi8KQEAgLTQy NCwzICs0MjQsOCBAQCBfX2NwdV9pbmRpY2F0b3JfaW5pdCAodm9pZCkKIAog ICByZXR1cm4gMDsKIH0KKworI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmlu ZWQgVVNFX0VMRl9TWU1WRVIKK19fYXNtX18gKCIuc3ltdmVyIF9fY3B1X2lu ZGljYXRvcl9pbml0LCBfX2NwdV9pbmRpY2F0b3JfaW5pdEBHQ0NfNC44LjAi KTsKK19fYXNtX18gKCIuc3ltdmVyIF9fY3B1X21vZGVsLCBfX2NwdV9tb2Rl bEBHQ0NfNC44LjAiKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliZ2NjL2Nv bmZpZy9pMzg2L3QtY3B1aW5mbyBiL2xpYmdjYy9jb25maWcvaTM4Ni90LWNw dWluZm8KaW5kZXggMzFjOGRiOS4uYjIwZWYzMCAxMDA2NDQKLS0tIGEvbGli Z2NjL2NvbmZpZy9pMzg2L3QtY3B1aW5mbworKysgYi9saWJnY2MvY29uZmln L2kzODYvdC1jcHVpbmZvCkBAIC0xICsxLDIgQEAKIExJQjJBREQgKz0gJChz cmNkaXIpL2NvbmZpZy9pMzg2L2NwdWluZm8uYworTElCMkFERE5PTlNIQVJF RCArPSAkKHNyY2RpcikvY29uZmlnL2kzODYvY3B1aW5mby5jCmRpZmYgLS1n aXQgYS9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eCBiL2xpYmdjYy9jb25m aWcvaTM4Ni90LWxpbnV4CmluZGV4IDRmNDdmN2IuLjExYmI0NmUgMTAwNjQ0 Ci0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4CisrKyBiL2xpYmdj Yy9jb25maWcvaTM4Ni90LWxpbnV4CkBAIC0zLDQgKzMsNCBAQAogIyB0LXNs aWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAogU0hMSUJfTUFQRklMRVMgPSBs aWJnY2Mtc3RkLnZlciAkKHNyY2RpcikvY29uZmlnL2kzODYvbGliZ2NjLWds aWJjLnZlcgogCi1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3Vi bGUtODAKK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS04 MCAtRFVTRV9FTEZfU1lNVkVSCmRpZmYgLS1naXQgYS9saWJnY2Mvc2hhcmVk LW9iamVjdC5tayBiL2xpYmdjYy9zaGFyZWQtb2JqZWN0Lm1rCmluZGV4IGVm YWM3OTcuLjMwNjE3NmQgMTAwNjQ0Ci0tLSBhL2xpYmdjYy9zaGFyZWQtb2Jq ZWN0Lm1rCisrKyBiL2xpYmdjYy9zaGFyZWQtb2JqZWN0Lm1rCkBAIC00LDYg KzQsNyBAQAogbyA6PSAkKGZpcnN0d29yZCAkKGl0ZXItaXRlbXMpKQogaXRl ci1pdGVtcyA6PSAkKGZpbHRlci1vdXQgJG8sJChpdGVyLWl0ZW1zKSkKIAor aWZuZXEgKCRvLCkKIGJhc2UgOj0gJChiYXNlbmFtZSAkKG5vdGRpciAkbykp CiAKIGNfZmxhZ3MtJG8gOj0gJChjX2ZsYWdzKQpAQCAtMzYsMyArMzcsNCBA QCAkKGJhc2UpX3MkKG9iamV4dCk6ICRvCiAJJChnY2Nfc19jb21waWxlKSAt YyAkKGFzX2ZsYWdzLSQ8KSAkPAogCiBlbmRpZgorZW5kaWYKLS0gCjEuOS4z Cgo= --001a11c306f02325630513b09801--