From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) by sourceware.org (Postfix) with ESMTPS id 46B973857C50 for ; Fri, 9 Apr 2021 20:16:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 46B973857C50 Received: by mail-oi1-x230.google.com with SMTP id z15so6994760oic.8 for ; Fri, 09 Apr 2021 13:16:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=40rDx8fBT38Xbz/NBbLPjYoYj+BpYHITBSNqIrb+y2I=; b=XQff7XOro065L/jUH0wkSugr5JVRb946fYMJ91RKoVh5Rcq2nuBOLCaLcXhvx/ZwA7 Tew9qdODkFdZFkYNi8L09bl7kp/9SlD+BjKU8TFSgnfwbXl2FI8aXPQoCJLSVZI/dlik xl2ayFhTVsfsyGPMxsiR6g86PKuQVg4GcIDl8yAz9S8Sl+5qdA9rYokbRDJZcmC1cL95 xPZNjuVJH2FPS1riKXarDHGWPZdDr7pL5Rd/AuKMh4/oB7ESl5wFEXEFZsWLq2aq6YQO eeTa/JFKeuEYyVbDYpwQ2DtSECG7hIDCVBYAV0cwAzhuVLuVIvCe/AwU/F/XYeFVFNCs Awrg== X-Gm-Message-State: AOAM53193AJHGM8Vv0zid7h4eJtnG4UDpAyIyVQsiX+BScT2puMjgrmI 3wU09CjLGnyhZYhKQUJCpoD23KgNc/01TAhYuwU= X-Google-Smtp-Source: ABdhPJxMziu9PGQl99Vtil315EqIS0pvtVDsd8B8SePy6V1Pcqbqoko5EikhyAraxA99UQM3DY/AR6at3y2UTnOmGS4= X-Received: by 2002:a05:6808:10c5:: with SMTP id s5mr11021692ois.58.1617999407723; Fri, 09 Apr 2021 13:16:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Fri, 9 Apr 2021 13:16:11 -0700 Message-ID: Subject: [GCC 9] [PR47785] COLLECT_AS_OPTIONS To: Prathamesh Kulkarni Cc: Richard Biener , GCC Patches Content-Type: multipart/mixed; boundary="000000000000f1dd0605bf8fd7a6" X-Spam-Status: No, score=-3034.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, SUBJ_ALL_CAPS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Apr 2021 20:16:50 -0000 --000000000000f1dd0605bf8fd7a6 Content-Type: text/plain; charset="UTF-8" On Sun, Feb 23, 2020 at 10:32 PM Prathamesh Kulkarni wrote: > > On Wed, 19 Feb 2020 at 19:54, Richard Biener wrote: > > > > > > > > OK with those changes. Did you try if the diagnostics are visible > > > > (when you add -Wl,-debug or/and -Wl,-v to the link command?) > > > Made the changes in attached patch, thanks. > > > The diagnostics are visible with -Wl,-v and -Wl,-debug. > > > LTO bootstrap in progress on x86_64 and arm. > > > OK to commit if passes ? > > > > OK. > Thanks, I committed the patch in f1a681a174cdfb82e62c246d6f4add9a25fc2e43, > after verifying LTO+bootstrap passed on x86_64-unknown-linux-gnu. > > Thanks, > Prathamesh I'd like to backport this to GCC 9. OK for GCC 9 branch? Thanks. -- H.J. --000000000000f1dd0605bf8fd7a6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-PR47785-Add-support-for-handling-Xassembler-Wa-optio.patch" Content-Disposition: attachment; filename="0001-PR47785-Add-support-for-handling-Xassembler-Wa-optio.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_knaqzxc70 RnJvbSAwNTEzNTBiNmVkZmVlZWQxNjhhZTgyMTczNGNhNjdjYTE5N2MyZTdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQcmF0aGFtZXNoIEt1bGthcm5pIDxwcmF0aGFtZXNoLmt1bGth cm5pQGxpbmFyby5vcmc+CkRhdGU6IE1vbiwgMjQgRmViIDIwMjAgMTE6NTU6NDUgKzA1MzAKU3Vi amVjdDogW1BBVENIXSBQUjQ3Nzg1OiBBZGQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgWGFzc2VtYmxl ci9XYSBvcHRpb25zIHdpdGgKIExUTy4KCjIwMjAtMDItMjQgIFByYXRoYW1lc2ggS3Vsa2Fybmkg IDxwcmF0aGFtZXNoLmt1bGthcm5pQGxpbmFyby5vcmc+CgkgICAgS3VnYW4gVml2ZWthbmRhcmFq YWggIDxrdWdhbi52aXZla2FuYW5kYXJhamFoQGxpbmFyby5vcmc+CgoJUFIgZHJpdmVyLzQ3Nzg1 CgkqIGdjYy5jIChwdXRlbnZfQ09MTEVDVF9BU19PUFRJT05TKTogTmV3IGZ1bmN0aW9uLgoJKGRy aXZlcjo6bWFpbik6IENhbGwgcHV0ZW52X0NPTExFQ1RfQVNfT1BUSU9OUy4KCSogb3B0cy1jb21t b24uYyAocGFyc2Vfb3B0aW9uc19mcm9tX2NvbGxlY3RfZ2NjX29wdGlvbnMpOiBOZXcgZnVuY3Rp b24uCgkocHJlcGVuZF94YXNzZW1ibGVyX3RvX2NvbGxlY3RfYXNfb3B0aW9ucyk6IExpa2V3aXNl LgoJKiBvcHRzLmggKHBhcnNlX29wdGlvbnNfZnJvbV9jb2xsZWN0X2djY19vcHRpb25zKTogRGVj bGFyZSBwcm90b3R5cGUuCgkocHJlcGVuZF94YXNzZW1ibGVyX3RvX2NvbGxlY3RfYXNfb3B0aW9u cyk6IExpa2V3aXNlLgoJKiBsdG8tb3B0cy5jIChsdG9fd3JpdGVfb3B0aW9ucyk6IFN0cmVhbSBh c3NlbWJsZXIgb3B0aW9ucwoJaW4gQ09MTEVDVF9BU19PUFRJT05TLgoJKiBsdG8td3JhcHBlci5j ICh4YXNzZW1ibGVyX29wdGlvbnNfZXJyb3IpOiBOZXcgc3RhdGljIHZhcmlhYmxlLgoJKGdldF9v cHRpb25zX2Zyb21fY29sbGVjdF9nY2Nfb3B0aW9ucyk6IE1vdmUgcGFyc2luZyBvcHRpb25zIGNv ZGUgdG8KCXBhcnNlX29wdGlvbnNfZnJvbV9jb2xsZWN0X2djY19vcHRpb25zIGFuZCBjYWxsIGl0 LgoJKG1lcmdlX2FuZF9jb21wbGFpbik6IFZhbGlkYXRlIC1YYXNzZW1ibGVyIG9wdGlvbnMuCgko YXBwZW5kX2NvbXBpbGVyX29wdGlvbnMpOiBIYW5kbGUgT1BUX1hhc3NlbWJsZXIuCgkocnVuX2dj Yyk6IEFwcGVuZCBjb21tYW5kIGxpbmUgLVhhc3NlbWJsZXIgb3B0aW9ucyB0bwoJY29sbGVjdF9n Y2Nfb3B0aW9ucy4KCSogZG9jL2ludm9rZS50ZXhpOiBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCB1 c2luZyBYYXNzZW1ibGVyCglvcHRpb25zIHdpdGggTFRPLgoKdGVzdHN1aXRlLwoJKiBnY2MudGFy Z2V0L2FybS9wcjc4MzUzLTEuYzogTmV3IHRlc3QuCgkqIGdjYy50YXJnZXQvYXJtL3ByNzgzNTMt Mi5jOiBMaWtld2lzZS4KCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYxYTY4MWExNzRjZGZi ODJlNjJjMjQ2ZDZmNGFkZDlhMjVmYzJlNDMpCgpTa2lwIHRoZSB0ZXN0IGlmIGFybTdhIGlzIG5v dCBzdXBwb3J0ZWQgYXQgbGluayB0aW1lLiBUaGlzIGlzIHRoZSBjYXNlCmlmIHRoZSB0b29sY2hh aW4gdGFyZ2V0cyBhbiBNLXByb2ZpbGUgQ1BVIGJ5IGRlZmF1bHQgYW5kIGRvZXMgbm90IGhhdmUK QS1wcm9maWxlIG11bHRpbGliOiB0aGUgbGluayBzdGVwIGZhaWxzIGJlY2F1c2UgaXQgdHJpZXMg dG8gbWl4Ck0tcHJvZmlsZSBzdGFydHVwIGZpbGVzIHdpdGggQS1wcm9maWxlIHRlc3RjYXNlLgoK MjAyMC0wMi0yNCAgQ2hyaXN0b3BoZSBMeW9uICA8Y2hyaXN0b3BoZS5seW9uQGxpbmFyby5vcmc+ CgoJUFIgbHRvLzc4MzUzCgkqIGdjYy50YXJnZXQvYXJtL3ByNzgzNTMtMS5jOiBBZGQgYXJtX2Fy Y2hfdjdhX211bHRpbGliIGVmZmVjdGl2ZQoJdGFyZ2V0LgoJKiBnY2MudGFyZ2V0L2FybS9wcjc4 MzUzLTIuYzogTGlrZXdpc2UuCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlMDMwNjliZTEy N2NiYzlkMTM0ZDNmNmIzYzQxNDYxZmVkNjMwNDQ0KQotLS0KIGdjYy9kb2MvaW52b2tlLnRleGkg ICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKysKIGdjYy9nY2MuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMjkgKysrKysrKwogZ2NjL2x0by1vcHRzLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNiArKwogZ2NjL2x0by13cmFwcGVyLmMgICAgICAgICAgICAgICAg ICAgICAgICB8IDEwMiArKysrKysrKysrKysrKysrLS0tLS0tLQogZ2NjL29wdHMtY29tbW9uLmMg ICAgICAgICAgICAgICAgICAgICAgICB8ICA2NiArKysrKysrKysrKysrKysKIGdjYy9vcHRzLmgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKysKIGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hcm0vcHI3ODM1My0xLmMgfCAgIDkgKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hcm0vcHI3ODM1My0yLmMgfCAgMTAgKysrCiA4IGZpbGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRp b25zKCspLCAzMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYXJtL3ByNzgzNTMtMS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2FybS9wcjc4MzUzLTIuYwoKZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52 b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCmluZGV4IDI4MGZjYzkxMGFkLi5jMzllZmEw ZTMzZSAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysgYi9nY2MvZG9jL2ludm9r ZS50ZXhpCkBAIC0xMDI3Myw2ICsxMDI3MywxMiBAQCBjb25mbGljdGluZyB0cmFuc2xhdGlvbiB1 bml0cy4gIFNwZWNpZmljYWxseQogcHJlY2VkZW5jZTsgYW5kIGZvciBleGFtcGxlIEBvcHRpb257 LWZmcC1jb250cmFjdD1vZmZ9IHRha2VzIHByZWNlZGVuY2UKIG92ZXIgQG9wdGlvbnstZmZwLWNv bnRyYWN0PWZhc3R9LiAgWW91IGNhbiBvdmVycmlkZSB0aGVtIGF0IGxpbmsgdGltZS4KIAorV2hl biB5b3UgbmVlZCB0byBwYXNzIG9wdGlvbnMgdG8gdGhlIGFzc2VtYmxlciB2aWEgQG9wdGlvbnst V2F9IG9yCitAb3B0aW9uey1YYXNzZW1ibGVyfSBtYWtlIHN1cmUgdG8gZWl0aGVyIGNvbXBpbGUg c3VjaCB0cmFuc2xhdGlvbgordW5pdHMgd2l0aCBAb3B0aW9uey1mbm8tbHRvfSBvciBjb25zaXN0 ZW50bHkgdXNlIHRoZSBzYW1lIGFzc2VtYmxlcgorb3B0aW9ucyBvbiBhbGwgdHJhbnNsYXRpb24g dW5pdHMuICBZb3UgY2FuIGFsdGVybmF0aXZlbHkgYWxzbworc3BlY2lmeSBhc3NlbWJsZXIgb3B0 aW9ucyBhdCBMVE8gbGluayB0aW1lLgorCiBJZiBMVE8gZW5jb3VudGVycyBvYmplY3RzIHdpdGgg QyBsaW5rYWdlIGRlY2xhcmVkIHdpdGggaW5jb21wYXRpYmxlCiB0eXBlcyBpbiBzZXBhcmF0ZSB0 cmFuc2xhdGlvbiB1bml0cyB0byBiZSBsaW5rZWQgdG9nZXRoZXIgKHVuZGVmaW5lZAogYmVoYXZp b3IgYWNjb3JkaW5nIHRvIElTTyBDOTkgNi4yLjcpLCBhIG5vbi1mYXRhbCBkaWFnbm9zdGljIG1h eSBiZQpkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCmluZGV4IDRmNTc3NjViMDEy Li40MTBiYTY3YTRiMCAxMDA2NDQKLS0tIGEvZ2NjL2djYy5jCisrKyBiL2djYy9nY2MuYwpAQCAt NTI0MCw2ICs1MjQwLDM0IEBAIGRvX3NwZWNzX3ZlYyAodmVjPGNoYXJfcD4gdmVjKQogICAgIH0K IH0KIAorLyogQWRkIG9wdGlvbnMgcGFzc2VkIHZpYSAtWGFzc2VtYmxlciBvciAtV2EgdG8gQ09M TEVDVF9BU19PUFRJT05TLiAgKi8KKworc3RhdGljIHZvaWQKK3B1dGVudl9DT0xMRUNUX0FTX09Q VElPTlMgKHZlYzxjaGFyX3A+IHZlYykKK3sKKyAgaWYgKHZlYy5pc19lbXB0eSAoKSkKKyAgICAg cmV0dXJuOworCisgIG9ic3RhY2tfaW5pdCAoJmNvbGxlY3Rfb2JzdGFjayk7CisgIG9ic3RhY2tf Z3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIkNPTExFQ1RfQVNfT1BUSU9OUz0iLAorCQlzdHJsZW4g KCJDT0xMRUNUX0FTX09QVElPTlM9IikpOworCisgIGNoYXIgKm9wdDsKKyAgdW5zaWduZWQgaXg7 CisKKyAgRk9SX0VBQ0hfVkVDX0VMVCAodmVjLCBpeCwgb3B0KQorICAgIHsKKyAgICAgIG9ic3Rh Y2tfMWdyb3cgKCZjb2xsZWN0X29ic3RhY2ssICdcJycpOworICAgICAgb2JzdGFja19ncm93ICgm Y29sbGVjdF9vYnN0YWNrLCBvcHQsIHN0cmxlbiAob3B0KSk7CisgICAgICBvYnN0YWNrXzFncm93 ICgmY29sbGVjdF9vYnN0YWNrLCAnXCcnKTsKKyAgICAgIGlmIChpeCA8IHZlYy5sZW5ndGggKCkg LSAxKQorCW9ic3RhY2tfMWdyb3coJmNvbGxlY3Rfb2JzdGFjaywgJyAnKTsKKyAgICB9CisKKyAg b2JzdGFja18xZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgJ1wwJyk7CisgIHhwdXRlbnYgKFhPQkZJ TklTSCAoJmNvbGxlY3Rfb2JzdGFjaywgY2hhciAqKSk7Cit9CisKIC8qIFByb2Nlc3MgdGhlIHN1 Yi1zcGVjIFNQRUMgYXMgYSBwb3J0aW9uIG9mIGEgbGFyZ2VyIHNwZWMuCiAgICBUaGlzIGlzIGxp a2UgcHJvY2Vzc2luZyBhIHdob2xlIHNwZWMgZXhjZXB0IHRoYXQgd2UgZG8KICAgIG5vdCBpbml0 aWFsaXplIGF0IHRoZSBiZWdpbm5pbmcgYW5kIHdlIGRvIG5vdCBzdXBwbHkgYQpAQCAtNzM1NSw2 ICs3MzgzLDcgQEAgZHJpdmVyOjptYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGdsb2Jh bF9pbml0aWFsaXphdGlvbnMgKCk7CiAgIGJ1aWxkX211bHRpbGliX3N0cmluZ3MgKCk7CiAgIHNl dF91cF9zcGVjcyAoKTsKKyAgcHV0ZW52X0NPTExFQ1RfQVNfT1BUSU9OUyAoYXNzZW1ibGVyX29w dGlvbnMpOwogICBwdXRlbnZfQ09MTEVDVF9HQ0MgKGFyZ3ZbMF0pOwogICBtYXliZV9wdXRlbnZf Q09MTEVDVF9MVE9fV1JBUFBFUiAoKTsKICAgbWF5YmVfcHV0ZW52X09GRkxPQURfVEFSR0VUUyAo KTsKZGlmZiAtLWdpdCBhL2djYy9sdG8tb3B0cy5jIGIvZ2NjL2x0by1vcHRzLmMKaW5kZXggNWU1 OWU5MzI3ZTcuLmJiMGNkZmFlMDI5IDEwMDY0NAotLS0gYS9nY2MvbHRvLW9wdHMuYworKysgYi9n Y2MvbHRvLW9wdHMuYwpAQCAtMTU5LDYgKzE1OSwxMiBAQCBsdG9fd3JpdGVfb3B0aW9ucyAodm9p ZCkKIAlhcHBlbmRfdG9fY29sbGVjdF9nY2Nfb3B0aW9ucyAoJnRlbXBvcmFyeV9vYnN0YWNrLCAm Zmlyc3RfcCwKIAkJCQkgICAgICAgb3B0aW9uLT5jYW5vbmljYWxfb3B0aW9uW2pdKTsKICAgICB9 CisKKyAgY29uc3QgY2hhciAqY29sbGVjdF9hc19vcHRpb25zID0gZ2V0ZW52ICgiQ09MTEVDVF9B U19PUFRJT05TIik7CisgIGlmIChjb2xsZWN0X2FzX29wdGlvbnMpCisgICAgcHJlcGVuZF94YXNz ZW1ibGVyX3RvX2NvbGxlY3RfYXNfb3B0aW9ucyAoY29sbGVjdF9hc19vcHRpb25zLAorCQkJCQkg ICAgICAmdGVtcG9yYXJ5X29ic3RhY2spOworCiAgIG9ic3RhY2tfZ3JvdyAoJnRlbXBvcmFyeV9v YnN0YWNrLCAiXDAiLCAxKTsKICAgYXJncyA9IFhPQkZJTklTSCAoJnRlbXBvcmFyeV9vYnN0YWNr LCBjaGFyICopOwogICBsdG9fd3JpdGVfZGF0YSAoYXJncywgc3RybGVuIChhcmdzKSArIDEpOwpk aWZmIC0tZ2l0IGEvZ2NjL2x0by13cmFwcGVyLmMgYi9nY2MvbHRvLXdyYXBwZXIuYwppbmRleCAx MGJkN2M5YmVjYi4uZDEyMTM1YWRlMWYgMTAwNjQ0Ci0tLSBhL2djYy9sdG8td3JhcHBlci5jCisr KyBiL2djYy9sdG8td3JhcHBlci5jCkBAIC03Myw2ICs3Myw3IEBAIHN0YXRpYyBjaGFyICpvZmZs b2FkX29iamVjdHNfZmlsZV9uYW1lOwogc3RhdGljIGNoYXIgKm1ha2VmaWxlOwogc3RhdGljIHVu c2lnbmVkIGludCBudW1fZGViX29ianM7CiBzdGF0aWMgY29uc3QgY2hhciAqKmVhcmx5X2RlYnVn X29iamVjdF9uYW1lczsKK3N0YXRpYyBib29sIHhhc3NlbWJsZXJfb3B0aW9uc19lcnJvciA9IGZh bHNlOwogCiBjb25zdCBjaGFyIHRvb2xfbmFtZVtdID0gImx0by13cmFwcGVyIjsKIApAQCAtMTM3 LDQxICsxMzgsMTQgQEAgZ2V0X29wdGlvbnNfZnJvbV9jb2xsZWN0X2djY19vcHRpb25zIChjb25z dCBjaGFyICpjb2xsZWN0X2djYywKIAkJCQkgICAgICB1bnNpZ25lZCBpbnQgKmRlY29kZWRfb3B0 aW9uc19jb3VudCkKIHsKICAgc3RydWN0IG9ic3RhY2sgYXJndl9vYnN0YWNrOwotICBjaGFyICph cmd2X3N0b3JhZ2U7CiAgIGNvbnN0IGNoYXIgKiphcmd2OwotICBpbnQgaiwgaywgYXJnYzsKKyAg aW50IGFyZ2M7CiAKLSAgYXJndl9zdG9yYWdlID0geHN0cmR1cCAoY29sbGVjdF9nY2Nfb3B0aW9u cyk7CiAgIG9ic3RhY2tfaW5pdCAoJmFyZ3Zfb2JzdGFjayk7CiAgIG9ic3RhY2tfcHRyX2dyb3cg KCZhcmd2X29ic3RhY2ssIGNvbGxlY3RfZ2NjKTsKIAotICBmb3IgKGogPSAwLCBrID0gMDsgYXJn dl9zdG9yYWdlW2pdICE9ICdcMCc7ICsraikKLSAgICB7Ci0gICAgICBpZiAoYXJndl9zdG9yYWdl W2pdID09ICdcJycpCi0JewotCSAgb2JzdGFja19wdHJfZ3JvdyAoJmFyZ3Zfb2JzdGFjaywgJmFy Z3Zfc3RvcmFnZVtrXSk7Ci0JICArK2o7Ci0JICBkbwotCSAgICB7Ci0JICAgICAgaWYgKGFyZ3Zf c3RvcmFnZVtqXSA9PSAnXDAnKQotCQlmYXRhbF9lcnJvciAoaW5wdXRfbG9jYXRpb24sICJtYWxm b3JtZWQgQ09MTEVDVF9HQ0NfT1BUSU9OUyIpOwotCSAgICAgIGVsc2UgaWYgKHN0cm5jbXAgKCZh cmd2X3N0b3JhZ2Vbal0sICInXFwnJyIsIDQpID09IDApCi0JCXsKLQkJICBhcmd2X3N0b3JhZ2Vb aysrXSA9ICdcJyc7Ci0JCSAgaiArPSA0OwotCQl9Ci0JICAgICAgZWxzZSBpZiAoYXJndl9zdG9y YWdlW2pdID09ICdcJycpCi0JCWJyZWFrOwotCSAgICAgIGVsc2UKLQkJYXJndl9zdG9yYWdlW2sr K10gPSBhcmd2X3N0b3JhZ2VbaisrXTsKLQkgICAgfQotCSAgd2hpbGUgKDEpOwotCSAgYXJndl9z dG9yYWdlW2srK10gPSAnXDAnOwotCX0KLSAgICB9Ci0KLSAgb2JzdGFja19wdHJfZ3JvdyAoJmFy Z3Zfb2JzdGFjaywgTlVMTCk7Ci0gIGFyZ2MgPSBvYnN0YWNrX29iamVjdF9zaXplICgmYXJndl9v YnN0YWNrKSAvIHNpemVvZiAodm9pZCAqKSAtIDE7CisgIHBhcnNlX29wdGlvbnNfZnJvbV9jb2xs ZWN0X2djY19vcHRpb25zIChjb2xsZWN0X2djY19vcHRpb25zLAorCQkJCQkgICZhcmd2X29ic3Rh Y2ssICZhcmdjKTsKICAgYXJndiA9IFhPQkZJTklTSCAoJmFyZ3Zfb2JzdGFjaywgY29uc3QgY2hh ciAqKik7CiAKICAgZGVjb2RlX2NtZGxpbmVfb3B0aW9uc190b19hcnJheSAoYXJnYywgKGNvbnN0 IGNoYXIgKiopYXJndiwgQ0xfRFJJVkVSLApAQCAtNTA5LDYgKzQ4Myw0NSBAQCBtZXJnZV9hbmRf Y29tcGxhaW4gKHN0cnVjdCBjbF9kZWNvZGVkX29wdGlvbiAqKmRlY29kZWRfb3B0aW9ucywKICAg ICAgIH0KICAgIGVsc2UKICAgICAgaisrOworCisgIGlmICgheGFzc2VtYmxlcl9vcHRpb25zX2Vy cm9yKQorICAgIGZvciAoaSA9IGogPSAwOyA7IGkrKywgaisrKQorICAgICAgeworCWZvciAoOyBp IDwgKmRlY29kZWRfb3B0aW9uc19jb3VudDsgaSsrKQorCSAgaWYgKCgqZGVjb2RlZF9vcHRpb25z KVtpXS5vcHRfaW5kZXggPT0gT1BUX1hhc3NlbWJsZXIpCisJICAgIGJyZWFrOworCisJZm9yICg7 IGogPCBmZGVjb2RlZF9vcHRpb25zX2NvdW50OyBqKyspCisJICBpZiAoZmRlY29kZWRfb3B0aW9u c1tqXS5vcHRfaW5kZXggPT0gT1BUX1hhc3NlbWJsZXIpCisJICAgIGJyZWFrOworCisJaWYgKGkg PT0gKmRlY29kZWRfb3B0aW9uc19jb3VudCAmJiBqID09IGZkZWNvZGVkX29wdGlvbnNfY291bnQp CisJICBicmVhazsKKwllbHNlIGlmIChpIDwgKmRlY29kZWRfb3B0aW9uc19jb3VudCAmJiBqID09 IGZkZWNvZGVkX29wdGlvbnNfY291bnQpCisJICB7CisJICAgIHdhcm5pbmcgKDAsICJFeHRyYSBv cHRpb24gdG8gLVhhc3NlbWJsZXI6ICVzLCIKKwkJICAgICAiIGRyb3BwaW5nIGFsbCAtWGFzc2Vt YmxlciBhbmQgLVdhIG9wdGlvbnMuIiwKKwkJICAgICAoKmRlY29kZWRfb3B0aW9ucylbaV0uYXJn KTsKKwkgICAgeGFzc2VtYmxlcl9vcHRpb25zX2Vycm9yID0gdHJ1ZTsKKwkgICAgYnJlYWs7CisJ ICB9CisJZWxzZSBpZiAoaSA9PSAqZGVjb2RlZF9vcHRpb25zX2NvdW50ICYmIGogPCBmZGVjb2Rl ZF9vcHRpb25zX2NvdW50KQorCSAgeworCSAgICB3YXJuaW5nICgwLCAiRXh0cmEgb3B0aW9uIHRv IC1YYXNzZW1ibGVyOiAlcywiCisJCSAgICAgIiBkcm9wcGluZyBhbGwgLVhhc3NlbWJsZXIgYW5k IC1XYSBvcHRpb25zLiIsCisJCSAgICAgZmRlY29kZWRfb3B0aW9uc1tqXS5hcmcpOworCSAgICB4 YXNzZW1ibGVyX29wdGlvbnNfZXJyb3IgPSB0cnVlOworCSAgICBicmVhazsKKwkgIH0KKwllbHNl IGlmIChzdHJjbXAgKCgqZGVjb2RlZF9vcHRpb25zKVtpXS5hcmcsIGZkZWNvZGVkX29wdGlvbnNb al0uYXJnKSkKKwkgIHsKKwkgICAgd2FybmluZyAoMCwgIk9wdGlvbnMgdG8gWGFzc2VtYmxlciBk byBub3QgbWF0Y2g6ICVzLCAlcywiCisJCSAgICAgIiBkcm9wcGluZyBhbGwgLVhhc3NlbWJsZXIg YW5kIC1XYSBvcHRpb25zLiIsCisJCSAgICAgKCpkZWNvZGVkX29wdGlvbnMpW2ldLmFyZywgZmRl Y29kZWRfb3B0aW9uc1tqXS5hcmcpOworCSAgICB4YXNzZW1ibGVyX29wdGlvbnNfZXJyb3IgPSB0 cnVlOworCSAgICBicmVhazsKKwkgIH0KKyAgICAgIH0KIH0KIAogLyogQXV4aWxpYXJ5IGZ1bmN0 aW9uIHRoYXQgZnJlZXMgZWxlbWVudHMgb2YgUFRSIGFuZCBQVFIgaXRzZWxmLgpAQCAtNjIyLDYg KzYzNSwxMyBAQCBhcHBlbmRfY29tcGlsZXJfb3B0aW9ucyAob2JzdGFjayAqYXJndl9vYnN0YWNr LCBzdHJ1Y3QgY2xfZGVjb2RlZF9vcHRpb24gKm9wdHMsCiAJY2FzZSBPUFRfT3M6CiAJICBicmVh azsKIAorCWNhc2UgT1BUX1hhc3NlbWJsZXI6CisJICAvKiBXaGVuIHdlIGRldGVjdGVkIGEgbWlz bWF0Y2ggaW4gYXNzZW1ibGVyIG9wdGlvbnMgYmV0d2VlbgorCSAgICAgdGhlIGlucHV0IFRVJ3Mg ZmFsbCBiYWNrIHRvIHByZXZpb3VzIGJlaGF2aW9yIG9mIGlnbm9yaW5nIHRoZW0uICAqLworCSAg aWYgKHhhc3NlbWJsZXJfb3B0aW9uc19lcnJvcikKKwkgICAgY29udGludWU7CisJICBicmVhazsK KwogCWRlZmF1bHQ6CiAJICBpZiAoIShjbF9vcHRpb25zW29wdGlvbi0+b3B0X2luZGV4XS5mbGFn cyAmIENMX1RBUkdFVCkpCiAJICAgIGNvbnRpbnVlOwpAQCAtMTExNyw3ICsxMTM3LDggQEAgcnVu X2djYyAodW5zaWduZWQgYXJnYywgY2hhciAqYXJndltdKQogICBjb25zdCBjaGFyICoqYXJndl9w dHI7CiAgIGNoYXIgKmxpc3Rfb3B0aW9uX2Z1bGwgPSBOVUxMOwogICBjb25zdCBjaGFyICpsaW5r ZXJfb3V0cHV0ID0gTlVMTDsKLSAgY29uc3QgY2hhciAqY29sbGVjdF9nY2MsICpjb2xsZWN0X2dj Y19vcHRpb25zOworICBjb25zdCBjaGFyICpjb2xsZWN0X2djYzsKKyAgY2hhciAqY29sbGVjdF9n Y2Nfb3B0aW9uczsKICAgaW50IHBhcmFsbGVsID0gMDsKICAgaW50IGpvYnNlcnZlciA9IDA7CiAg IGJvb2wgbm9fcGFydGl0aW9uID0gZmFsc2U7CkBAIC0xMTQ2LDYgKzExNjcsMjUgQEAgcnVuX2dj YyAodW5zaWduZWQgYXJnYywgY2hhciAqYXJndltdKQogICBpZiAoIWNvbGxlY3RfZ2NjX29wdGlv bnMpCiAgICAgZmF0YWxfZXJyb3IgKGlucHV0X2xvY2F0aW9uLAogCQkgImVudmlyb25tZW50IHZh cmlhYmxlIENPTExFQ1RfR0NDX09QVElPTlMgbXVzdCBiZSBzZXQiKTsKKworICBjaGFyICpjb2xs ZWN0X2FzX29wdGlvbnMgPSBnZXRlbnYgKCJDT0xMRUNUX0FTX09QVElPTlMiKTsKKworICAvKiBQ cmVwZW5kIC1YYXNzZW1ibGVyIHRvIGVhY2ggb3B0aW9uLCBhbmQgYXBwZW5kIHRoZSBzdHJpbmcK KyAgICAgdG8gY29sbGVjdF9nY2Nfb3B0aW9ucy4gICovCisgIGlmIChjb2xsZWN0X2FzX29wdGlv bnMpCisgICAgeworICAgICAgb2JzdGFjayB0ZW1wb3Jhcnlfb2JzdGFjazsKKyAgICAgIG9ic3Rh Y2tfaW5pdCAoJnRlbXBvcmFyeV9vYnN0YWNrKTsKKworICAgICAgcHJlcGVuZF94YXNzZW1ibGVy X3RvX2NvbGxlY3RfYXNfb3B0aW9ucyAoY29sbGVjdF9hc19vcHRpb25zLAorCQkJCQkJJnRlbXBv cmFyeV9vYnN0YWNrKTsKKyAgICAgIG9ic3RhY2tfMWdyb3cgKCZ0ZW1wb3Jhcnlfb2JzdGFjaywg J1wwJyk7CisKKyAgICAgIGNoYXIgKnhhc3NlbWJsZXJfb3B0c19zdHJpbmcKKwk9IFhPQkZJTklT SCAoJnRlbXBvcmFyeV9vYnN0YWNrLCBjaGFyICopOworICAgICAgc3RyY2F0IChjb2xsZWN0X2dj Y19vcHRpb25zLCB4YXNzZW1ibGVyX29wdHNfc3RyaW5nKTsKKyAgICB9CisKICAgZ2V0X29wdGlv bnNfZnJvbV9jb2xsZWN0X2djY19vcHRpb25zIChjb2xsZWN0X2djYywgY29sbGVjdF9nY2Nfb3B0 aW9ucywKIAkJCQkJJmRlY29kZWRfb3B0aW9ucywKIAkJCQkJJmRlY29kZWRfb3B0aW9uc19jb3Vu dCk7CmRpZmYgLS1naXQgYS9nY2Mvb3B0cy1jb21tb24uYyBiL2djYy9vcHRzLWNvbW1vbi5jCmlu ZGV4IGQwYjk0M2JjODE5Li5mYjQ4MDA1YjY2NSAxMDA2NDQKLS0tIGEvZ2NjL29wdHMtY29tbW9u LmMKKysrIGIvZ2NjL29wdHMtY29tbW9uLmMKQEAgLTE3MTEsMyArMTcxMSw2OSBAQCBjb250cm9s X3dhcm5pbmdfb3B0aW9uICh1bnNpZ25lZCBpbnQgb3B0X2luZGV4LCBpbnQga2luZCwgY29uc3Qg Y2hhciAqYXJnLAogCX0KICAgICB9CiB9CisKKy8qIFBhcnNlIG9wdGlvbnMgaW4gQ09MTEVDVF9H Q0NfT1BUSU9OUyBhbmQgcHVzaCB0aGVtIG9uIEFSR1ZfT0JTVEFDSy4KKyAgIFN0b3JlIG51bWJl ciBvZiBhcmd1bWVudHMgaW50byBBUkdDX1AuICAqLworCit2b2lkCitwYXJzZV9vcHRpb25zX2Zy b21fY29sbGVjdF9nY2Nfb3B0aW9ucyAoY29uc3QgY2hhciAqY29sbGVjdF9nY2Nfb3B0aW9ucywK KwkJCQkJb2JzdGFjayAqYXJndl9vYnN0YWNrLAorCQkJCQlpbnQgKmFyZ2NfcCkKK3sKKyAgY2hh ciAqYXJndl9zdG9yYWdlID0geHN0cmR1cCAoY29sbGVjdF9nY2Nfb3B0aW9ucyk7CisgIGludCBq LCBrOworCisgIGZvciAoaiA9IDAsIGsgPSAwOyBhcmd2X3N0b3JhZ2Vbal0gIT0gJ1wwJzsgKytq KQorICAgIHsKKyAgICAgIGlmIChhcmd2X3N0b3JhZ2Vbal0gPT0gJ1wnJykKKwl7CisJICBvYnN0 YWNrX3B0cl9ncm93IChhcmd2X29ic3RhY2ssICZhcmd2X3N0b3JhZ2Vba10pOworCSAgKytqOwor CSAgZG8KKwkgICAgeworCSAgICAgIGlmIChhcmd2X3N0b3JhZ2Vbal0gPT0gJ1wwJykKKwkJZmF0 YWxfZXJyb3IgKGlucHV0X2xvY2F0aW9uLAorCQkJICAgICAibWFsZm9ybWVkICU8Q09MTEVDVF9H Q0NfT1BUSU9OUyU+Iik7CisJICAgICAgZWxzZSBpZiAoc3RybmNtcCAoJmFyZ3Zfc3RvcmFnZVtq XSwgIidcXCcnIiwgNCkgPT0gMCkKKwkJeworCQkgIGFyZ3Zfc3RvcmFnZVtrKytdID0gJ1wnJzsK KwkJICBqICs9IDQ7CisJCX0KKwkgICAgICBlbHNlIGlmIChhcmd2X3N0b3JhZ2Vbal0gPT0gJ1wn JykKKwkJYnJlYWs7CisJICAgICAgZWxzZQorCQlhcmd2X3N0b3JhZ2VbaysrXSA9IGFyZ3Zfc3Rv cmFnZVtqKytdOworCSAgICB9CisJICB3aGlsZSAoMSk7CisJICBhcmd2X3N0b3JhZ2VbaysrXSA9 ICdcMCc7CisJfQorICAgIH0KKworICBvYnN0YWNrX3B0cl9ncm93IChhcmd2X29ic3RhY2ssIE5V TEwpOworICAqYXJnY19wID0gb2JzdGFja19vYmplY3Rfc2l6ZSAoYXJndl9vYnN0YWNrKSAvIHNp emVvZiAodm9pZCAqKSAtIDE7Cit9CisKKy8qIFByZXBlbmQgLVhhc3NlbWJsZXIgZm9yIGVhY2gg b3B0aW9uIGluIENPTExFQ1RfQVNfT1BUSU9OUywKKyAgIGFuZCBwdXNoIG9uIE8uICAqLworCit2 b2lkIHByZXBlbmRfeGFzc2VtYmxlcl90b19jb2xsZWN0X2FzX29wdGlvbnMgKGNvbnN0IGNoYXIg KmNvbGxlY3RfYXNfb3B0aW9ucywKKwkJCQkJICAgICAgIG9ic3RhY2sgKm8pCit7CisgIG9ic3Rh Y2sgb3B0c19vYnN0YWNrOworICBpbnQgb3B0c19jb3VudDsKKworICBvYnN0YWNrX2luaXQgKCZv cHRzX29ic3RhY2spOworICBwYXJzZV9vcHRpb25zX2Zyb21fY29sbGVjdF9nY2Nfb3B0aW9ucyAo Y29sbGVjdF9hc19vcHRpb25zLAorCQkJCQkgICZvcHRzX29ic3RhY2ssICZvcHRzX2NvdW50KTsK KyAgY29uc3QgY2hhciAqKmFzc2VtYmxlcl9vcHRzID0gWE9CRklOSVNIICgmb3B0c19vYnN0YWNr LCBjb25zdCBjaGFyICoqKTsKKworICBmb3IgKGludCBpID0gMDsgaSA8IG9wdHNfY291bnQ7IGkr KykKKyAgICB7CisgICAgICBvYnN0YWNrX2dyb3cgKG8sICIgJy1YYXNzZW1ibGVyJyAiLAorCQkg ICAgc3RybGVuICgiICctWGFzc2VtYmxlcicgIikpOworICAgICAgY29uc3QgY2hhciAqb3B0ID0g YXNzZW1ibGVyX29wdHNbaV07CisgICAgICBvYnN0YWNrXzFncm93IChvLCAnXCcnKTsKKyAgICAg IG9ic3RhY2tfZ3JvdyAobywgb3B0LCBzdHJsZW4gKG9wdCkpOworICAgICAgb2JzdGFja18xZ3Jv dyAobywgJ1wnJyk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2NjL29wdHMuaCBiL2djYy9vcHRz LmgKaW5kZXggZjE0ZDliY2I4OTYuLmM1MTc0NThkZGVmIDEwMDY0NAotLS0gYS9nY2Mvb3B0cy5o CisrKyBiL2djYy9vcHRzLmgKQEAgLTQ1Niw0ICs0NTYsOSBAQCBleHRlcm4gYm9vbCBwYXJzZV9h bmRfY2hlY2tfYWxpZ25fdmFsdWVzIChjb25zdCBjaGFyICpmbGFnLAogCQkJCQkgIGJvb2wgcmVw b3J0X2Vycm9yLAogCQkJCQkgIGxvY2F0aW9uX3QgbG9jKTsKIAorZXh0ZXJuIHZvaWQgcGFyc2Vf b3B0aW9uc19mcm9tX2NvbGxlY3RfZ2NjX29wdGlvbnMgKGNvbnN0IGNoYXIgKiwgb2JzdGFjayAq LAorCQkJCQkJICAgIGludCAqKTsKKworZXh0ZXJuIHZvaWQgcHJlcGVuZF94YXNzZW1ibGVyX3Rv X2NvbGxlY3RfYXNfb3B0aW9ucyAoY29uc3QgY2hhciAqLCBvYnN0YWNrICopOworCiAjZW5kaWYK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vcHI3ODM1My0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL3ByNzgzNTMtMS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hMTA3ZTMwMDI2OQotLS0gL2Rldi9udWxsCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vcHI3ODM1My0xLmMKQEAgLTAsMCArMSw5IEBACisv KiB7IGRnLWRvIGxpbmsgfSAgKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFy bV9hcmNoX3Y3YV9tdWx0aWxpYiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1hcm12Ny1h IC1tdGh1bWIgLU8yIC1mbHRvIC1XYSwtbWltcGxpY2l0LWl0PWFsd2F5cyIgfSAgKi8KKworaW50 IG1haW4oaW50IHgpCit7CisgIGFzbSgidGVxICUwLCAjMDsgYWRkbmUgJTAsICUwLCAjMSIgOiAi PXIiICh4KSk7CisgIHJldHVybiB4OworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FybS9wcjc4MzUzLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vcHI3 ODM1My0yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI1ODllNjEz NWFhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9wcjc4 MzUzLTIuYwpAQCAtMCwwICsxLDEwIEBACisvKiB7IGRnLWRvIGxpbmsgfSAgKi8KKy8qIHsgZGct cmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IGFybV9hcmNoX3Y3YV9tdWx0aWxpYiB9ICovCisvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1hcm12Ny1hIC1tdGh1bWIgLU8yIC1mbHRvIC1XYSwtbWltcGxp Y2l0LWl0PWFsd2F5cywtbXRodW1iIiB9ICAqLworCitpbnQgbWFpbihpbnQgeCkKK3sKKyAgYXNt KCJ0ZXEgJTAsICMwOyBhZGRuZSAlMCwgJTAsICMxIiA6ICI9ciIgKHgpKTsKKyAgcmV0dXJuIHg7 Cit9CisKLS0gCjIuMzAuMgoK --000000000000f1dd0605bf8fd7a6--