From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8945 Path: news.gmane.org!not-for-mail From: Petr Hosek Newsgroups: gmane.linux.lib.musl.general Subject: Re: Support for out-of-tree build Date: Mon, 30 Nov 2015 02:49:47 +0000 Message-ID: References: <20151117230606.GJ18372@port70.net> <20151117232711.GG3818@brightrain.aerifal.cx> <20151117234330.GH3818@brightrain.aerifal.cx> <20151118001955.GI3818@brightrain.aerifal.cx> <20151118214452.GQ3818@brightrain.aerifal.cx> <20151120222000.GA3818@brightrain.aerifal.cx> <20151130013555.GT3818@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a114e6100bd2b2b0525b918fe X-Trace: ger.gmane.org 1448851829 30833 80.91.229.3 (30 Nov 2015 02:50:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 30 Nov 2015 02:50:29 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-8958-gllmg-musl=m.gmane.org@lists.openwall.com Mon Nov 30 03:50:09 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1a3EXY-00054T-2P for gllmg-musl@m.gmane.org; Mon, 30 Nov 2015 03:50:08 +0100 Original-Received: (qmail 13867 invoked by uid 550); 30 Nov 2015 02:50:10 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 13839 invoked from network); 30 Nov 2015 02:50:09 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-type; bh=pPmxeYPISdeNvAQ0o+vylwfT3xVir5zjeFh0w5BdPeg=; b=eQ0Ei/8XXR+RXnx5v8gP9W9qRJ+PRbchC2e/67FOymWPKhqJs7ItK5H9gHYPoYEJ9H g7tGvoIfpVSjU/jj2RFqWa3KkObMxrYSWEeLQDlev2lIkBZhDHLWVMicyQUq7CbrSjR7 5RVLY10WrFelZ9YBdGZOgUup78/JgN/QvlOzQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; bh=pPmxeYPISdeNvAQ0o+vylwfT3xVir5zjeFh0w5BdPeg=; b=gwXvHL1gm1nSPC+2In+qWzXtCEoD0ec0lyJDssIpD6CH9UcobLcaqbI+XoHXhuAJiS glkiJbTAMrAl7FRIMDTv0MnxOmitwBrRYFIUhiYIjhWjb6TJyt3aBUjhZ9hP3TBeSg8A 2piCfUQpwJW/WU0dgq+cuaopKmmdMdfl58/8lRFmyRAHthkTqWcm09y3pdbRHzDgo+BZ sKajjiI6onemsMN9xEIeTRVMc0hBj8A+bwQffEwe7Q2+NvnB8PuHVEuuJFxcOdeSkizu F24/gWGx4MdOJCZ84hX90fAbgw/CCSSWfTrb7D3dL01SZtgDV/YMJqD2dYRy7BxvHv3a 8ggA== X-Gm-Message-State: ALoCoQlIFI5d/cyd8Km9iciIyg9+TnMBRNTw7ObR9wrlV9kSBEPwrPPIjeBp4mYz2V82Hl/MYrfM X-Received: by 10.13.199.194 with SMTP id j185mr55979095ywd.241.1448851797749; Sun, 29 Nov 2015 18:49:57 -0800 (PST) In-Reply-To: <20151130013555.GT3818@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:8945 Archived-At: --001a114e6100bd2b2b0525b918fe Content-Type: multipart/alternative; boundary=001a114e6100bd2b260525b918fc --001a114e6100bd2b260525b918fc Content-Type: text/plain; charset=UTF-8 On Sun, Nov 29, 2015 at 5:36 PM Rich Felker wrote: > With ARCH=sh and SUBARCH=-nofpu and ASMSUBARCH=-nofpu, it looks to > me like both src/setjmp/sh/setjmp.o and src/setjmp/sh-nofpu/setjmp.s > will get included, rather than the latter replacing the former. > Thanks, I managed to replicate that error. > > When I tried this change, I started getting duplicate symbol errors when > > linking libc.so, but with the original it seems to be working fine (this > > particular case was when ARCH=arm SUBARCH=hf ASMSUBARCH=ebhf). > > I didn't mean to get rid of the existing subst, but to introduce a > second one, so that src/whatever/$(ARCH)@(ASMSUBARCH)/foo.o > excludes/replaces both src/whatever/$(ARCH)/foo.o and > src/whatever/foo.o. > Got it, I've added the additional subst which solves the problem. --001a114e6100bd2b260525b918fc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sun, Nov 29= , 2015 at 5:36 PM Rich Felker <dalias= @libc.org> wrote:
With ARCH=3Dsh and SUBARCH=3D-nofpu and ASMSUBARCH=3D-nofpu, it looks to me like both src/setjmp/sh/setjmp.o and src/setjmp/sh-nofpu/setjmp.s
will get included, rather than the latter replacing the former.

Thanks, I managed to replicate that error.
=C2=A0
> When I tried this change, I started getting duplicate symbol errors wh= en
> linking libc.so, but with the original it seems to be working fine (th= is
> particular case was when ARCH=3Darm SUBARCH=3Dhf ASMSUBARCH=3Debhf).
I didn't mean to get rid of the existing subst, but to introduce a
second one, so that src/whatever/$(ARCH)@(ASMSUBARCH)/foo.o
excludes/replaces both src/whatever/$(ARCH)/foo.o and
src/whatever/foo.o.

