From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id B7DxDmXo/F92KwAAWB0awg (envelope-from ) for ; Mon, 11 Jan 2021 19:08:05 -0500 Received: by simark.ca (Postfix, from userid 112) id 33E3F1EEEF; Mon, 11 Jan 2021 19:08:05 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 799C41E940 for ; Mon, 11 Jan 2021 19:08:04 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DBDD6388C02E; Tue, 12 Jan 2021 00:08:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DBDD6388C02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1610410083; bh=utmEoqb2kvkvzrIT217acCxXBbXWx/eD0WYomZMFjXs=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=nN1r+QH2nUaLLTjz4xXiczT74hp86jTDWRsxLCzAb202sd+V5QA9EdLA0rZoKJ7+o Xnjx9F2hAjvnCxjcvwHInw/4QDFthybQpmaOE1vATYFlBr14kFFq201wSQhxRF0gGw fM8ItsJaJ31rHl6YjfUD/fXQXx4mllMn/nBcUVyU= Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id 59FDC388A83C; Tue, 12 Jan 2021 00:07:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 59FDC388A83C Received: by mail-ot1-x336.google.com with SMTP id q25so624349otn.10; Mon, 11 Jan 2021 16:07:59 -0800 (PST) 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=utmEoqb2kvkvzrIT217acCxXBbXWx/eD0WYomZMFjXs=; b=BAzW88N+hQzT5xCIqkEGHCtcPfihUUv3QfBVKpaFlDgCD483qlcs6PjPPZN3L0PMjv FpFkZiCGQPId4GuTrfgngin21yNPzGoMwyiGJwZwi7yqVlc1qigWs9BcpGiUOHznwtZO lbRvtitpScfZ6egHEtIx+w3Zn8E76ITCz/FYadGLA5bYgbZhwHKCN80Ts847PH97ISDn c/7w/QPqf/1++CngqT0aUH3whltT0RY9MxfUaUXHVioaR+A6628XPBl4ma7bGmpk2irJ LgzOIN7s/gEN7yI4qyZcg8Guh0y4aREh8XwlHqPkSqNcqNGGJqm7GP9CMoB4CsTfbRku 3CWA== X-Gm-Message-State: AOAM533kphXgL9SGYMdMgks2Bs+0E3uzcwIISCkBtjR4WcmyJRPkKiNZ pI6wx0JbZNfD0febLdAg6LWoHEkK67DZXJjcOlxdB6TOLSE= X-Google-Smtp-Source: ABdhPJyjbHqWNgNRHkXAWbisO0kk5bfpBzbnu70cLEp0ooAD/4ZArjUgnupgcftU9brihrwegs7dHHneTi9DndgpaK0= X-Received: by 2002:a05:6830:1d71:: with SMTP id l17mr1057326oti.269.1610410078732; Mon, 11 Jan 2021 16:07:58 -0800 (PST) MIME-Version: 1.0 References: <20210111165706.92117-1-hjl.tools@gmail.com> <20210111165706.92117-2-hjl.tools@gmail.com> <20210111232743.GD5523@bubble.grove.modra.org> In-Reply-To: <20210111232743.GD5523@bubble.grove.modra.org> Date: Mon, 11 Jan 2021 16:07:22 -0800 Message-ID: Subject: V2 [PATCH 1/2] GCC: Check if AR works with --plugin and rc To: Alan Modra Content-Type: multipart/mixed; boundary="000000000000afadb305b8a8d0a6" X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "H.J. Lu via Gdb-patches" Reply-To: "H.J. Lu" Cc: Joel Brobecker , GCC Patches , Binutils , GDB Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" --000000000000afadb305b8a8d0a6 Content-Type: text/plain; charset="UTF-8" On Mon, Jan 11, 2021 at 3:27 PM Alan Modra wrote: > > On Mon, Jan 11, 2021 at 08:57:05AM -0800, H.J. Lu via Binutils wrote: > > diff --git a/config/gcc-plugin.m4 b/config/gcc-plugin.m4 > > index c5b72e9a13d..798a2054edd 100644 > > --- a/config/gcc-plugin.m4 > > +++ b/config/gcc-plugin.m4 > > @@ -145,6 +145,18 @@ for plugin in $plugin_names; do > > break > > fi > > done > > +dnl Check if ${AR} $plugin_option rc works. > > +AC_CHECK_TOOL(AR, ar) > > +if test "${AR}" = "" ; then > > + AC_MSG_ERROR([Required archive tool 'ar' not found on PATH.]) > > +fi > > +touch conftest.c > > +${AR} $plugin_option rc conftest.a conftest.c > > +if test "$?" != 0; then > > + echo "Failed: ${AR} $plugin_option rc" > > Use AC_MSG_ERROR rather than echo. > > > + plugin_option= > > +fi > > +rm -f conftest.* > > if test -n "$plugin_option"; then > > $1="$plugin_option" > > AC_MSG_RESULT($plugin_option) > > > diff --git a/libtool.m4 b/libtool.m4 > > index 3672e9516e2..150971974c1 100644 > > --- a/libtool.m4 > > +++ b/libtool.m4 > > @@ -1340,7 +1340,14 @@ AC_CHECK_TOOL(AR, ar, false) > > test -z "$AR" && AR=ar > > if test -n "$plugin_option"; then > > if $AR --help 2>&1 | grep -q "\--plugin"; then > > - AR="$AR $plugin_option" > > + touch conftest.c > > + $AR $plugin_option rc conftest.a conftest.c > > + if test "$?" != 0; then > > + echo "Failed: $AR $plugin_option rc" > > AC_MSG_ERROR again. These are not fatal errors. Here is the updated patch to use AC_MSG_WARN instead. OK for master? -- H.J. --000000000000afadb305b8a8d0a6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-GCC-Check-if-AR-works-with-plugin-and-rc.patch" Content-Disposition: attachment; filename="0001-GCC-Check-if-AR-works-with-plugin-and-rc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjt8j71n0 RnJvbSA5MGU0Zjg1M2VmNWIwMjkxZDdjYzUxNGZmZmM4MDc5NGE5MWI3MDEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMTEgSmFuIDIwMjEgMDg6MjI6MzUgLTA4MDAKU3ViamVjdDogW1BBVENIXSBHQ0M6IENo ZWNrIGlmIEFSIHdvcmtzIHdpdGggLS1wbHVnaW4gYW5kIHJjCgpBUiBmcm9tIG9sZGVyIGJpbnV0 aWxzIGRvZXNuJ3Qgd29yayB3aXRoIC0tcGx1Z2luIGFuZCByYzoKCltoamxAZ251LWNmbC0yIGJp bl0kIHRvdWNoIGZvby5jCltoamxAZ251LWNmbC0yIGJpbl0kIGFyIC0tcGx1Z2luIC91c3IvbGli ZXhlYy9nY2MveDg2XzY0LXJlZGhhdC1saW51eC8xMC9saWJsdG9fcGx1Z2luLnNvIHJjIGxpYmZv by5hIGZvby5jCltoamxAZ251LWNmbC0yIGJpbl0kIC4vYXIgLS1wbHVnaW4gL3Vzci9saWJleGVj L2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzEwL2xpYmx0b19wbHVnaW4uc28gcmMgbGliZm9vLmEg Zm9vLmMKLi9hcjogbm8gb3BlcmF0aW9uIHNwZWNpZmllZApbaGpsQGdudS1jZmwtMiBiaW5dJCAu L2FyIC0tdmVyc2lvbgpHTlUgYXIgKExpbnV4L0dOVSBCaW51dGlscykgMi4yOS41MS4wLjEuMjAx ODAxMTIKQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IG1heSByZWRpc3RyaWJ1dGUgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDMg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGhhcyBh YnNvbHV0ZWx5IG5vIHdhcnJhbnR5LgpbaGpsQGdudS1jZmwtMiBiaW5dJAoKQ2hlY2sgaWYgQVIg d29ya3Mgd2l0aCAtLXBsdWdpbiBhbmQgcmMgYmVmb3JlIHBhc3NpbmcgLS1wbHVnaW4gdG8gQVIg YW5kClJBTkxJQi4KCglQUiBsZC8yNzE3MwoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBs aWJ0b29sLm00IChfTFRfQ01EX09MRF9BUkNISVZFKTogQ2hlY2sgaWYgQVIgd29ya3Mgd2l0aAoJ LS1wbHVnaW4gYW5kIHJjIGJlZm9yZSBlbmFibGluZyAtLXBsdWdpbi4KCmNvbmZpZy8KCglQUiBs ZC8yNzE3MwoJKiBnY2MtcGx1Z2luLm00IChHQ0NfUExVR0lOX09QVElPTik6IENoZWNrIGlmIEFS IHdvcmtzIHdpdGgKCS0tcGx1Z2luIGFuZCByYyBiZWZvcmUgZW5hYmxpbmcgLS1wbHVnaW4uCgps aWJpYmVydHkvCgoJUFIgbGQvMjcxNzMKCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCnpsaWIv CgoJUFIgbGQvMjcxNzMKCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KLS0tCiBjb25maWcvZ2Nj LXBsdWdpbi5tNCB8ICAxMiArKysrKwogY29uZmlndXJlICAgICAgICAgICAgfCAxMDMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliaWJlcnR5L2NvbmZpZ3Vy ZSAgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGli dG9vbC5tNCAgICAgICAgICAgfCAgIDkgKysrLQogemxpYi9jb25maWd1cmUgICAgICAgfCAgMTQg KysrKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDIzNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2NvbmZpZy9nY2MtcGx1Z2luLm00IGIvY29uZmlnL2djYy1wbHVnaW4u bTQKaW5kZXggYzViNzJlOWExM2QuLmNhOThkNjc0OTEyIDEwMDY0NAotLS0gYS9jb25maWcvZ2Nj LXBsdWdpbi5tNAorKysgYi9jb25maWcvZ2NjLXBsdWdpbi5tNApAQCAtMTQ1LDYgKzE0NSwxOCBA QCBmb3IgcGx1Z2luIGluICRwbHVnaW5fbmFtZXM7IGRvCiAgICAgYnJlYWsKICAgZmkKIGRvbmUK K2RubCBDaGVjayBpZiAke0FSfSAkcGx1Z2luX29wdGlvbiByYyB3b3Jrcy4KK0FDX0NIRUNLX1RP T0woQVIsIGFyKQoraWYgdGVzdCAiJHtBUn0iID0gIiIgOyB0aGVuCisgIEFDX01TR19FUlJPUihb UmVxdWlyZWQgYXJjaGl2ZSB0b29sICdhcicgbm90IGZvdW5kIG9uIFBBVEguXSkKK2ZpCit0b3Vj aCBjb25mdGVzdC5jCiske0FSfSAkcGx1Z2luX29wdGlvbiByYyBjb25mdGVzdC5hIGNvbmZ0ZXN0 LmMKK2lmIHRlc3QgIiQ/IiAhPSAwOyB0aGVuCisgIEFDX01TR19XQVJOKFtGYWlsZWQ6ICRBUiAk cGx1Z2luX29wdGlvbiByY10pCisgIHBsdWdpbl9vcHRpb249CitmaQorcm0gLWYgY29uZnRlc3Qu KgogaWYgdGVzdCAtbiAiJHBsdWdpbl9vcHRpb24iOyB0aGVuCiAgICQxPSIkcGx1Z2luX29wdGlv biIKICAgQUNfTVNHX1JFU1VMVCgkcGx1Z2luX29wdGlvbikKZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZSBiL2NvbmZpZ3VyZQppbmRleCBhNzViYzI2OTc4Yy4uNTQzN2VmMTJjNzIgMTAwNzU1Ci0tLSBh L2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEwMTIwLDYgKzEwMTIwLDEwOSBAQCBmb3Ig cGx1Z2luIGluICRwbHVnaW5fbmFtZXM7IGRvCiAgICAgYnJlYWsKICAgZmkKIGRvbmUKK2lmIHRl c3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk IG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp dGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCit7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29y ZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lm ICR7YWNfY3ZfcHJvZ19BUis6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQp ICIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRBUiI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19BUj0i JEFSIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZT PSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElG Uz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3Ig YWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgYXNf Zm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAg IGFjX2N2X3Byb2dfQVI9IiR7YWNfdG9vbF9wcmVmaXh9YXIiCisgICAgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4 dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZT CisKK2ZpCitmaQorQVI9JGFjX2N2X3Byb2dfQVIKK2lmIHRlc3QgLW4gIiRBUiI7IHRoZW4KKyAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRBUiIgPiY1 CiskYXNfZWNobyAiJEFSIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9Citm aQorCisKK2ZpCitpZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19BUiI7IHRoZW4KKyAgYWNfY3RfQVI9 JEFSCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiYXIiLCBzbyBpdCBjYW4gYmUgYSBw cm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IGFyOyBhY193b3JkPSQyCit7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIg PiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmICR7 YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNo ZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRhY19jdF9BUiI7IHRoZW4KKyAgYWNfY3Zf cHJvZ19hY19jdF9BUj0iJGFjX2N0X0FSIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVz dC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19k aXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIg JiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0 ZW5zaW9uczsgZG8KKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFj X2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfYWNfY3RfQVI9ImFyIgorICAgICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQk YWNfZXhlY19leHQiID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRh c19zYXZlX0lGUworCitmaQorZmkKK2FjX2N0X0FSPSRhY19jdl9wcm9nX2FjX2N0X0FSCitpZiB0 ZXN0IC1uICIkYWNfY3RfQVIiOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogcmVzdWx0OiAkYWNfY3RfQVIiID4mNQorJGFzX2VjaG8gIiRhY19jdF9BUiIg PiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog cmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworICBpZiB0ZXN0ICJ4 JGFjX2N0X0FSIiA9IHg7IHRoZW4KKyAgICBBUj0iIgorICBlbHNlCisgICAgY2FzZSAkY3Jvc3Nf Y29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgoreWVzOikKK3sgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZp eGVkIHdpdGggaG9zdCB0cmlwbGV0IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVz aW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KK2Fj X3Rvb2xfd2FybmVkPXllcyA7OworZXNhYworICAgIEFSPSRhY19jdF9BUgorICBmaQorZWxzZQor ICBBUj0iJGFjX2N2X3Byb2dfQVIiCitmaQorCitpZiB0ZXN0ICIke0FSfSIgPSAiIiA7IHRoZW4K KyAgYXNfZm5fZXJyb3IgJD8gIlJlcXVpcmVkIGFyY2hpdmUgdG9vbCAnYXInIG5vdCBmb3VuZCBv biBQQVRILiIgIiRMSU5FTk8iIDUKK2ZpCit0b3VjaCBjb25mdGVzdC5jCiske0FSfSAkcGx1Z2lu X29wdGlvbiByYyBjb25mdGVzdC5hIGNvbmZ0ZXN0LmMKK2lmIHRlc3QgIiQ/IiAhPSAwOyB0aGVu CisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogRmFp bGVkOiAkQVIgJHBsdWdpbl9vcHRpb24gcmMiID4mNQorJGFzX2VjaG8gIiRhc19tZTogV0FSTklO RzogRmFpbGVkOiAkQVIgJHBsdWdpbl9vcHRpb24gcmMiID4mMjt9CisgIHBsdWdpbl9vcHRpb249 CitmaQorcm0gLWYgY29uZnRlc3QuKgogaWYgdGVzdCAtbiAiJHBsdWdpbl9vcHRpb24iOyB0aGVu CiAgIFBMVUdJTl9PUFRJT049IiRwbHVnaW5fb3B0aW9uIgogICB7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHBsdWdpbl9vcHRpb24iID4mNQpkaWZmIC0t Z2l0IGEvbGliaWJlcnR5L2NvbmZpZ3VyZSBiL2xpYmliZXJ0eS9jb25maWd1cmUKaW5kZXggNWQ3 YWVlMzg5MDMuLjE2MGI4YzllOGIxIDEwMDc1NQotLS0gYS9saWJpYmVydHkvY29uZmlndXJlCisr KyBiL2xpYmliZXJ0eS9jb25maWd1cmUKQEAgLTI5NDksNiArMjk0OSwxMDkgQEAgZm9yIHBsdWdp biBpbiAkcGx1Z2luX25hbWVzOyBkbwogICAgIGJyZWFrCiAgIGZpCiBkb25lCitpZiB0ZXN0IC1u ICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAi JHthY190b29sX3ByZWZpeH1hciIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFy Z3MuCitzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgoreyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4m NQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiAke2Fj X2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4m NgorZWxzZQorICBpZiB0ZXN0IC1uICIkQVIiOyB0aGVuCisgIGFjX2N2X3Byb2dfQVI9IiRBUiIg IyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZT OyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFz X3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4 ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4 ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19j dl9wcm9nX0FSPSIke2FjX3Rvb2xfcHJlZml4fWFyIgorICAgICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4m NQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRhc19zYXZlX0lGUworCitm aQorZmkKK0FSPSRhY19jdl9wcm9nX0FSCitpZiB0ZXN0IC1uICIkQVIiOyB0aGVuCisgIHsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkQVIiID4mNQorJGFz X2VjaG8gIiRBUiIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKwor CitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfQVIiOyB0aGVuCisgIGFjX2N0X0FSPSRBUgor ICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3Jh bSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBhcjsgYWNfd29yZD0kMgoreyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQor JGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CitpZiAke2FjX2N2 X3Byb2dfYWNfY3RfQVIrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAi ID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkYWNfY3RfQVIiOyB0aGVuCisgIGFjX2N2X3Byb2df YWNfY3RfQVI9IiRhY19jdF9BUiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitl bHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGlu ICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFz X2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lv bnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj X2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX2FjX2N0X0FSPSJhciIKKyAgICAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4 ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2 ZV9JRlMKKworZmkKK2ZpCithY19jdF9BUj0kYWNfY3ZfcHJvZ19hY19jdF9BUgoraWYgdGVzdCAt biAiJGFjX2N0X0FSIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IHJlc3VsdDogJGFjX2N0X0FSIiA+JjUKKyRhc19lY2hvICIkYWNfY3RfQVIiID4mNjsg fQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKyAgaWYgdGVzdCAieCRhY19j dF9BUiIgPSB4OyB0aGVuCisgICAgQVI9IiIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBp bGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3 aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBj cm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29s X3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBBUj0kYWNfY3RfQVIKKyAgZmkKK2Vsc2UKKyAgQVI9 IiRhY19jdl9wcm9nX0FSIgorZmkKKworaWYgdGVzdCAiJHtBUn0iID0gIiIgOyB0aGVuCisgIGFz X2ZuX2Vycm9yICQ/ICJSZXF1aXJlZCBhcmNoaXZlIHRvb2wgJ2FyJyBub3QgZm91bmQgb24gUEFU SC4iICIkTElORU5PIiA1CitmaQordG91Y2ggY29uZnRlc3QuYworJHtBUn0gJHBsdWdpbl9vcHRp b24gcmMgY29uZnRlc3QuYSBjb25mdGVzdC5jCitpZiB0ZXN0ICIkPyIgIT0gMDsgdGhlbgorICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IEZhaWxlZDog JEFSICRwbHVnaW5fb3B0aW9uIHJjIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IEZh aWxlZDogJEFSICRwbHVnaW5fb3B0aW9uIHJjIiA+JjI7fQorICBwbHVnaW5fb3B0aW9uPQorZmkK K3JtIC1mIGNvbmZ0ZXN0LioKIGlmIHRlc3QgLW4gIiRwbHVnaW5fb3B0aW9uIjsgdGhlbgogICBQ TFVHSU5fT1BUSU9OPSIkcGx1Z2luX29wdGlvbiIKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRwbHVnaW5fb3B0aW9uIiA+JjUKZGlmZiAtLWdpdCBh L2xpYnRvb2wubTQgYi9saWJ0b29sLm00CmluZGV4IDM2NzJlOTUxNmUyLi45YTEzZjNiMTE3YSAx MDA2NDQKLS0tIGEvbGlidG9vbC5tNAorKysgYi9saWJ0b29sLm00CkBAIC0xMzQwLDcgKzEzNDAs MTQgQEAgQUNfQ0hFQ0tfVE9PTChBUiwgYXIsIGZhbHNlKQogdGVzdCAteiAiJEFSIiAmJiBBUj1h cgogaWYgdGVzdCAtbiAiJHBsdWdpbl9vcHRpb24iOyB0aGVuCiAgIGlmICRBUiAtLWhlbHAgMj4m MSB8IGdyZXAgLXEgIlwtLXBsdWdpbiI7IHRoZW4KLSAgICBBUj0iJEFSICRwbHVnaW5fb3B0aW9u IgorICAgIHRvdWNoIGNvbmZ0ZXN0LmMKKyAgICAkQVIgJHBsdWdpbl9vcHRpb24gcmMgY29uZnRl c3QuYSBjb25mdGVzdC5jCisgICAgaWYgdGVzdCAiJD8iICE9IDA7IHRoZW4KKyAgICAgIEFDX01T R19XQVJOKFtGYWlsZWQ6ICRBUiAkcGx1Z2luX29wdGlvbiByY10pCisgICAgZWxzZQorICAgICAg QVI9IiRBUiAkcGx1Z2luX29wdGlvbiIKKyAgICBmaQorICAgIHJtIC1mIGNvbmZ0ZXN0LioKICAg ZmkKIGZpCiB0ZXN0IC16ICIkQVJfRkxBR1MiICYmIEFSX0ZMQUdTPWNydQpkaWZmIC0tZ2l0IGEv emxpYi9jb25maWd1cmUgYi96bGliL2NvbmZpZ3VyZQppbmRleCA3OWE3OWM1ZDllNy4uNjk1ODE5 Y2Q1NGIgMTAwNzU1Ci0tLSBhL3psaWIvY29uZmlndXJlCisrKyBiL3psaWIvY29uZmlndXJlCkBA IC01NTE1LDcgKzU1MTUsMTUgQEAgZmkKIHRlc3QgLXogIiRBUiIgJiYgQVI9YXIKIGlmIHRlc3Qg LW4gIiRwbHVnaW5fb3B0aW9uIjsgdGhlbgogICBpZiAkQVIgLS1oZWxwIDI+JjEgfCBncmVwIC1x ICJcLS1wbHVnaW4iOyB0aGVuCi0gICAgQVI9IiRBUiAkcGx1Z2luX29wdGlvbiIKKyAgICB0b3Vj aCBjb25mdGVzdC5jCisgICAgJEFSICRwbHVnaW5fb3B0aW9uIHJjIGNvbmZ0ZXN0LmEgY29uZnRl c3QuYworICAgIGlmIHRlc3QgIiQ/IiAhPSAwOyB0aGVuCisgICAgICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IEZhaWxlZDogJEFSICRwbHVnaW5fb3B0 aW9uIHJjIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IEZhaWxlZDogJEFSICRwbHVn aW5fb3B0aW9uIHJjIiA+JjI7fQorICAgIGVsc2UKKyAgICAgIEFSPSIkQVIgJHBsdWdpbl9vcHRp b24iCisgICAgZmkKKyAgICBybSAtZiBjb25mdGVzdC4qCiAgIGZpCiBmaQogdGVzdCAteiAiJEFS X0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKQEAgLTEwNjU3LDcgKzEwNjY1LDcgQEAgZWxzZQogICBs dF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0 X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9G Ci0jbGluZSAxMDY2MCAiY29uZmlndXJlIgorI2xpbmUgMTA2NjggImNvbmZpZ3VyZSIKICNpbmNs dWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMDc2Myw3ICsxMDc3MSw3 IEBAIGVsc2UKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91 c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNf ZXh0IDw8X0xUX0VPRgotI2xpbmUgMTA3NjYgImNvbmZpZ3VyZSIKKyNsaW5lIDEwNzc0ICJjb25m aWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSAotLSAKMi4y OS4yCgo= --000000000000afadb305b8a8d0a6--