From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29176 invoked by alias); 13 Jan 2015 23:25:14 -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 29163 invoked by uid 89); 13 Jan 2015 23:25:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ob0-f175.google.com Received: from mail-ob0-f175.google.com (HELO mail-ob0-f175.google.com) (209.85.214.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 13 Jan 2015 23:25:10 +0000 Received: by mail-ob0-f175.google.com with SMTP id va8so994422obc.6 for ; Tue, 13 Jan 2015 15:25:08 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.202.191.194 with SMTP id p185mr549954oif.128.1421191508197; Tue, 13 Jan 2015 15:25:08 -0800 (PST) Received: by 10.76.185.7 with HTTP; Tue, 13 Jan 2015 15:25:08 -0800 (PST) In-Reply-To: <20150113130327.GA18618@gmail.com> References: <4827012.p4mTkPPu1h@laptop1.gw.ume.nu> <2546517.6r217PbQ20@laptop1.gw.ume.nu> <3640063.8rDKLvUbS6@laptop1.gw.ume.nu> <1625902.vd5h90ZESU@laptop1.gw.ume.nu> <20150112161023.GA6392@gmail.com> <20150113130327.GA18618@gmail.com> Date: Wed, 14 Jan 2015 00:03:00 -0000 Message-ID: Subject: Re: [PATCH]: New configure options that make the compiler use -fPIE and -pie as default option From: "H.J. Lu" To: Joseph Myers Cc: Richard Biener , Magnus Granberg , GCC Patches , danielmicay Content-Type: multipart/mixed; boundary=001a113d6a52011f8f050c90ef75 X-IsSubscribed: yes X-SW-Source: 2015-01/txt/msg00958.txt.bz2 --001a113d6a52011f8f050c90ef75 Content-Type: text/plain; charset=UTF-8 Content-length: 4139 On Tue, Jan 13, 2015 at 5:03 AM, H.J. Lu wrote: > On Mon, Jan 12, 2015 at 11:50:41PM +0000, Joseph Myers wrote: >> On Mon, 12 Jan 2015, H.J. Lu wrote: >> >> > +if test x$enable_default_pie = xyes; then >> > + AC_MSG_CHECKING(if $target supports default PIE) >> > + enable_default_pie=no >> > + case $target in >> > + i?86*-*-linux* | x86_64*-*-linux*) >> > + saved_LDFLAGS="$LDFLAGS" >> > + saved_CFLAGS="$CFLAGS" >> > + CFLAGS="$CFLAGS -fPIE" >> > + LDFLAGS="$LDFLAGS -fPIE -pie" >> > + AC_TRY_LINK(,,[enable_default_pie=yes],) >> > + LDFLAGS="$saved_LDFLAGS" >> > + CFLAGS="$saved_CFLAGS" >> > + ;; >> > + *) >> > + ;; >> > + esac >> >> There should not be any such hardcoding of targets here without concrete >> evidence that the targets for which this sets enable_default_pie=no really >> cannot support PIE. In particular, there is no reason at all for this to >> be architecture-specific; all GNU/Linux architectures should support PIE. >> >> I believe AC_TRY_LINK here will test for the host, whereas what you want >> to know is what's supported for the target (but it's not possible to run >> link tests for the target at this point; the compiler for the target >> hasn't even been built). >> >> So: just presume that if the user passes --enable-default-pie then they >> know what they are doing, and don't try to override their choice. >> >> > diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi >> > index c9e3bf1..89fc305 100644 >> > --- a/gcc/doc/install.texi >> > +++ b/gcc/doc/install.texi >> > @@ -1583,6 +1583,10 @@ not be built. >> > Specify that the run-time libraries for stack smashing protection >> > should not be built. >> > >> > +@item --enable-default-pie >> > +Turn on @option{-fPIE} and @option{-pie} by default if supported. >> > +Currently supported targets are i?86-*-linux* and x86-64-*-linux*. >> >> The "if supported" and target list can then be removed here. >> > > Here is the updated patch. To support --enable-default-pie, each target > must update STARTFILE_SPEC to support PIE_SPEC and NO_PIE_SPEC. I can > provide STARTFILE_SPEC patch if needed. > > Thanks. > > > H.J. > --- > gcc/ > > 2015-01-12 Magnus Granberg > H.J. Lu > > * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@. > (LINKER): Add @NO_PIE_FLAG@. > (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for > --enable-default-pie. > * common.opt (fPIE): Initialize to -1. > (fpie): Likewise. > (static): Add "RejectNegative Negative(shared)". > (no-pie): New option. > (pie): Replace "Negative(shared)" with "Negative(no-pie)". > * configure.ac: Add --enable-default-pie. > (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST. > (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST. > * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE. > * gcc.c (NO_PIE_SPEC): New. > (PIE_SPEC): Likewise. > (LD_PIE_SPEC): Likewise. > (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC. > * opts.c (DEFAULT_FLAG_PIE): New. Set to 0 if ENABLE_DEFAULT_PIE > is undefined. > (finish_options): Update opts->x_flag_pie if it is -1. > * config/gnu-user.h (FVTABLE_VERIFY_SPEC): New. > (GNU_USER_TARGET_STARTFILE_SPEC): Use FVTABLE_VERIFY_SPEC. Use > NO_PIE_SPEC and NO_PIE_SPEC if ENABLE_DEFAULT_PIE is defined. > (GNU_USER_TARGET_STARTFILE_SPEC): Use FVTABLE_VERIFY_SPEC. > * doc/install.texi: Document --enable-default-pie. > * doc/invoke.texi: Document -no-pie. > * config.in: Regenerated. > * configure: Likewise. > > gcc/ada/ > > 2015-01-12 H.J. Lu > > * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@. > > libgcc/ > > 2015-01-12 H.J. Lu > > * Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS). > This is the updated patch. I fixed the -r regression. LTO tests pass now. -- H.J. --001a113d6a52011f8f050c90ef75 Content-Type: text/x-patch; charset=US-ASCII; name="pie.patch" Content-Disposition: attachment; filename="pie.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i4vwnlvt0 Content-length: 20297 Z2NjLwoKMjAxNS0wMS0xMiAgTWFnbnVzIEdyYW5iZXJnICA8em9ycnlAZ2Vu dG9vLm9yZz4KCSAgICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+ CgoJKiBNYWtlZmlsZS5pbiAoQ09NUElMRVIpOiBBZGQgQE5PX1BJRV9DRkxB R1NALgoJKExJTktFUik6IEFkZCBATk9fUElFX0ZMQUdALgoJKGxpYmdjYy5t dmFycyk6IFNldCBOT19QSUVfQ0ZMQUdTIHRvIC1mbm8tUElFIGZvcgoJLS1l bmFibGUtZGVmYXVsdC1waWUuCgkqIGNvbW1vbi5vcHQgKGZQSUUpOiBJbml0 aWFsaXplIHRvIC0xLgoJKGZwaWUpOiBMaWtld2lzZS4KCShuby1waWUpOiBO ZXcgb3B0aW9uLgoJKHBpZSk6IFJlcGxhY2UgIk5lZ2F0aXZlKHNoYXJlZCki IHdpdGggIk5lZ2F0aXZlKG5vLXBpZSkiLgoJKiBjb25maWd1cmUuYWM6IEFk ZCAtLWVuYWJsZS1kZWZhdWx0LXBpZS4KCShOT19QSUVfQ0ZMQUdTKTogTmV3 LiAgQ2hlY2sgaWYgLWZuby1QSUUgd29ya3MuICBBQ19TVUJTVC4KCShOT19Q SUVfRkxBRyk6IE5ldy4gIENoZWNrIGlmIC1uby1waWUgd29ya3MuICBBQ19T VUJTVC4KCSogZGVmYXVsdHMuaCAoREVGQVVMVF9GTEFHX1BJRSk6IE5ldy4g IERlZmF1bHQgUElFIHRvIC1mUElFLgoJKiBnY2MuYyAoTk9fUElFX1NQRUMp OiBOZXcuCgkoUElFX1NQRUMpOiBMaWtld2lzZS4KCShMRF9QSUVfU1BFQyk6 IExpa2V3aXNlLgoJKExJTktfUElFX1NQRUMpOiBIYW5kbGUgLW5vLXBpZS4g IFVzZSBQSUVfU1BFQyBhbmQgTERfUElFX1NQRUMuCgkqIG9wdHMuYyAoREVG QVVMVF9GTEFHX1BJRSk6IE5ldy4gIFNldCB0byAwIGlmIEVOQUJMRV9ERUZB VUxUX1BJRQoJaXMgdW5kZWZpbmVkLgoJKGZpbmlzaF9vcHRpb25zKTogVXBk YXRlIG9wdHMtPnhfZmxhZ19waWUgaWYgaXQgaXMgLTEuCgkqIGNvbmZpZy9n bnUtdXNlci5oIChGVlRBQkxFX1ZFUklGWV9TUEVDKTogTmV3LgoJKEdOVV9V U0VSX1RBUkdFVF9TVEFSVEZJTEVfU1BFQyk6IFVzZSBGVlRBQkxFX1ZFUklG WV9TUEVDLiAgVXNlCglQSUVfU1BFQyBhbmQgTk9fUElFX1NQRUMgaWYgRU5B QkxFX0RFRkFVTFRfUElFIGlzIGRlZmluZWQuCgkoR05VX1VTRVJfVEFSR0VU X1NUQVJURklMRV9TUEVDKTogVXNlIEZWVEFCTEVfVkVSSUZZX1NQRUMuCgkq IGRvYy9pbnN0YWxsLnRleGk6IERvY3VtZW50IC0tZW5hYmxlLWRlZmF1bHQt cGllLgoJKiBkb2MvaW52b2tlLnRleGk6IERvY3VtZW50IC1uby1waWUuCgkq IGNvbmZpZy5pbjogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZ3VyZTogTGlrZXdp c2UuCgpnY2MvYWRhLwoKMjAxNS0wMS0xMiAgSC5KLiBMdSAgPGhvbmdqaXUu bHVAaW50ZWwuY29tPgoKCSogZ2NjLWludGVyZmFjZS9NYWtlZmlsZS5pbiAo VE9PTFNfTElCUyk6IEFkZCBATk9fUElFX0ZMQUdALgoKbGliZ2NjLwoKMjAx NS0wMS0xMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSog TWFrZWZpbGUuaW4gKENSVFNUVUZGX0NGTEFHUyk6IEFkZCAkKE5PX1BJRV9D RkxBR1MpLgoKZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9N YWtlZmlsZS5pbgppbmRleCA1ZjkyNjFmLi4xODA3NTFmIDEwMDY0NAotLS0g YS9nY2MvTWFrZWZpbGUuaW4KKysrIGIvZ2NjL01ha2VmaWxlLmluCkBAIC0y NTIsNiArMjUyLDEyIEBAIExJTktFUiA9ICQoQ0MpCiBMSU5LRVJfRkxBR1Mg PSAkKENGTEFHUykKIGVuZGlmCiAKKyMgV2UgZG9uJ3Qgd2FudCB0byBjb21w aWxlIHRoZSBjb21waWxlciB3aXRoIC1mUElFLCBpdCBtYWtlIFBDSCBmYWls LgorQ09NUElMRVIgKz0gQE5PX1BJRV9DRkxBR1NACisKKyMgTGluayB3aXRo IC1uby1waWUgc2luY2Ugd2UgY29tcGlsZSB0aGUgY29tcGlsZXIgd2l0aCAt Zm5vLVBJRS4KK0xJTktFUiArPSBATk9fUElFX0ZMQUdACisKICMgTGlrZSBM SU5LRVIsIGJ1dCB1c2UgYSBtdXRleCBmb3Igc2VyaWFsaXppbmcgZnJvbnQg ZW5kIGxpbmtzLgogaWZlcSAoQERPX0xJTktfTVVURVhALHRydWUpCiBMTElO S0VSID0gJChTSEVMTCkgJChzcmNkaXIpL2xvY2stYW5kLXJ1bi5zaCBsaW5r ZmUubGNrICQoTElOS0VSKQpAQCAtMTg1NCw2ICsxODYwLDEyIEBAIGxpYmdj Yy5tdmFyczogY29uZmlnLnN0YXR1cyBNYWtlZmlsZSBzcGVjcyB4Z2NjJChl eGVleHQpCiAJZWNobyBHQ0NfQ0ZMQUdTID0gJyQoR0NDX0NGTEFHUyknID4+ IHRtcC1saWJnY2MubXZhcnMKIAllY2hvIElOSElCSVRfTElCQ19DRkxBR1Mg PSAnJChJTkhJQklUX0xJQkNfQ0ZMQUdTKScgPj4gdG1wLWxpYmdjYy5tdmFy cwogCWVjaG8gVEFSR0VUX1NZU1RFTV9ST09UID0gJyQoVEFSR0VUX1NZU1RF TV9ST09UKScgPj4gdG1wLWxpYmdjYy5tdmFycworCWlmIHRlc3QgQGVuYWJs ZV9kZWZhdWx0X3BpZUAgPSB5ZXM7IHRoZW4gXAorCSAgTk9fUElFX0NGTEFH Uz0iLWZuby1QSUUiOyBcCisJZWxzZSBcCisJICBOT19QSUVfQ0ZMQUdTPTsg XAorCWZpOyBcCisJZWNobyBOT19QSUVfQ0ZMQUdTID0gIiQkTk9fUElFX0NG TEFHUyIgPj4gdG1wLWxpYmdjYy5tdmFycwogCiAJbXYgdG1wLWxpYmdjYy5t dmFycyBsaWJnY2MubXZhcnMKIApkaWZmIC0tZ2l0IGEvZ2NjL2FkYS9nY2Mt aW50ZXJmYWNlL01ha2VmaWxlLmluIGIvZ2NjL2FkYS9nY2MtaW50ZXJmYWNl L01ha2VmaWxlLmluCmluZGV4IDg3MGNmYWIuLmE0NDZkNDggMTAwNjQ0Ci0t LSBhL2djYy9hZGEvZ2NjLWludGVyZmFjZS9NYWtlZmlsZS5pbgorKysgYi9n Y2MvYWRhL2djYy1pbnRlcmZhY2UvTWFrZWZpbGUuaW4KQEAgLTI2Nyw2ICsy NjcsOSBAQCBUT09MU19MSUJTID0gLi4vbGluay5vIC4uL3RhcmdleHQubyAu Li8uLi9nZ2Mtbm9uZS5vIC4uLy4uL2xpYmNvbW1vbi10YXJnZXQuYSBcCiAg IC4uLy4uL2xpYmNvbW1vbi5hIC4uLy4uLy4uL2xpYmNwcC9saWJjcHAuYSAk KExJQkdOQVQpICQoTElCSU5UTCkgJChMSUJJQ09OVikgXAogICAuLi8kKExJ QkJBQ0tUUkFDRSkgLi4vJChMSUJJQkVSVFkpICQoU1lTTElCUykgJChUR1Rf TElCKQogCisjIEFkZCAtbm8tcGllIHRvIFRPT0xTX0xJQlMgc2luY2Ugc29t ZSBvZiB0aGVtIGFyZSBjb21waWxlZCB3aXRoIC1mbm8tUElFLgorVE9PTFNf TElCUyArPSBATk9fUElFX0ZMQUdACisKICMgU3BlY2lmeSB0aGUgZGlyZWN0 b3JpZXMgdG8gYmUgc2VhcmNoZWQgZm9yIGhlYWRlciBmaWxlcy4KICMgQm90 aCAuIGFuZCBzcmNkaXIgYXJlIHVzZWQsIGluIHRoYXQgb3JkZXIsCiAjIHNv IHRoYXQgdG0uaCBhbmQgY29uZmlnLmggd2lsbCBiZSBmb3VuZCBpbiB0aGUg Y29tcGlsYXRpb24KZGlmZiAtLWdpdCBhL2djYy9jb21tb24ub3B0IGIvZ2Nj L2NvbW1vbi5vcHQKaW5kZXggZTEwNDI2OS4uNDdmOWZhMiAxMDA2NDQKLS0t IGEvZ2NjL2NvbW1vbi5vcHQKKysrIGIvZ2NjL2NvbW1vbi5vcHQKQEAgLTE3 NTUsNyArMTc1NSw3IEBAIENvbW1vbiBSZXBvcnQgVmFyKGZsYWdfcGljLDIp IE5lZ2F0aXZlKGZQSUUpCiBHZW5lcmF0ZSBwb3NpdGlvbi1pbmRlcGVuZGVu dCBjb2RlIGlmIHBvc3NpYmxlIChsYXJnZSBtb2RlKQogCiBmUElFCi1Db21t b24gUmVwb3J0IFZhcihmbGFnX3BpZSwyKSBOZWdhdGl2ZShmcGljKQorQ29t bW9uIFJlcG9ydCBWYXIoZmxhZ19waWUsMikgTmVnYXRpdmUoZnBpYykgSW5p dCgtMSkKIEdlbmVyYXRlIHBvc2l0aW9uLWluZGVwZW5kZW50IGNvZGUgZm9y IGV4ZWN1dGFibGVzIGlmIHBvc3NpYmxlIChsYXJnZSBtb2RlKQogCiBmcGlj CkBAIC0xNzYzLDcgKzE3NjMsNyBAQCBDb21tb24gUmVwb3J0IFZhcihmbGFn X3BpYywxKSBOZWdhdGl2ZShmcGllKQogR2VuZXJhdGUgcG9zaXRpb24taW5k ZXBlbmRlbnQgY29kZSBpZiBwb3NzaWJsZSAoc21hbGwgbW9kZSkKIAogZnBp ZQotQ29tbW9uIFJlcG9ydCBWYXIoZmxhZ19waWUsMSkgTmVnYXRpdmUoZlBJ QykKK0NvbW1vbiBSZXBvcnQgVmFyKGZsYWdfcGllLDEpIE5lZ2F0aXZlKGZQ SUMpIEluaXQoLTEpCiBHZW5lcmF0ZSBwb3NpdGlvbi1pbmRlcGVuZGVudCBj b2RlIGZvciBleGVjdXRhYmxlcyBpZiBwb3NzaWJsZSAoc21hbGwgbW9kZSkK IAogZnBsdWdpbj0KQEAgLTI4MjMsOCArMjgyMywxMiBAQCBEcml2ZXIKIHN5 bWJvbGljCiBEcml2ZXIKIAotcGllCituby1waWUKIERyaXZlciBSZWplY3RO ZWdhdGl2ZSBOZWdhdGl2ZShzaGFyZWQpCitEb24ndCBjcmVhdGUgYSBwb3Np dGlvbiBpbmRlcGVuZGVudCBleGVjdXRhYmxlCisKK3BpZQorRHJpdmVyIFJl amVjdE5lZ2F0aXZlIE5lZ2F0aXZlKG5vLXBpZSkKIENyZWF0ZSBhIHBvc2l0 aW9uIGluZGVwZW5kZW50IGV4ZWN1dGFibGUKIAogegpkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy5pbiBiL2djYy9jb25maWcuaW4KaW5kZXggZjM0YWRiNS4u M2ZjMDE4YSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy5pbgorKysgYi9nY2Mv Y29uZmlnLmluCkBAIC04OSw2ICs4OSwxMiBAQAogI2VuZGlmCiAKIAorLyog RGVmaW5lIGlmIHlvdXIgdGFyZ2V0IHN1cHBvcnRzIGRlZmF1bHQgUElFIGFu ZCBpdCBpcyBlbmFibGVkLiAqLworI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQK KyN1bmRlZiBFTkFCTEVfREVGQVVMVF9QSUUKKyNlbmRpZgorCisKIC8qIERl ZmluZSBpZiB5b3Ugd2FudCBtb3JlIHJ1bi10aW1lIHNhbml0eSBjaGVja3Mg Zm9yIGRhdGFmbG93LiAqLwogI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQKICN1 bmRlZiBFTkFCTEVfREZfQ0hFQ0tJTkcKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvZ251LXVzZXIuaCBiL2djYy9jb25maWcvZ251LXVzZXIuaAppbmRleCAy ZmFhMmU1Li41Y2JlNWRhIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2dudS11 c2VyLmgKKysrIGIvZ2NjL2NvbmZpZy9nbnUtdXNlci5oCkBAIC00MSwxOSAr NDEsMjkgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5S VU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCiAgICBvYmplY3Qg Y29uc3RydWN0ZWQgYmVmb3JlIGVudGVyaW5nIGBtYWluJy4gICovCiAKICNp ZiBkZWZpbmVkIEhBVkVfTERfUElFCi0jZGVmaW5lIEdOVV9VU0VSX1RBUkdF VF9TVEFSVEZJTEVfU1BFQyBcCi0gICIleyFzaGFyZWQ6ICV7cGd8cHxwcm9m aWxlOmdjcnQxLm8lcztwaWU6U2NydDEubyVzOzpjcnQxLm8lc319IFwKLSAg IGNydGkubyVzICV7c3RhdGljOmNydGJlZ2luVC5vJXM7c2hhcmVkfHBpZTpj cnRiZWdpblMubyVzOzpjcnRiZWdpbi5vJXN9IFwKLSAgICV7ZnZ0YWJsZS12 ZXJpZnk9bm9uZTolczsgXAorI2RlZmluZSBGVlRBQkxFX1ZFUklGWV9TUEVD IFwKKyAgIiV7ZnZ0YWJsZS12ZXJpZnk9bm9uZTolczsgXAogICAgICBmdnRh YmxlLXZlcmlmeT1wcmVpbml0OnZ0dl9zdGFydF9wcmVpbml0Lm8lczsgXAog ICAgICBmdnRhYmxlLXZlcmlmeT1zdGQ6dnR2X3N0YXJ0Lm8lc30iCisjaWYg ZGVmaW5lZCBFTkFCTEVfREVGQVVMVF9QSUUKKyNkZWZpbmUgR05VX1VTRVJf VEFSR0VUX1NUQVJURklMRV9TUEVDIFwKKyAgIiV7IXNoYXJlZDogJXtwZ3xw fHByb2ZpbGU6Z2NydDEubyVzOzogXAorICAgICV7IiBQSUVfU1BFQyAiOlNj cnQxLm8lc30gJXsiIE5PX1BJRV9TUEVDICI6Y3J0MS5vJXN9fX0gXAorICAg Y3J0aS5vJXMgJXtzdGF0aWM6Y3J0YmVnaW5ULm8lczs6ICV7c2hhcmVkOmNy dGJlZ2luUy5vJXN9IFwKKwkgICAgICAleyIgUElFX1NQRUMgIjpjcnRiZWdp blMubyVzfSBcCisJICAgICAgJXsiIE5PX1BJRV9TUEVDICI6Y3J0YmVnaW4u byVzfX0iIFwKKyAgIEZWVEFCTEVfVkVSSUZZX1NQRUMKKyNlbHNlCisjZGVm aW5lIEdOVV9VU0VSX1RBUkdFVF9TVEFSVEZJTEVfU1BFQyBcCisgICIleyFz aGFyZWQ6ICV7cGd8cHxwcm9maWxlOmdjcnQxLm8lcztwaWU6U2NydDEubyVz OzpjcnQxLm8lc319IFwKKyAgIGNydGkubyVzICV7c3RhdGljOmNydGJlZ2lu VC5vJXM7c2hhcmVkfHBpZTpjcnRiZWdpblMubyVzOzpjcnRiZWdpbi5vJXN9 IiBcCisgICBGVlRBQkxFX1ZFUklGWV9TUEVDCisjZW5kaWYKICNlbHNlCiAj ZGVmaW5lIEdOVV9VU0VSX1RBUkdFVF9TVEFSVEZJTEVfU1BFQyBcCiAgICIl eyFzaGFyZWQ6ICV7cGd8cHxwcm9maWxlOmdjcnQxLm8lczs6Y3J0MS5vJXN9 fSBcCi0gICBjcnRpLm8lcyAle3N0YXRpYzpjcnRiZWdpblQubyVzO3NoYXJl ZHxwaWU6Y3J0YmVnaW5TLm8lczs6Y3J0YmVnaW4ubyVzfSBcCi0gICAle2Z2 dGFibGUtdmVyaWZ5PW5vbmU6JXM7IFwKLSAgICAgZnZ0YWJsZS12ZXJpZnk9 cHJlaW5pdDp2dHZfc3RhcnRfcHJlaW5pdC5vJXM7IFwKLSAgICAgZnZ0YWJs ZS12ZXJpZnk9c3RkOnZ0dl9zdGFydC5vJXN9IgorICAgY3J0aS5vJXMgJXtz dGF0aWM6Y3J0YmVnaW5ULm8lcztzaGFyZWR8cGllOmNydGJlZ2luUy5vJXM7 OmNydGJlZ2luLm8lc30iIFwKKyAgIEZWVEFCTEVfVkVSSUZZX1NQRUMKICNl bmRpZgogI3VuZGVmICBTVEFSVEZJTEVfU1BFQwogI2RlZmluZSBTVEFSVEZJ TEVfU1BFQyBHTlVfVVNFUl9UQVJHRVRfU1RBUlRGSUxFX1NQRUMKZGlmZiAt LWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCmluZGV4IDFi ZjQzNTguLjk4MGM2ODAgMTAwNzU1Ci0tLSBhL2djYy9jb25maWd1cmUKKysr IGIvZ2NjL2NvbmZpZ3VyZQpAQCAtNjAwLDYgKzYwMCw5IEBAIGFjX2luY2x1 ZGVzX2RlZmF1bHQ9IlwKIAogYWNfc3Vic3RfdmFycz0nTFRMSUJPQkpTCiBM SUJPQkpTCitOT19QSUVfRkxBRworTk9fUElFX0NGTEFHUworZW5hYmxlX2Rl ZmF1bHRfcGllCiBQSUNGTEFHCiBlbmFibGVfaG9zdF9zaGFyZWQKIGVuYWJs ZV9wbHVnaW4KQEAgLTkzNyw2ICs5NDAsNyBAQCBlbmFibGVfaG9zdF9zaGFy ZWQKIGVuYWJsZV9saWJxdWFkbWF0aF9zdXBwb3J0CiB3aXRoX2xpbmtlcl9o YXNoX3N0eWxlCiB3aXRoX2RpYWdub3N0aWNzX2NvbG9yCitlbmFibGVfZGVm YXVsdF9waWUKICcKICAgICAgIGFjX3ByZWNpb3VzX3ZhcnM9J2J1aWxkX2Fs aWFzCiBob3N0X2FsaWFzCkBAIC0xNjY1LDYgKzE2NjksNyBAQCBPcHRpb25h bCBGZWF0dXJlczoKICAgLS1lbmFibGUtaG9zdC1zaGFyZWQgICAgYnVpbGQg aG9zdCBjb2RlIGFzIHNoYXJlZCBsaWJyYXJpZXMKICAgLS1kaXNhYmxlLWxp YnF1YWRtYXRoLXN1cHBvcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGlzYWJsZSBsaWJxdWFkbWF0aCBzdXBwb3J0IGZvciBGb3J0cmFuCisgIC0t ZW5hYmxlLWRlZmF1bHQtcGllICAgIGVuYWJsZSBQb3NpdGlvbiBJbmRlcGVu ZGVudCBFeGVjdXRhYmxlIGFzIGRlZmF1bHQKIAogT3B0aW9uYWwgUGFja2Fn ZXM6CiAgIC0td2l0aC1QQUNLQUdFWz1BUkddICAgIHVzZSBQQUNLQUdFIFtB Ukc9eWVzXQpAQCAtMTgxNDcsNyArMTgxNTIsNyBAQCBlbHNlCiAgIGx0X2Rs dW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3Jl PTIKICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRl c3QuJGFjX2V4dCA8PF9MVF9FT0YKLSNsaW5lIDE4MTUwICJjb25maWd1cmUi CisjbGluZSAxODE1NSAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZz LmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTE4MjUzLDcgKzE4MjU4LDcg QEAgZWxzZQogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsg bHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3du CiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAx ODI1NiAiY29uZmlndXJlIgorI2xpbmUgMTgyNjEgImNvbmZpZ3VyZSIKICNp bmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0y ODQzMiw2ICsyODQzNyw3NiBAQCBjYXQgPiBnY2MtZHJpdmVyLW5hbWUuaCA8 PEVPRgogI2RlZmluZSBHQ0NfRFJJVkVSX05BTUUgIiR7dGFyZ2V0X25vbmNh bm9uaWNhbH0tZ2NjLSR7Z2NjX0JBU0VWRVJ9JHtleGVleHR9IgogRU9GCiAK KyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1kZWZhdWx0LXBpZSB3YXMgZ2l2 ZW4gYW5kIHRhcmdldCBoYXZlIHRoZSBzdXBwb3J0LgorIyBDaGVjayB3aGV0 aGVyIC0tZW5hYmxlLWRlZmF1bHQtcGllIHdhcyBnaXZlbi4KK2lmIHRlc3Qg IiR7ZW5hYmxlX2RlZmF1bHRfcGllK3NldH0iID0gc2V0OyB0aGVuIDoKKyAg ZW5hYmxldmFsPSRlbmFibGVfZGVmYXVsdF9waWU7IGVuYWJsZV9kZWZhdWx0 X3BpZT0kZW5hYmxldmFsCitlbHNlCisgIGVuYWJsZV9kZWZhdWx0X3BpZT1u bworZmkKKworaWYgdGVzdCB4JGVuYWJsZV9kZWZhdWx0X3BpZSA9PSB4eWVz IDsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBFTkFCTEVfREVGQVVMVF9Q SUUgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKKworIyBDaGVjayBpZiAtZm5v LVBJRSB3b3Jrcy4KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogY2hlY2tpbmcgZm9yIC1mbm8tUElFIG9wdGlvbiIgPiY1Cisk YXNfZWNob19uICJjaGVja2luZyBmb3IgLWZuby1QSUUgb3B0aW9uLi4uICIg PiY2OyB9CitpZiB0ZXN0ICIke2djY19jdl9jX25vX2ZwaWUrc2V0fSIgPSBz ZXQ7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxz ZQorICBzYXZlZF9DRkxBR1M9IiRDRkxBR1MiCisgICBDRkxBR1M9IiRDRkxB R1MgLWZuby1QSUUiCisgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5j b25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCitpbnQg bWFpbih2b2lkKSB7cmV0dXJuIDA7fQorX0FDRU9GCitpZiBhY19mbl9jX3Ry eV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIGdjY19jdl9jX25vX2Zw aWU9eWVzCitlbHNlCisgIGdjY19jdl9jX25vX2ZwaWU9bm8KK2ZpCitybSAt ZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0 ZXN0LiRhY19leHQKKyAgIENGTEFHUz0iJHNhdmVkX0NGTEFHUyIKK2ZpCit7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogJGdjY19jdl9jX25vX2ZwaWUiID4mNQorJGFzX2VjaG8gIiRnY2NfY3Zf Y19ub19mcGllIiA+JjY7IH0KK2lmIHRlc3QgIiRnY2NfY3ZfY19ub19mcGll IiA9ICJ5ZXMiOyB0aGVuCisgIE5PX1BJRV9DRkxBR1M9Ii1mbm8tUElFIgor ZmkKKworCisjIENoZWNrIGlmIC1uby1waWUgd29ya3MuCit7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAt bm8tcGllIG9wdGlvbiIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3Ig LW5vLXBpZSBvcHRpb24uLi4gIiA+JjY7IH0KK2lmIHRlc3QgIiR7Z2NjX2N2 X25vX3BpZStzZXR9IiA9IHNldDsgdGhlbiA6CisgICRhc19lY2hvX24gIihj YWNoZWQpICIgPiY2CitlbHNlCisgIHNhdmVkX0xERkxBR1M9IiRMREZMQUdT IgorICAgTERGTEFHUz0iJExERkxBR1MgLW5vLXBpZSIKKyAgIGNhdCBjb25m ZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBj b25mZGVmcy5oLiAgKi8KK2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9Citf QUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoK KyAgZ2NjX2N2X25vX3BpZT15ZXMKK2Vsc2UKKyAgZ2NjX2N2X25vX3BpZT1u bworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19v YmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNf ZXh0CisgICBMREZMQUdTPSIkc2F2ZWRfTERGTEFHUyIKK2ZpCit7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGdj Y19jdl9ub19waWUiID4mNQorJGFzX2VjaG8gIiRnY2NfY3Zfbm9fcGllIiA+ JjY7IH0KK2lmIHRlc3QgIiRnY2NfY3Zfbm9fcGllIiA9ICJ5ZXMiOyB0aGVu CisgIE5PX1BJRV9GTEFHPSItbm8tcGllIgorZmkKKworCiAjIENvbmZpZ3Vy ZSB0aGUgc3ViZGlyZWN0b3JpZXMKICMgQUNfQ09ORklHX1NVQkRJUlMoJHN1 YmRpcnMpCiAKZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2Mv Y29uZmlndXJlLmFjCmluZGV4IDEwMmRhYjkuLmU2ZGE5NjAgMTAwNjQ0Ci0t LSBhL2djYy9jb25maWd1cmUuYWMKKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwpA QCAtNTc1OSw2ICs1NzU5LDQ2IEBAIGNhdCA+IGdjYy1kcml2ZXItbmFtZS5o IDw8RU9GCiAjZGVmaW5lIEdDQ19EUklWRVJfTkFNRSAiJHt0YXJnZXRfbm9u Y2Fub25pY2FsfS1nY2MtJHtnY2NfQkFTRVZFUn0ke2V4ZWV4dH0iCiBFT0YK IAorIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWRlZmF1bHQtcGllIHdhcyBn aXZlbiBhbmQgdGFyZ2V0IGhhdmUgdGhlIHN1cHBvcnQuCitBQ19BUkdfRU5B QkxFKGRlZmF1bHQtcGllLAorW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1k ZWZhdWx0LXBpZV0sCisgIFtlbmFibGUgUG9zaXRpb24gSW5kZXBlbmRlbnQg RXhlY3V0YWJsZSBhcyBkZWZhdWx0XSldLAorZW5hYmxlX2RlZmF1bHRfcGll PSRlbmFibGV2YWwsCitlbmFibGVfZGVmYXVsdF9waWU9bm8pCitpZiB0ZXN0 IHgkZW5hYmxlX2RlZmF1bHRfcGllID09IHh5ZXMgOyB0aGVuCisgIEFDX0RF RklORShFTkFCTEVfREVGQVVMVF9QSUUsIDEsCisgICAgICBbRGVmaW5lIGlm IHlvdXIgdGFyZ2V0IHN1cHBvcnRzIGRlZmF1bHQgUElFIGFuZCBpdCBpcyBl bmFibGVkLl0pCitmaQorQUNfU1VCU1QoW2VuYWJsZV9kZWZhdWx0X3BpZV0p CisKKyMgQ2hlY2sgaWYgLWZuby1QSUUgd29ya3MuCitBQ19DQUNIRV9DSEVD SyhbZm9yIC1mbm8tUElFIG9wdGlvbl0sCisgIFtnY2NfY3ZfY19ub19mcGll XSwKKyAgW3NhdmVkX0NGTEFHUz0iJENGTEFHUyIKKyAgIENGTEFHUz0iJENG TEFHUyAtZm5vLVBJRSIKKyAgIEFDX0NPTVBJTEVfSUZFTFNFKFtpbnQgbWFp bih2b2lkKSB7cmV0dXJuIDA7fV0sCisgICAgIFtnY2NfY3ZfY19ub19mcGll PXllc10sCisgICAgIFtnY2NfY3ZfY19ub19mcGllPW5vXSkKKyAgIENGTEFH Uz0iJHNhdmVkX0NGTEFHUyJdKQoraWYgdGVzdCAiJGdjY19jdl9jX25vX2Zw aWUiID0gInllcyI7IHRoZW4KKyAgTk9fUElFX0NGTEFHUz0iLWZuby1QSUUi CitmaQorQUNfU1VCU1QoW05PX1BJRV9DRkxBR1NdKQorCisjIENoZWNrIGlm IC1uby1waWUgd29ya3MuCitBQ19DQUNIRV9DSEVDSyhbZm9yIC1uby1waWUg b3B0aW9uXSwKKyAgW2djY19jdl9ub19waWVdLAorICBbc2F2ZWRfTERGTEFH Uz0iJExERkxBR1MiCisgICBMREZMQUdTPSIkTERGTEFHUyAtbm8tcGllIgor ICAgQUNfTElOS19JRkVMU0UoW2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9 XSwKKyAgICAgW2djY19jdl9ub19waWU9eWVzXSwKKyAgICAgW2djY19jdl9u b19waWU9bm9dKQorICAgTERGTEFHUz0iJHNhdmVkX0xERkxBR1MiXSkKK2lm IHRlc3QgIiRnY2NfY3Zfbm9fcGllIiA9ICJ5ZXMiOyB0aGVuCisgIE5PX1BJ RV9GTEFHPSItbm8tcGllIgorZmkKK0FDX1NVQlNUKFtOT19QSUVfRkxBR10p CisKICMgQ29uZmlndXJlIHRoZSBzdWJkaXJlY3RvcmllcwogIyBBQ19DT05G SUdfU1VCRElSUygkc3ViZGlycykKIApkaWZmIC0tZ2l0IGEvZ2NjL2RlZmF1 bHRzLmggYi9nY2MvZGVmYXVsdHMuaAppbmRleCA1Y2VmOTJjLi45NzAwNDBl IDEwMDY0NAotLS0gYS9nY2MvZGVmYXVsdHMuaAorKysgYi9nY2MvZGVmYXVs dHMuaApAQCAtMTE4Miw2ICsxMTgyLDEyIEBAIHNlZSB0aGUgZmlsZXMgQ09Q WUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBu b3QsIHNlZQogI2RlZmluZSBERUZBVUxUX1BDQ19TVFJVQ1RfUkVUVVJOIDEK ICNlbmRpZgogCisvKiBEZWZhdWx0IFBJRSB0byAtZlBJRS4gICovCisjaWZu ZGVmIERFRkFVTFRfRkxBR19QSUUKKyMgZGVmaW5lIERFRkFVTFRfRkxBR19Q SUUgMgorI2VuZGlmCisKKwogI2lmZGVmIEdDQ19JTlNOX0ZMQUdTX0gKIC8q IERlcGVuZGVudCBkZWZhdWx0IHRhcmdldCBtYWNybyBkZWZpbml0aW9ucwog CmRpZmYgLS1naXQgYS9nY2MvZG9jL2luc3RhbGwudGV4aSBiL2djYy9kb2Mv aW5zdGFsbC50ZXhpCmluZGV4IGM5ZTNiZjEuLmFhZWQ2YzcgMTAwNjQ0Ci0t LSBhL2djYy9kb2MvaW5zdGFsbC50ZXhpCisrKyBiL2djYy9kb2MvaW5zdGFs bC50ZXhpCkBAIC0xNTgzLDYgKzE1ODMsOSBAQCBub3QgYmUgYnVpbHQuCiBT cGVjaWZ5IHRoYXQgdGhlIHJ1bi10aW1lIGxpYnJhcmllcyBmb3Igc3RhY2sg c21hc2hpbmcgcHJvdGVjdGlvbgogc2hvdWxkIG5vdCBiZSBidWlsdC4KIAor QGl0ZW0gLS1lbmFibGUtZGVmYXVsdC1waWUKK1R1cm4gb24gQG9wdGlvbnst ZlBJRX0gYW5kIEBvcHRpb257LXBpZX0gYnkgZGVmYXVsdC4KKwogQGl0ZW0g LS1kaXNhYmxlLWxpYnF1YWRtYXRoCiBTcGVjaWZ5IHRoYXQgdGhlIEdDQyBx dWFkLXByZWNpc2lvbiBtYXRoIGxpYnJhcnkgc2hvdWxkIG5vdCBiZSBidWls dC4KIE9uIHNvbWUgc3lzdGVtcywgdGhlIGxpYnJhcnkgaXMgcmVxdWlyZWQg dG8gYmUgbGlua2FibGUgd2hlbiBidWlsZGluZwpkaWZmIC0tZ2l0IGEvZ2Nj L2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKaW5kZXgg ZDg0ZTNiNy4uN2I4ZWQ4OSAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9pbnZva2Uu dGV4aQorKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCkBAIC0xMDk3Myw2ICsx MDk3MywxMCBAQCBGb3IgcHJlZGljdGFibGUgcmVzdWx0cywgeW91IG11c3Qg YWxzbyBzcGVjaWZ5IHRoZSBzYW1lIHNldCBvZiBvcHRpb25zCiB1c2VkIGZv ciBjb21waWxhdGlvbiAoQG9wdGlvbnstZnBpZX0sIEBvcHRpb257LWZQSUV9 LAogb3IgbW9kZWwgc3Vib3B0aW9ucykgd2hlbiB5b3Ugc3BlY2lmeSB0aGlz IGxpbmtlciBvcHRpb24uCiAKK0BpdGVtIC1uby1waWUKK0BvcGluZGV4IG5v LXBpZQorRG9uJ3QgcHJvZHVjZSBhIHBvc2l0aW9uIGluZGVwZW5kZW50IGV4 ZWN1dGFibGUuCisKIEBpdGVtIC1yZHluYW1pYwogQG9waW5kZXggcmR5bmFt aWMKIFBhc3MgdGhlIGZsYWcgQG9wdGlvbnstZXhwb3J0LWR5bmFtaWN9IHRv IHRoZSBFTEYgbGlua2VyLCBvbiB0YXJnZXRzCmRpZmYgLS1naXQgYS9nY2Mv Z2NjLmMgYi9nY2MvZ2NjLmMKaW5kZXggNTVkMGZmMi4uZGIxNWY2OSAxMDA2 NDQKLS0tIGEvZ2NjL2djYy5jCisrKyBiL2djYy9nY2MuYwpAQCAtNzM0LDEy ICs3MzQsMjAgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBv dXRwdXQgZmlsZXMuICAqLwogI2VuZGlmCiAjZW5kaWYKIAorI2lmZGVmIEVO QUJMRV9ERUZBVUxUX1BJRQorI2RlZmluZSBOT19QSUVfU1BFQwkibm8tcGll fHN0YXRpYyIKKyNkZWZpbmUgUElFX1NQRUMJTk9fUElFX1NQRUMgInxyfHNo YXJlZDo7IgorI2Vsc2UKKyNkZWZpbmUgUElFX1NQRUMgInBpZSIKKyNlbmRp ZgorCiAjaWZuZGVmIExJTktfUElFX1NQRUMKICNpZmRlZiBIQVZFX0xEX1BJ RQotI2RlZmluZSBMSU5LX1BJRV9TUEVDICIle3BpZTotcGllfSAiCisjZGVm aW5lIExEX1BJRV9TUEVDICItcGllIgogI2Vsc2UKLSNkZWZpbmUgTElOS19Q SUVfU1BFQyAiJXtwaWU6fSAiCisjZGVmaW5lIExEX1BJRV9TUEVDICIiCiAj ZW5kaWYKKyNkZWZpbmUgTElOS19QSUVfU1BFQyAiJXtuby1waWU6fSAiICIl eyIgUElFX1NQRUMgIjoiIExEX1BJRV9TUEVDICJ9ICIKICNlbmRpZgogCiAj aWZuZGVmIExJTktfQlVJTERJRF9TUEVDCmRpZmYgLS1naXQgYS9nY2Mvb3B0 cy5jIGIvZ2NjL29wdHMuYwppbmRleCA4YTE2MTE2Li5lZTc2OWM4IDEwMDY0 NAotLS0gYS9nY2Mvb3B0cy5jCisrKyBiL2djYy9vcHRzLmMKQEAgLTczOCw4 ICs3MzgsMjIgQEAgZmluaXNoX29wdGlvbnMgKHN0cnVjdCBnY2Nfb3B0aW9u cyAqb3B0cywgc3RydWN0IGdjY19vcHRpb25zICpvcHRzX3NldCwKICAgICAg IG9wdHMtPnhfZmxhZ19zZWN0aW9uX2FuY2hvcnMgPSAwOwogICAgIH0KIAor I2lmbmRlZiBFTkFCTEVfREVGQVVMVF9QSUUKKyN1bmRlZiBERUZBVUxUX0ZM QUdfUElFCisjZGVmaW5lIERFRkFVTFRfRkxBR19QSUUgMAorI2VuZGlmCisK ICAgaWYgKCFvcHRzLT54X2ZsYWdfb3B0c19maW5pc2hlZCkKICAgICB7Cisg ICAgICAvKiBXZSBpbml0aWFsaXplIG9wdHMtPnhfZmxhZ19waWUgdG8gLTEg c28gdGhhdCB0YXJnZXRzIGNhbiBzZXQgYQorCSBkZWZhdWx0IHZhbHVlLiAg Ki8KKyAgICAgIGlmIChvcHRzLT54X2ZsYWdfcGllID09IC0xKQorCXsKKwkg IGlmIChvcHRzLT54X2ZsYWdfcGljID09IDApCisJICAgIG9wdHMtPnhfZmxh Z19waWUgPSBERUZBVUxUX0ZMQUdfUElFOworCSAgZWxzZQorCSAgICBvcHRz LT54X2ZsYWdfcGllID0gMDsKKwl9CiAgICAgICBpZiAob3B0cy0+eF9mbGFn X3BpZSkKIAlvcHRzLT54X2ZsYWdfcGljID0gb3B0cy0+eF9mbGFnX3BpZTsK ICAgICAgIGlmIChvcHRzLT54X2ZsYWdfcGljICYmICFvcHRzLT54X2ZsYWdf cGllKQpkaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2Nj L01ha2VmaWxlLmluCmluZGV4IGY2OTM4ODMuLjhkMTAzODYgMTAwNjQ0Ci0t LSBhL2xpYmdjYy9NYWtlZmlsZS5pbgorKysgYi9saWJnY2MvTWFrZWZpbGUu aW4KQEAgLTI4NCw3ICsyODQsNyBAQCBJTlRFUk5BTF9DRkxBR1MgPSAkKENG TEFHUykgJChMSUJHQ0MyX0NGTEFHUykgJChIT1NUX0xJQkdDQzJfQ0ZMQUdT KSBcCiAKICMgT3B0aW9ucyB0byB1c2Ugd2hlbiBjb21waWxpbmcgY3J0YmVn aW4vZW5kLgogQ1JUU1RVRkZfQ0ZMQUdTID0gLU8yICQoR0NDX0NGTEFHUykg JChJTkNMVURFUykgJChNVUxUSUxJQl9DRkxBR1MpIC1nMCBcCi0gIC1maW5o aWJpdC1zaXplLWRpcmVjdGl2ZSAtZm5vLWlubGluZSAtZm5vLWV4Y2VwdGlv bnMgXAorICAkKE5PX1BJRV9DRkxBR1MpIC1maW5oaWJpdC1zaXplLWRpcmVj dGl2ZSAtZm5vLWlubGluZSAtZm5vLWV4Y2VwdGlvbnMgXAogICAtZm5vLXpl cm8taW5pdGlhbGl6ZWQtaW4tYnNzIC1mbm8tdG9wbGV2ZWwtcmVvcmRlciAt Zm5vLXRyZWUtdmVjdG9yaXplIFwKICAgLWZidWlsZGluZy1saWJnY2MgLWZu by1zdGFjay1wcm90ZWN0b3IgJChGT1JDRV9FWFBMSUNJVF9FSF9SRUdJU1RS WSkgXAogICAkKElOSElCSVRfTElCQ19DRkxBR1MpCg== --001a113d6a52011f8f050c90ef75--