Got it, I've ad= ded the additional subst which solves the problem.=C2=A0
--001a114e6100bd2b260525b918fc-- --001a114e6100bd2b2b0525b918fe Content-Type: text/x-patch; charset=US-ASCII; name="support-out-of-tree-build.patch" Content-Disposition: attachment; filename="support-out-of-tree-build.patch" Content-Transfer-Encoding: base64 Content-ID: <151564b2768d265dd521> X-Attachment-Id: 151564b2768d265dd521 RnJvbSBmOTgxN2JiNGZlMTA3NWM1ODc2NDEwNzE1MTAxN2Q4MWIxNThkYjMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIEhvc2VrIDxwaG9zZWtAY2hyb21pdW0ub3JnPgpEYXRl OiBXZWQsIDE4IE5vdiAyMDE1IDEyOjA3OjMyIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gc3VwcG9y dCBvdXQtb2YtdHJlZSBidWlsZAoKdGhpcyBjaGFuZ2UgYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5n IG11c2wgb3V0c2lkZSBvZiB0aGUgc291cmNlCnRyZWUuIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBz aW1pbGFyIHRvIGF1dG90b29scyB3aGVyZSBydW5uaW5nCmNvbmZpZ3VyZSBpbiBhIGRpZmZlcmVu dCBmb2xkZXIgY3JlYXRlcyBjb25maWcubWFrIGluIHRoZSBjdXJyZW50CndvcmtpbmcgZGlyZWN0 b3J5IGFuZCBzeW1saW5rcyB0aGUgbWFrZWZpbGUsIHdoaWNoIGNvbnRhaW5zIHRoZQpsb2dpYyBm b3IgY3JlYXRpbmcgYWxsIG5lY2Vzc2FyeSBkaXJlY3RvcmllcyBhbmQgcmVzb2x2aW5nIHBhdGhz CnJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LgoKdG8gc3VwcG9ydCBib3RoIGluLXRy ZWUgYW5kIG91dC1vZi10cmVlIGJ1aWxkcyB3aXRoIGltcGxpY2l0IG1ha2UKcnVsZXMsIGFsbCBv YmplY3QgZmlsZXMgYXJlIG5vdyBwbGFjZWQgaW50byBhIHNlcGFyYXRlIGRpcmVjdG9yeS4KLS0t CiAuZ2l0aWdub3JlIHwgICAxICsKIE1ha2VmaWxlICAgfCAxMjEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogY29uZmlndXJlICB8 ICAyNSArKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDQ5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4 IGM1ZDVjNDYuLjM2ZGM1ZjkgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9y ZQpAQCAtMyw2ICszLDcgQEAKICouYQogKi5zbwogKi5zby4xCitvYmoKIGFyY2gvKi9iaXRzL2Fs bHR5cGVzLmgKIGNvbmZpZy5tYWsKIGluY2x1ZGUvYml0cwpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUg Yi9NYWtlZmlsZQppbmRleCBkZjIwZjk0Li5jNTg0N2IzIDEwMDY0NAotLS0gYS9NYWtlZmlsZQor KysgYi9NYWtlZmlsZQpAQCAtOCw2ICs4LDcgQEAKICMgRG8gbm90IG1ha2UgY2hhbmdlcyBoZXJl LgogIwogCitzcmNkaXIgPSAuCiBleGVjX3ByZWZpeCA9IC91c3IvbG9jYWwKIGJpbmRpciA9ICQo ZXhlY19wcmVmaXgpL2JpbgogCkBAIC0xNiwxMiArMTcsMTYgQEAgaW5jbHVkZWRpciA9ICQocHJl Zml4KS9pbmNsdWRlCiBsaWJkaXIgPSAkKHByZWZpeCkvbGliCiBzeXNsaWJkaXIgPSAvbGliCiAK LVNSQ1MgPSAkKHNvcnQgJCh3aWxkY2FyZCBzcmMvKi8qLmMgYXJjaC8kKEFSQ0gpL3NyYy8qLmMp KQotT0JKUyA9ICQoU1JDUzouYz0ubykKK0JBU0VfU1JDUyA9ICQoc29ydCAkKHdpbGRjYXJkICQo c3JjZGlyKS9zcmMvKi8qLmMgJChzcmNkaXIpL2FyY2gvJChBUkNIKS9zcmMvKi5jKSkKK0JBU0Vf T0JKUyA9ICQocGF0c3Vic3QgJChzcmNkaXIpLyUuYywlLm8sJChCQVNFX1NSQ1MpKQorQVJDSF9T UkNTID0gJCh3aWxkY2FyZCAkKHNyY2Rpcikvc3JjLyovJChBUkNIKS8qLnMgJChzcmNkaXIpL3Ny Yy8qLyQoQVJDSCkkKEFTTVNVQkFSQ0gpLyouc3ViKQorQVJDSF9PQkpTID0gJChwYXRzdWJzdCAk KHNyY2RpcikvJS5zdWIsJS5vLCQocGF0c3Vic3QgJChzcmNkaXIpLyUucywlLm8sJChBUkNIX1NS Q1MpKSkKK1JFUExBQ0VEX09CSlMgPSAkKHNvcnQgJChzdWJzdCAvJChBUkNIKSQoQVNNU1VCQVJD SCkvLC8sJChzdWJzdCAvJChBUkNIKS8sLywkKEFSQ0hfT0JKUykpKSAkKHN1YnN0IC8kKEFSQ0gp JChBU01TVUJBUkNIKS8sLyQoQVJDSCkvLCQoc3Vic3QgLyQoQVJDSCkvLC8sJChBUkNIX09CSlMp KSkpCitPQkpTID0gJChhZGRwcmVmaXggb2JqLywgJChmaWx0ZXItb3V0ICQoUkVQTEFDRURfT0JK UyksICQoc29ydCAkKEJBU0VfT0JKUykgJChBUkNIX09CSlMpKSkpCiBMT0JKUyA9ICQoT0JKUzou bz0ubG8pCi1HRU5IID0gaW5jbHVkZS9iaXRzL2FsbHR5cGVzLmgKLUdFTkhfSU5UID0gc3JjL2lu dGVybmFsL3ZlcnNpb24uaAotSU1QSCA9IHNyYy9pbnRlcm5hbC9zdGRpb19pbXBsLmggc3JjL2lu dGVybmFsL3B0aHJlYWRfaW1wbC5oIHNyYy9pbnRlcm5hbC9saWJjLmgKK0dFTkggPSBvYmovaW5j bHVkZS9iaXRzL2FsbHR5cGVzLmgKK0dFTkhfSU5UID0gb2JqL3NyYy9pbnRlcm5hbC92ZXJzaW9u LmgKK0lNUEggPSAkKGFkZHByZWZpeCAkKHNyY2RpcikvLCBzcmMvaW50ZXJuYWwvc3RkaW9faW1w bC5oIHNyYy9pbnRlcm5hbC9wdGhyZWFkX2ltcGwuaCBzcmMvaW50ZXJuYWwvbGliYy5oKQogCiBM REZMQUdTID0KIExERkxBR1NfQVVUTyA9CkBAIC0zMiw3ICszNyw3IEBAIENGTEFHU19BVVRPID0g LU9zIC1waXBlCiBDRkxBR1NfQzk5RlNFID0gLXN0ZD1jOTkgLWZmcmVlc3RhbmRpbmcgLW5vc3Rk aW5jIAogCiBDRkxBR1NfQUxMID0gJChDRkxBR1NfQzk5RlNFKQotQ0ZMQUdTX0FMTCArPSAtRF9Y T1BFTl9TT1VSQ0U9NzAwIC1JLi9hcmNoLyQoQVJDSCkgLUkuL3NyYy9pbnRlcm5hbCAtSS4vaW5j bHVkZQorQ0ZMQUdTX0FMTCArPSAtRF9YT1BFTl9TT1VSQ0U9NzAwIC1JJChzcmNkaXIpL2FyY2gv JChBUkNIKSAtSW9iai9zcmMvaW50ZXJuYWwgLUkkKHNyY2Rpcikvc3JjL2ludGVybmFsIC1Jb2Jq L2luY2x1ZGUgLUkkKHNyY2RpcikvaW5jbHVkZQogQ0ZMQUdTX0FMTCArPSAkKENQUEZMQUdTKSAk KENGTEFHU19BVVRPKSAkKENGTEFHUykKIENGTEFHU19BTExfU1RBVElDID0gJChDRkxBR1NfQUxM KQogQ0ZMQUdTX0FMTF9TSEFSRUQgPSAkKENGTEFHU19BTEwpIC1mUElDIC1EU0hBUkVECkBAIC00 MSwxMCArNDYsMTEgQEAgTERGTEFHU19BTEwgPSAkKExERkxBR1NfQVVUTykgJChMREZMQUdTKQog CiBBUiAgICAgID0gJChDUk9TU19DT01QSUxFKWFyCiBSQU5MSUIgID0gJChDUk9TU19DT01QSUxF KXJhbmxpYgotSU5TVEFMTCA9IC4vdG9vbHMvaW5zdGFsbC5zaAorSU5TVEFMTCA9ICQoc3JjZGly KS90b29scy9pbnN0YWxsLnNoCiAKLUFSQ0hfSU5DTFVERVMgPSAkKHdpbGRjYXJkIGFyY2gvJChB UkNIKS9iaXRzLyouaCkKLUFMTF9JTkNMVURFUyA9ICQoc29ydCAkKHdpbGRjYXJkIGluY2x1ZGUv Ki5oIGluY2x1ZGUvKi8qLmgpICQoR0VOSCkgJChBUkNIX0lOQ0xVREVTOmFyY2gvJChBUkNIKS8l PWluY2x1ZGUvJSkpCitBUkNIX0lOQ0xVREVTID0gJCh3aWxkY2FyZCAkKHNyY2RpcikvYXJjaC8k KEFSQ0gpL2JpdHMvKi5oKQorSU5DTFVERVMgPSAkKHdpbGRjYXJkICQoc3JjZGlyKS9pbmNsdWRl LyouaCAkKHNyY2RpcikvaW5jbHVkZS8qLyouaCkKK0FMTF9JTkNMVURFUyA9ICQoc29ydCAkKElO Q0xVREVTOiQoc3JjZGlyKS8lPSUpICQoR0VOSDpvYmovJT0lKSAkKEFSQ0hfSU5DTFVERVM6JChz cmNkaXIpL2FyY2gvJChBUkNIKS8lPWluY2x1ZGUvJSkpCiAKIEVNUFRZX0xJQl9OQU1FUyA9IG0g cnQgcHRocmVhZCBjcnlwdCB1dGlsIHhuZXQgcmVzb2x2IGRsCiBFTVBUWV9MSUJTID0gJChFTVBU WV9MSUJfTkFNRVM6JT1saWIvbGliJS5hKQpAQCAtNjIsMTIgKzY4LDI4IEBAIExEU09fUEFUSE5B TUUgPSAkKHN5c2xpYmRpcikvbGQtbXVzbC0kKEFSQ0gpJChTVUJBUkNIKS5zby4xCiAKIC1pbmNs dWRlIGNvbmZpZy5tYWsKIAoraWZlcSAoJChBUkNIKSwpCiskKGVycm9yIFBsZWFzZSBzZXQgQVJD SCBpbiBjb25maWcubWFrIGJlZm9yZSBydW5uaW5nIG1ha2UuKQorZW5kaWYKKwogYWxsOiAkKEFM TF9MSUJTKSAkKEFMTF9UT09MUykKIAorJChBTExfTElCUyk6IHwgbGliLworJChBTExfVE9PTFMp OiB8IHRvb2xzLworJChDUlRfTElCUzpsaWIvJT1vYmovY3J0LyUpOiB8IG9iai9jcnQvIG9iai9j cnQvJChBUkNIKS8KKyQoT0JKUykgJChMT0JKUyk6IHwgJChzb3J0ICQoZGlyICQoT0JKUykpKQor JChHRU5IKTogfCBvYmovaW5jbHVkZS9iaXRzLworJChHRU5IX0lOVCk6IHwgb2JqL3NyYy9pbnRl cm5hbC8KKworT0JKX0RJUlMgPSAkKHNvcnQgJChkaXIgJChBTExfTElCUykgJChBTExfVE9PTFMp ICQoT0JKUykgJChHRU5IKSAkKEdFTkhfSU5UKSkgJChhZGRwcmVmaXggb2JqLywgY3J0LyBjcnQv JChBUkNIKSBpbmNsdWRlLykpCisKKyQoT0JKX0RJUlMpOgorCW1rZGlyIC1wICRACisKIGluc3Rh bGw6IGluc3RhbGwtbGlicyBpbnN0YWxsLWhlYWRlcnMgaW5zdGFsbC10b29scwogCiBjbGVhbjoK LQlybSAtZiBjcnQvKi5vCisJcm0gLWYgb2JqL2NydC8qLm8gb2JqL2NydC8kKEFSQ0gpLyoubwog CXJtIC1mICQoT0JKUykKIAlybSAtZiAkKExPQkpTKQogCXJtIC1mICQoQUxMX0xJQlMpIGxpYi8q Llthb10gbGliLyouc28KQEAgLTc4LDc1ICsxMDAsNzMgQEAgY2xlYW46CiBkaXN0Y2xlYW46IGNs ZWFuCiAJcm0gLWYgY29uZmlnLm1hawogCi1pbmNsdWRlL2JpdHM6Ci0JQHRlc3QgIiQoQVJDSCki IHx8IHsgZWNobyAiUGxlYXNlIHNldCBBUkNIIGluIGNvbmZpZy5tYWsgYmVmb3JlIHJ1bm5pbmcg bWFrZS4iIDsgZXhpdCAxIDsgfQotCWxuIC1zZiAuLi9hcmNoLyQoQVJDSCkvYml0cyAkQAorb2Jq L2luY2x1ZGUvYml0cy9hbGx0eXBlcy5oOiAkKHNyY2RpcikvYXJjaC8kKEFSQ0gpL2JpdHMvYWxs dHlwZXMuaC5pbiAkKHNyY2RpcikvaW5jbHVkZS9hbGx0eXBlcy5oLmluICQoc3JjZGlyKS90b29s cy9ta2FsbHR5cGVzLnNlZAorCXNlZCAtZiAkKHNyY2RpcikvdG9vbHMvbWthbGx0eXBlcy5zZWQg JChzcmNkaXIpL2FyY2gvJChBUkNIKS9iaXRzL2FsbHR5cGVzLmguaW4gJChzcmNkaXIpL2luY2x1 ZGUvYWxsdHlwZXMuaC5pbiA+ICRACiAKLWluY2x1ZGUvYml0cy9hbGx0eXBlcy5oLmluOiBpbmNs dWRlL2JpdHMKK29iai9zcmMvaW50ZXJuYWwvdmVyc2lvbi5oOiAkKHdpbGRjYXJkICQoc3JjZGly KS9WRVJTSU9OICQoc3JjZGlyKS8uZ2l0KQorCXByaW50ZiAnI2RlZmluZSBWRVJTSU9OICIlcyJc bicgIiQkKGNkICQoc3JjZGlyKTsgc2ggdG9vbHMvdmVyc2lvbi5zaCkiID4gJEAKIAotaW5jbHVk ZS9iaXRzL2FsbHR5cGVzLmg6IGluY2x1ZGUvYml0cy9hbGx0eXBlcy5oLmluIGluY2x1ZGUvYWxs dHlwZXMuaC5pbiB0b29scy9ta2FsbHR5cGVzLnNlZAotCXNlZCAtZiB0b29scy9ta2FsbHR5cGVz LnNlZCBpbmNsdWRlL2JpdHMvYWxsdHlwZXMuaC5pbiBpbmNsdWRlL2FsbHR5cGVzLmguaW4gPiAk QAorb2JqL3NyYy9pbnRlcm5hbC92ZXJzaW9uLm8gb2JqL3NyYy9pbnRlcm5hbC92ZXJzaW9uLmxv OiBvYmovc3JjL2ludGVybmFsL3ZlcnNpb24uaAogCi1zcmMvaW50ZXJuYWwvdmVyc2lvbi5oOiAk KHdpbGRjYXJkIFZFUlNJT04gLmdpdCkKLQlwcmludGYgJyNkZWZpbmUgVkVSU0lPTiAiJXMiXG4n ICIkJChzaCB0b29scy92ZXJzaW9uLnNoKSIgPiAkQAorb2JqL2NydC9yY3J0MS5vIG9iai9zcmMv bGRzby9kbHN0YXJ0LmxvIG9iai9zcmMvbGRzby9keW5saW5rLmxvOiAkKHNyY2Rpcikvc3JjL2lu dGVybmFsL2R5bmxpbmsuaCAkKHNyY2RpcikvYXJjaC8kKEFSQ0gpL3JlbG9jLmgKIAotc3JjL2lu dGVybmFsL3ZlcnNpb24ubyBzcmMvaW50ZXJuYWwvdmVyc2lvbi5sbzogc3JjL2ludGVybmFsL3Zl cnNpb24uaAorb2JqL2NydC9jcnQxLm8gb2JqL2NydC9zY3J0MS5vIG9iai9jcnQvcmNydDEubyBv Ymovc3JjL2xkc28vZGxzdGFydC5sbzogJChzcmNkaXIpL2FyY2gvJChBUkNIKS9jcnRfYXJjaC5o CiAKLWNydC9yY3J0MS5vIHNyYy9sZHNvL2Rsc3RhcnQubG8gc3JjL2xkc28vZHlubGluay5sbzog c3JjL2ludGVybmFsL2R5bmxpbmsuaCBhcmNoLyQoQVJDSCkvcmVsb2MuaAorb2JqL2NydC9yY3J0 MS5vOiAkKHNyY2Rpcikvc3JjL2xkc28vZGxzdGFydC5jCiAKLWNydC9jcnQxLm8gY3J0L1NjcnQx Lm8gY3J0L3JjcnQxLm8gc3JjL2xkc28vZGxzdGFydC5sbzogJCh3aWxkY2FyZCBhcmNoLyQoQVJD SCkvY3J0X2FyY2guaCkKK29iai9jcnQvU2NydDEubyBvYmovY3J0L3JjcnQxLm86IENGTEFHU19B TEwgKz0gLWZQSUMKIAotY3J0L3JjcnQxLm86IHNyYy9sZHNvL2Rsc3RhcnQuYworb2JqL2NydC8k KEFSQ0gpL2NydGkubzogJChzcmNkaXIpL2NydC8kKEFSQ0gpL2NydGkucwogCi1jcnQvU2NydDEu byBjcnQvcmNydDEubzogQ0ZMQUdTX0FMTCArPSAtZlBJQworb2JqL2NydC8kKEFSQ0gpL2NydG4u bzogJChzcmNkaXIpL2NydC8kKEFSQ0gpL2NydG4ucwogCi1PUFRJTUlaRV9TUkNTID0gJCh3aWxk Y2FyZCAkKE9QVElNSVpFX0dMT0JTOiU9c3JjLyUpKQotJChPUFRJTUlaRV9TUkNTOiUuYz0lLm8p ICQoT1BUSU1JWkVfU1JDUzolLmM9JS5sbyk6IENGTEFHUyArPSAtTzMKK09QVElNSVpFX1NSQ1Mg PSAkKHdpbGRjYXJkICQoT1BUSU1JWkVfR0xPQlM6JT0kKHNyY2Rpcikvc3JjLyUpKQorJChPUFRJ TUlaRV9TUkNTOiQoc3JjZGlyKS8lLmM9b2JqLyUubykgJChPUFRJTUlaRV9TUkNTOiQoc3JjZGly KS8lLmM9b2JqLyUubG8pOiBDRkxBR1MgKz0gLU8zCiAKIE1FTU9QU19TUkNTID0gc3JjL3N0cmlu Zy9tZW1jcHkuYyBzcmMvc3RyaW5nL21lbW1vdmUuYyBzcmMvc3RyaW5nL21lbWNtcC5jIHNyYy9z dHJpbmcvbWVtc2V0LmMKLSQoTUVNT1BTX1NSQ1M6JS5jPSUubykgJChNRU1PUFNfU1JDUzolLmM9 JS5sbyk6IENGTEFHU19BTEwgKz0gJChDRkxBR1NfTUVNT1BTKQorJChNRU1PUFNfU1JDUzolLmM9 b2JqLyUubykgJChNRU1PUFNfU1JDUzolLmM9b2JqLyUubG8pOiBDRkxBR1NfQUxMICs9ICQoQ0ZM QUdTX01FTU9QUykKIAogTk9TU1BfU1JDUyA9ICQod2lsZGNhcmQgY3J0LyouYykgXAogCXNyYy9l bnYvX19saWJjX3N0YXJ0X21haW4uYyBzcmMvZW52L19faW5pdF90bHMuYyBcCiAJc3JjL3RocmVh ZC9fX3NldF90aHJlYWRfYXJlYS5jIHNyYy9lbnYvX19zdGFja19jaGtfZmFpbC5jIFwKIAlzcmMv c3RyaW5nL21lbXNldC5jIHNyYy9zdHJpbmcvbWVtY3B5LmMgXAogCXNyYy9sZHNvL2Rsc3RhcnQu YyBzcmMvbGRzby9keW5saW5rLmMKLSQoTk9TU1BfU1JDUzolLmM9JS5vKSAkKE5PU1NQX1NSQ1M6 JS5jPSUubG8pOiBDRkxBR1NfQUxMICs9ICQoQ0ZMQUdTX05PU1NQKQorJChOT1NTUF9TUkNTOiUu Yz1vYmovJS5vKSAkKE5PU1NQX1NSQ1M6JS5jPW9iai8lLmxvKTogQ0ZMQUdTX0FMTCArPSAkKENG TEFHU19OT1NTUCkKIAotJChDUlRfTElCUzpsaWIvJT1jcnQvJSk6IENGTEFHU19BTEwgKz0gLURD UlQKKyQoQ1JUX0xJQlM6bGliLyU9b2JqL2NydC8lKTogQ0ZMQUdTX0FMTCArPSAtRENSVAogCiAj IFRoaXMgaW5jYW50YXRpb24gZW5zdXJlcyB0aGF0IGNoYW5nZXMgdG8gYW55IHN1YmFyY2ggYXNt IGZpbGVzIHdpbGwKICMgZm9yY2UgdGhlIGNvcnJlc3BvbmRpbmcgb2JqZWN0IGZpbGUgdG8gYmUg cmVidWlsdCwgZXZlbiBpZiB0aGUgaW1wbGljaXQKICMgcnVsZSBiZWxvdyBnb2VzIGluZGlyZWN0 bHkgdGhyb3VnaCBhIC5zdWIgZmlsZS4KIGRlZmluZSBta2FzbWRlcAotJChkaXIgJChwYXRzdWJz dCAlLywlLCQoZGlyICQoMSkpKSkkKG5vdGRpciAkKDE6LnM9Lm8pKTogJCgxKQorJChwYXRzdWJz dCAkKHNyY2RpcikvJSxvYmovJSwkKGRpciAkKHBhdHN1YnN0ICUvLCUsJChkaXIgJCgxKSkpKSQo QVJDSCkkKEFTTVNVQkFSQ0gpLyQobm90ZGlyICQoMToucz0ubykpKTogJCgxKQogZW5kZWYKLSQo Zm9yZWFjaCBzLCQod2lsZGNhcmQgc3JjLyovJChBUkNIKSovKi5zKSwkKGV2YWwgJChjYWxsIG1r YXNtZGVwLCQocykpKSkKKyQoZm9yZWFjaCBzLCQod2lsZGNhcmQgJChzcmNkaXIpL3NyYy8qLyQo QVJDSCkqLyoucyksJChldmFsICQoY2FsbCBta2FzbWRlcCwkKHMpKSkpCiAKICMgQ2hvb3NlIGlu dm9jYXRpb24gb2YgYXNzZW1ibGVyIHRvIGJlIHVzZWQKICMgJCgxKSBpcyBpbnB1dCBmaWxlLCAk KDIpIGlzIG91dHB1dCBmaWxlLCAkKDMpIGlzIGFzc2VtYmxlciBmbGFncwogaWZlcSAoJChBRERf Q0ZJKSx5ZXMpCi0JQVNfQ01EID0gTENfQUxMPUMgYXdrIC1mIHRvb2xzL2FkZC1jZmkuY29tbW9u LmF3ayAtZiB0b29scy9hZGQtY2ZpLiQoQVJDSCkuYXdrICQ8IHwgJChDQykgLXggYXNzZW1ibGVy IC1jIC1vICRAIC0KKwlBU19DTUQgPSBMQ19BTEw9QyBhd2sgLWYgJChzcmNkaXIpL3Rvb2xzL2Fk ZC1jZmkuY29tbW9uLmF3ayAtZiAkKHNyY2RpcikvdG9vbHMvYWRkLWNmaS4kKEFSQ0gpLmF3ayAk PCB8ICQoQ0MpIC14IGFzc2VtYmxlciAtYyAtbyAkQCAtCiBlbHNlCiAJQVNfQ01EID0gJChDQykg LWMgLW8gJEAgJDwKIGVuZGlmCiAKLSUubzogJChBUkNIKSQoQVNNU1VCQVJDSCkvJS5zdWIKLQkk KENDKSAkKENGTEFHU19BTExfU1RBVElDKSAtYyAtbyAkQCAkKGRpciAkPCkkKHNoZWxsIGNhdCAk PCkKK29iai8lLm86ICQoc3JjZGlyKS8lLnN1YgorCSQoQ0MpICQoQ0ZMQUdTX0FMTF9TVEFUSUMp IC1jIC1vICRAICQoZGlyICQ8KSQkKGNhdCAkPCkKIAotJS5vOiAkKEFSQ0gpLyUucworb2JqLyUu bzogJChzcmNkaXIpLyUucwogCSQoQVNfQ01EKSAkKENGTEFHU19BTExfU1RBVElDKQogCi0lLm86 ICUuYyAkKEdFTkgpICQoSU1QSCkKK29iai8lLm86ICQoc3JjZGlyKS8lLmMgJChHRU5IKSAkKElN UEgpCiAJJChDQykgJChDRkxBR1NfQUxMX1NUQVRJQykgLWMgLW8gJEAgJDwKIAotJS5sbzogJChB UkNIKSQoQVNNU1VCQVJDSCkvJS5zdWIKLQkkKENDKSAkKENGTEFHU19BTExfU0hBUkVEKSAtYyAt byAkQCAkKGRpciAkPCkkKHNoZWxsIGNhdCAkPCkKK29iai8lLmxvOiAkKHNyY2RpcikvJS5zdWIK KwkkKENDKSAkKENGTEFHU19BTExfU0hBUkVEKSAtYyAtbyAkQCAkKGRpciAkPCkkJChjYXQgJDwp CiAKLSUubG86ICQoQVJDSCkvJS5zCitvYmovJS5sbzogJChzcmNkaXIpLyUucwogCSQoQVNfQ01E KSAkKENGTEFHU19BTExfU0hBUkVEKQogCi0lLmxvOiAlLmMgJChHRU5IKSAkKElNUEgpCitvYmov JS5sbzogJChzcmNkaXIpLyUuYyAkKEdFTkgpICQoSU1QSCkKIAkkKENDKSAkKENGTEFHU19BTExf U0hBUkVEKSAtYyAtbyAkQCAkPAogCiBsaWIvbGliYy5zbzogJChMT0JKUykKQEAgLTE2MywxNyAr MTgzLDIzIEBAICQoRU1QVFlfTElCUyk6CiAJcm0gLWYgJEAKIAkkKEFSKSByYyAkQAogCi1saWIv JS5vOiBjcnQvJS5vCitsaWIvJS5vOiBvYmovY3J0LyUubwogCWNwICQ8ICRACiAKLWxpYi9tdXNs LWdjYy5zcGVjczogdG9vbHMvbXVzbC1nY2Muc3BlY3Muc2ggY29uZmlnLm1haworbGliL2NydGku bzogb2JqL2NydC8kKEFSQ0gpL2NydGkubworCWNwICQ8ICRACisKK2xpYi9jcnRuLm86IG9iai9j cnQvJChBUkNIKS9jcnRuLm8KKwljcCAkPCAkQAorCitsaWIvbXVzbC1nY2Muc3BlY3M6ICQoc3Jj ZGlyKS90b29scy9tdXNsLWdjYy5zcGVjcy5zaCBjb25maWcubWFrCiAJc2ggJDwgIiQoaW5jbHVk ZWRpcikiICIkKGxpYmRpcikiICIkKExEU09fUEFUSE5BTUUpIiA+ICRACiAKIHRvb2xzL211c2wt Z2NjOiBjb25maWcubWFrCiAJcHJpbnRmICcjIS9iaW4vc2hcbmV4ZWMgIiQke1JFQUxHQ0M6LSQo V1JBUENDX0dDQyl9IiAiJCRAIiAtc3BlY3MgIiVzL211c2wtZ2NjLnNwZWNzIlxuJyAiJChsaWJk aXIpIiA+ICRACiAJY2htb2QgK3ggJEAKIAotdG9vbHMvJS1jbGFuZzogdG9vbHMvJS1jbGFuZy5p biBjb25maWcubWFrCit0b29scy8lLWNsYW5nOiAkKHNyY2RpcikvdG9vbHMvJS1jbGFuZy5pbiBj b25maWcubWFrCiAJc2VkIC1lICdzIUBDQ0AhJChXUkFQQ0NfQ0xBTkcpIWcnIC1lICdzIUBQUkVG SVhAISQocHJlZml4KSFnJyAtZSAncyFASU5DRElSQCEkKGluY2x1ZGVkaXIpIWcnIC1lICdzIUBM SUJESVJAISQobGliZGlyKSFnJyAtZSAncyFATERTT0AhJChMRFNPX1BBVEhOQU1FKSFnJyAkPCA+ ICRACiAJY2htb2QgK3ggJEAKIApAQCAtMTg2LDEwICsyMTIsMTMgQEAgJChERVNURElSKSQobGli ZGlyKS8lLnNvOiBsaWIvJS5zbwogJChERVNURElSKSQobGliZGlyKS8lOiBsaWIvJQogCSQoSU5T VEFMTCkgLUQgLW0gNjQ0ICQ8ICRACiAKLSQoREVTVERJUikkKGluY2x1ZGVkaXIpL2JpdHMvJTog YXJjaC8kKEFSQ0gpL2JpdHMvJQorJChERVNURElSKSQoaW5jbHVkZWRpcikvYml0cy8lOiAkKHNy Y2RpcikvYXJjaC8kKEFSQ0gpL2JpdHMvJQorCSQoSU5TVEFMTCkgLUQgLW0gNjQ0ICQ8ICRACisK KyQoREVTVERJUikkKGluY2x1ZGVkaXIpL2JpdHMvJTogb2JqL2luY2x1ZGUvYml0cy8lCiAJJChJ TlNUQUxMKSAtRCAtbSA2NDQgJDwgJEAKIAotJChERVNURElSKSQoaW5jbHVkZWRpcikvJTogaW5j bHVkZS8lCiskKERFU1RESVIpJChpbmNsdWRlZGlyKS8lOiAkKHNyY2RpcikvaW5jbHVkZS8lCiAJ JChJTlNUQUxMKSAtRCAtbSA2NDQgJDwgJEAKIAogJChERVNURElSKSQoTERTT19QQVRITkFNRSk6 ICQoREVTVERJUikkKGxpYmRpcikvbGliYy5zbwpAQCAtMjAyLDkgKzIzMSw5IEBAIGluc3RhbGwt aGVhZGVyczogJChBTExfSU5DTFVERVM6aW5jbHVkZS8lPSQoREVTVERJUikkKGluY2x1ZGVkaXIp LyUpCiBpbnN0YWxsLXRvb2xzOiAkKEFMTF9UT09MUzp0b29scy8lPSQoREVTVERJUikkKGJpbmRp cikvJSkKIAogbXVzbC1naXQtJS50YXIuZ3o6IC5naXQKLQkgZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9 dGFyLmd6IC0tcHJlZml4PSQocGF0c3Vic3QgJS50YXIuZ3osJSwkQCkvIC1vICRAICQocGF0c3Vi c3QgbXVzbC1naXQtJS50YXIuZ3osJSwkQCkKKwkgZ2l0IC0tZ2l0LWRpcj0kKHNyY2RpcikvLmdp dCBhcmNoaXZlIC0tZm9ybWF0PXRhci5neiAtLXByZWZpeD0kKHBhdHN1YnN0ICUudGFyLmd6LCUs JEApLyAtbyAkQCAkKHBhdHN1YnN0IG11c2wtZ2l0LSUudGFyLmd6LCUsJEApCiAKIG11c2wtJS50 YXIuZ3o6IC5naXQKLQkgZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyLmd6IC0tcHJlZml4PSQocGF0 c3Vic3QgJS50YXIuZ3osJSwkQCkvIC1vICRAIHYkKHBhdHN1YnN0IG11c2wtJS50YXIuZ3osJSwk QCkKKwkgZ2l0IC0tZ2l0LWRpcj0kKHNyY2RpcikvLmdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhci5n eiAtLXByZWZpeD0kKHBhdHN1YnN0ICUudGFyLmd6LCUsJEApLyAtbyAkQCB2JChwYXRzdWJzdCBt dXNsLSUudGFyLmd6LCUsJEApCiAKIC5QSE9OWTogYWxsIGNsZWFuIGluc3RhbGwgaW5zdGFsbC1s aWJzIGluc3RhbGwtaGVhZGVycyBpbnN0YWxsLXRvb2xzCmRpZmYgLS1naXQgYS9jb25maWd1cmUg Yi9jb25maWd1cmUKaW5kZXggZWUyMTc3MS4uMGU0ODAwMiAxMDA3NTUKLS0tIGEvY29uZmlndXJl CisrKyBiL2NvbmZpZ3VyZQpAQCAtOSw2ICs5LDkgQEAgVkFSPVZBTFVFLiAgU2VlIGJlbG93IGZv ciBkZXNjcmlwdGlvbnMgb2Ygc29tZSBvZiB0aGUgdXNlZnVsIHZhcmlhYmxlcy4KIAogRGVmYXVs dHMgZm9yIHRoZSBvcHRpb25zIGFyZSBzcGVjaWZpZWQgaW4gYnJhY2tldHMuCiAKK0NvbmZpZ3Vy YXRpb246CisgIC0tc3JjZGlyPURJUiAgICAgICAgICAgIHNvdXJjZSBkaXJlY3RvcnkgW2RldGVj dGVkXQorCiBJbnN0YWxsYXRpb24gZGlyZWN0b3JpZXM6CiAgIC0tcHJlZml4PVBSRUZJWCAgICAg ICAgIG1haW4gaW5zdGFsbGF0aW9uIHByZWZpeCBbL3Vzci9sb2NhbC9tdXNsXQogICAtLWV4ZWMt cHJlZml4PUVQUkVGSVggICBpbnN0YWxsYXRpb24gcHJlZml4IGZvciBleGVjdXRhYmxlIGZpbGVz IFtQUkVGSVhdCkBAIC0xMTcsNiArMTIwLDcgQEAgQ0ZMQUdTX1RSWT0KIExERkxBR1NfQVVUTz0K IExERkxBR1NfVFJZPQogT1BUSU1JWkVfR0xPQlM9CitzcmNkaXI9CiBwcmVmaXg9L3Vzci9sb2Nh bC9tdXNsCiBleGVjX3ByZWZpeD0nJChwcmVmaXgpJwogYmluZGlyPSckKGV4ZWNfcHJlZml4KS9i aW4nCkBAIC0xMzksNiArMTQzLDcgQEAgY2xhbmdfd3JhcHBlcj1ubwogZm9yIGFyZyA7IGRvCiBj YXNlICIkYXJnIiBpbgogLS1oZWxwKSB1c2FnZSA7OworLS1zcmNkaXI9Kikgc3JjZGlyPSR7YXJn Iyo9fSA7OwogLS1wcmVmaXg9KikgcHJlZml4PSR7YXJnIyo9fSA7OwogLS1leGVjLXByZWZpeD0q KSBleGVjX3ByZWZpeD0ke2FyZyMqPX0gOzsKIC0tYmluZGlyPSopIGJpbmRpcj0ke2FyZyMqPX0g OzsKQEAgLTE3OSwxMSArMTg0LDIyIEBAIExJQkNDPSopIExJQkNDPSR7YXJnIyo9fSA7OwogZXNh YwogZG9uZQogCi1mb3IgaSBpbiBwcmVmaXggZXhlY19wcmVmaXggYmluZGlyIGxpYmRpciBpbmNs dWRlZGlyIHN5c2xpYmRpciA7IGRvCitmb3IgaSBpbiBzcmNkaXIgcHJlZml4IGV4ZWNfcHJlZml4 IGJpbmRpciBsaWJkaXIgaW5jbHVkZWRpciBzeXNsaWJkaXIgOyBkbwogc3RyaXBkaXIgJGkKIGRv bmUKIAogIworIyBHZXQgdGhlIHNvdXJjZSBkaXIgZm9yIG91dC1vZi10cmVlIGJ1aWxkcworIwor aWYgdGVzdCAteiAiJHNyY2RpciIgOyB0aGVuCitzcmNkaXI9IiR7MCUvY29uZmlndXJlfSIKK3N0 cmlwZGlyIHNyY2RpcgorZmkKK2Fic19idWlsZGRpcj0iJChwd2QpIiB8fCBmYWlsICIkMDogY2Fu bm90IGRldGVybWluZSB3b3JraW5nIGRpcmVjdG9yeSIKK2Fic19zcmNkaXI9IiQoY2QgJHNyY2Rp ciAmJiBwd2QpIiB8fCBmYWlsICIkMDogaW52YWxpZCBzb3VyY2UgZGlyZWN0b3J5ICRzcmNkaXIi Cit0ZXN0ICIkYWJzX3NyY2RpciIgPSAiJGFic19idWlsZGRpciIgJiYgc3JjZGlyPS4KKworIwog IyBHZXQgYSB0ZW1wIGZpbGVuYW1lIHdlIGNhbiB1c2UKICMKIGk9MApAQCAtMzIxLDcgKzMzNyw3 IEBAIF9fYXR0cmlidXRlX18oKF9fbWF5X2FsaWFzX18pKQogI2VuZGlmCiB4OwogRU9GCi1pZiAk Q0MgJENGTEFHU19DOTlGU0UgLUkuL2FyY2gvJEFSQ0ggLUkuL2luY2x1ZGUgJENQUEZMQUdTICRD RkxBR1MgXAoraWYgJENDICRDRkxBR1NfQzk5RlNFIC1JJHNyY2Rpci9hcmNoLyRBUkNIIC1JJHNy Y2Rpci9pbmNsdWRlICRDUFBGTEFHUyAkQ0ZMQUdTIFwKICAgLWMgLW8gL2Rldi9udWxsICIkdG1w YyIgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgogcHJpbnRmICJub1xuIgogZWxzZQpAQCAtNjI1LDcg KzY0MSw3IEBAIGVjaG8gJyNpbmNsdWRlIDxmbG9hdC5oPicgPiAiJHRtcGMiCiBlY2hvICcjaWYg TERCTF9NQU5UX0RJRyA9PSA1MycgPj4gIiR0bXBjIgogZWNobyAndHlwZWRlZiBjaGFyIGxkY2hl Y2tbOS0oaW50KXNpemVvZihsb25nIGRvdWJsZSldOycgPj4gIiR0bXBjIgogZWNobyAnI2VuZGlm JyA+PiAiJHRtcGMiCi1pZiAkQ0MgJENGTEFHU19DOTlGU0UgLUkuL2FyY2gvJEFSQ0ggLUkuL2lu Y2x1ZGUgJENQUEZMQUdTICRDRkxBR1MgXAoraWYgJENDICRDRkxBR1NfQzk5RlNFIC1JJHNyY2Rp ci9hcmNoLyRBUkNIIC1JJHNyY2Rpci9pbmNsdWRlICRDUFBGTEFHUyAkQ0ZMQUdTIFwKICAgLWMg LW8gL2Rldi9udWxsICIkdG1wYyIgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgogcHJpbnRmICJ5ZXNc biIKIGVsc2UKQEAgLTY0OCw2ICs2NjQsNyBAQCBjYXQgPDwgRU9GCiBBUkNIID0gJEFSQ0gKIFNV QkFSQ0ggPSAkU1VCQVJDSAogQVNNU1VCQVJDSCA9ICRBU01TVUJBUkNICitzcmNkaXIgPSAkc3Jj ZGlyCiBwcmVmaXggPSAkcHJlZml4CiBleGVjX3ByZWZpeCA9ICRleGVjX3ByZWZpeAogYmluZGly ID0gJGJpbmRpcgpAQCAtNjc2LDQgKzY5Myw2IEBAIHRlc3QgIngkY2NfZmFtaWx5IiA9IHhnY2Mg JiYgZWNobyAnV1JBUENDX0dDQyA9ICQoQ0MpJwogdGVzdCAieCRjY19mYW1pbHkiID0geGNsYW5n ICYmIGVjaG8gJ1dSQVBDQ19DTEFORyA9ICQoQ0MpJwogZXhlYyAxPiYzIDM+Ji0KIAordGVzdCAi JHNyY2RpciIgPSAiLiIgfHwgbG4gLXMgJHNyY2Rpci9NYWtlZmlsZSAuCisKIHByaW50ZiAiZG9u ZVxuIgotLSAKMi42LjAucmMyLjIzMC5nM2RkMTVjMAoK --001a114e6100bd2b2b0525b918fe--