From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14908 invoked by alias); 30 Jun 2011 18:24:03 -0000 Received: (qmail 14891 invoked by uid 22791); 30 Jun 2011 18:24:02 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 30 Jun 2011 18:23:47 +0000 Received: by qwh5 with SMTP id 5so1430594qwh.20 for ; Thu, 30 Jun 2011 11:23:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.79.196 with SMTP id q4mr1838819qck.132.1309458226174; Thu, 30 Jun 2011 11:23:46 -0700 (PDT) Received: by 10.229.214.83 with HTTP; Thu, 30 Jun 2011 11:23:46 -0700 (PDT) In-Reply-To: References: <20110625161357.GA5401@intel.com> <4E078E58.20903@redhat.com> <4E07A879.70509@redhat.com> <4E089A88.60401@redhat.com> <4E0C8361.5050403@redhat.com> <4E0C904E.8090504@redhat.com> Date: Thu, 30 Jun 2011 20:14:00 -0000 Message-ID: Subject: Re: PATCH [8/n]: Prepare x32: PR other/48007: Unwind library doesn't work with UNITS_PER_WORD > sizeof (void *) From: "H.J. Lu" To: Rainer Orth Cc: Jason Merrill , gcc-patches@gcc.gnu.org, Richard Henderson , Jakub Jelinek Content-Type: multipart/mixed; boundary=001636426b416b5a7504a6f200d5 X-IsSubscribed: yes 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 X-SW-Source: 2011-06/txt/msg02397.txt.bz2 --001636426b416b5a7504a6f200d5 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1526 On Thu, Jun 30, 2011 at 11:09 AM, Rainer Orth wrote: > "H.J. Lu" writes: > >>> Why all those contortions with i386/value-unwind.h? =A0It seems far >>> simpler to me to put this into libgcc/config/i386/linux-unwind.h and be >>> done with it. >> >> I did it this way so that other non-Linux x32 targets can use it. > > Such as? =A0Currently, only Linux, Windows and Solaris have i386/*-unwind= .h > implementations. =A0I'm pretty sure the latter two are highly unlikely to > develop an x32 port, so let's cross that bridge when we get there. > Here is the updated patch without config/i386/value-unwind.h. OK for trunk? Thanks. --=20 H.J. --- 2011-06-30 H.J. Lu * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned. * unwind-dw2.c (_Unwind_Context_Reg_Val): New. (_Unwind_Get_Unwind_Word): Likewise. (_Unwind_Get_Unwind_Context_Reg_Val): Likewise. (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field. (SIGNAL_FRAME_BIT): Define if REG_VALUE_IN_UNWIND_CONTEXT is defined. (_Unwind_IsExtendedContext): Likewise. (EXTENDED_CONTEXT_BIT): Don't define if REG_VALUE_IN_UNWIND_CONTEXT is defined. (_Unwind_GetGR): Updated. (_Unwind_SetGR): Likewise. (_Unwind_GetGRPtr): Likewise. (_Unwind_SetGRPtr): Likewise. (_Unwind_SetGRValue): Likewise. (_Unwind_GRByValue): Likewise. (__frame_state_for): Likewise. (uw_install_context_1): Likewise. * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT. * doc/tm.texi: Regenerated. --001636426b416b5a7504a6f200d5 Content-Type: text/plain; charset=US-ASCII; name="gcc-x32-pr48007-5.patch" Content-Disposition: attachment; filename="gcc-x32-pr48007-5.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gpk1kiyp0 Content-length: 11993 MjAxMS0wNi0zMCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoK CSogc3lzdGVtLmggKFJFR19WQUxVRV9JTl9VTldJTkRfQ09OVEVYVCk6IFBv aXNvbmVkLgoKCSogdW53aW5kLWR3Mi5jIChfVW53aW5kX0NvbnRleHRfUmVn X1ZhbCk6IE5ldy4KCShfVW53aW5kX0dldF9VbndpbmRfV29yZCk6IExpa2V3 aXNlLgoJKF9VbndpbmRfR2V0X1Vud2luZF9Db250ZXh0X1JlZ19WYWwpOiBM aWtld2lzZS4KCShfVW53aW5kX0NvbnRleHQpOiBVc2UgX1Vud2luZF9Db250 ZXh0X1JlZ19WYWwgb24gdGhlIHJlZyBmaWVsZC4KCShTSUdOQUxfRlJBTUVf QklUKTogRGVmaW5lIGlmIFJFR19WQUxVRV9JTl9VTldJTkRfQ09OVEVYVCBp cwoJZGVmaW5lZC4KCShfVW53aW5kX0lzRXh0ZW5kZWRDb250ZXh0KTogTGlr ZXdpc2UuCgkoRVhURU5ERURfQ09OVEVYVF9CSVQpOiBEb24ndCBkZWZpbmUg aWYgUkVHX1ZBTFVFX0lOX1VOV0lORF9DT05URVhUCglpcyBkZWZpbmVkLgoJ KF9VbndpbmRfR2V0R1IpOiBVcGRhdGVkLgoJKF9VbndpbmRfU2V0R1IpOiBM aWtld2lzZS4KCShfVW53aW5kX0dldEdSUHRyKTogTGlrZXdpc2UuCgkoX1Vu d2luZF9TZXRHUlB0cik6IExpa2V3aXNlLgoJKF9VbndpbmRfU2V0R1JWYWx1 ZSk6IExpa2V3aXNlLgoJKF9VbndpbmRfR1JCeVZhbHVlKTogTGlrZXdpc2Uu CgkoX19mcmFtZV9zdGF0ZV9mb3IpOiBMaWtld2lzZS4KCSh1d19pbnN0YWxs X2NvbnRleHRfMSk6IExpa2V3aXNlLgoKCSogZG9jL3RtLnRleGkuaW46IERv Y3VtZW50IFJFR19WQUxVRV9JTl9VTldJTkRfQ09OVEVYVC4KCSogZG9jL3Rt LnRleGk6IFJlZ2VuZXJhdGVkLgoKZGlmZiAtLWdpdCBhL2djYy9kb2MvdG0u dGV4aSBiL2djYy9kb2MvdG0udGV4aQppbmRleCAzNDE2MjhiLi4yNjY2NzE2 IDEwMDY0NAotLS0gYS9nY2MvZG9jL3RtLnRleGkKKysrIGIvZ2NjL2RvYy90 bS50ZXhpCkBAIC0zNzAxLDYgKzM3MDEsMTQgQEAgcmV0dXJuIEBjb2Rle0B2 YXJ7cmVnbm99fS4KIAogQGVuZCBkZWZtYWMKIAorQGRlZm1hYyBSRUdfVkFM VUVfSU5fVU5XSU5EX0NPTlRFWFQKKworRGVmaW5lIHRoaXMgbWFjcm8gaWYg dGhlIHRhcmdldCBzdG9yZXMgcmVnaXN0ZXIgdmFsdWVzIGFzCitAY29kZXtf VW53aW5kX1dvcmR9IHR5cGUgaW4gdW53aW5kIGNvbnRleHQuICBUaGUgZGVm YXVsdCBpcyB0bworc3RvcmUgcmVnaXN0ZXIgdmFsdWVzIGFzIEBjb2Rle3Zv aWQgKn0gdHlwZS4KKworQGVuZCBkZWZtYWMKKwogQG5vZGUgRWxpbWluYXRp b24KIEBzdWJzZWN0aW9uIEVsaW1pbmF0aW5nIEZyYW1lIFBvaW50ZXIgYW5k IEFyZyBQb2ludGVyCiAKZGlmZiAtLWdpdCBhL2djYy9kb2MvdG0udGV4aS5p biBiL2djYy9kb2MvdG0udGV4aS5pbgppbmRleCBmN2MxNmU5Li42OTBmYTUy IDEwMDY0NAotLS0gYS9nY2MvZG9jL3RtLnRleGkuaW4KKysrIGIvZ2NjL2Rv Yy90bS50ZXhpLmluCkBAIC0zNjg3LDYgKzM2ODcsMTQgQEAgcmV0dXJuIEBj b2Rle0B2YXJ7cmVnbm99fS4KIAogQGVuZCBkZWZtYWMKIAorQGRlZm1hYyBS RUdfVkFMVUVfSU5fVU5XSU5EX0NPTlRFWFQKKworRGVmaW5lIHRoaXMgbWFj cm8gaWYgdGhlIHRhcmdldCBzdG9yZXMgcmVnaXN0ZXIgdmFsdWVzIGFzCitA Y29kZXtfVW53aW5kX1dvcmR9IHR5cGUgaW4gdW53aW5kIGNvbnRleHQuICBU aGUgZGVmYXVsdCBpcyB0bworc3RvcmUgcmVnaXN0ZXIgdmFsdWVzIGFzIEBj b2Rle3ZvaWQgKn0gdHlwZS4KKworQGVuZCBkZWZtYWMKKwogQG5vZGUgRWxp bWluYXRpb24KIEBzdWJzZWN0aW9uIEVsaW1pbmF0aW5nIEZyYW1lIFBvaW50 ZXIgYW5kIEFyZyBQb2ludGVyCiAKZGlmZiAtLWdpdCBhL2djYy9zeXN0ZW0u aCBiL2djYy9zeXN0ZW0uaAppbmRleCBlMDJjYmNkLi5lZDM5ZDkzIDEwMDY0 NAotLS0gYS9nY2Mvc3lzdGVtLmgKKysrIGIvZ2NjL3N5c3RlbS5oCkBAIC03 NjQsNyArNzY0LDcgQEAgZXh0ZXJuIHZvaWQgZmFuY3lfYWJvcnQgKGNvbnN0 IGNoYXIgKiwgaW50LCBjb25zdCBjaGFyICopIEFUVFJJQlVURV9OT1JFVFVS TjsKIC8qIFRhcmdldCBtYWNyb3Mgb25seSB1c2VkIGZvciBjb2RlIGJ1aWx0 IGZvciB0aGUgdGFyZ2V0LCB0aGF0IGhhdmUKICAgIG1vdmVkIHRvIGxpYmdj Yy10bS5oIG9yIGhhdmUgbmV2ZXIgYmVlbiBwcmVzZW50IGVsc2V3aGVyZS4g ICovCiAgI3ByYWdtYSBHQ0MgcG9pc29uIERFQ0xBUkVfTElCUkFSWV9SRU5B TUVTIExJQkdDQzJfR05VX1BSRUZJWAkJXAotCU1EX1VOV0lORF9TVVBQT1JU IEVOQUJMRV9FWEVDVVRFX1NUQUNLCisJTURfVU5XSU5EX1NVUFBPUlQgRU5B QkxFX0VYRUNVVEVfU1RBQ0sgUkVHX1ZBTFVFX0lOX1VOV0lORF9DT05URVhU CiAKIC8qIE90aGVyIG9ic29sZXRlIHRhcmdldCBtYWNyb3MsIG9yIG1hY3Jv cyB0aGF0IHVzZWQgdG8gYmUgaW4gdGFyZ2V0CiAgICBoZWFkZXJzIGFuZCB3 ZXJlIG5vdCB1c2VkLCBhbmQgbWF5IGJlIG9ic29sZXRlIG9yIG1heSBuZXZl ciBoYXZlCmRpZmYgLS1naXQgYS9nY2MvdW53aW5kLWR3Mi5jIGIvZ2NjL3Vu d2luZC1kdzIuYwppbmRleCAxOWRhMjk5Li5jNzcyNjVjIDEwMDY0NAotLS0g YS9nY2MvdW53aW5kLWR3Mi5jCisrKyBiL2djYy91bndpbmQtZHcyLmMKQEAg LTU5LDIwICs1OSw1NiBAQAogI2RlZmluZSBEV0FSRl9SRUdfVE9fVU5XSU5E X0NPTFVNTihSRUdOTykgKFJFR05PKQogI2VuZGlmCiAKKyNpZmRlZiBSRUdf VkFMVUVfSU5fVU5XSU5EX0NPTlRFWFQKK3R5cGVkZWYgX1Vud2luZF9Xb3Jk IF9VbndpbmRfQ29udGV4dF9SZWdfVmFsOworLyogU2lnbmFsIGZyYW1lIGNv bnRleHQuICAqLworI2RlZmluZSBTSUdOQUxfRlJBTUVfQklUICgoX1Vud2lu ZF9Xb3JkKSAxID4+IDApCisKKyNkZWZpbmUgX1Vud2luZF9Jc0V4dGVuZGVk Q29udGV4dChjKSAxCisKK3N0YXRpYyBpbmxpbmUgX1Vud2luZF9Xb3JkCitf VW53aW5kX0dldF9VbndpbmRfV29yZCAoX1Vud2luZF9Db250ZXh0X1JlZ19W YWwgdmFsKQoreworICByZXR1cm4gdmFsOworfQorCitzdGF0aWMgaW5saW5l IF9VbndpbmRfQ29udGV4dF9SZWdfVmFsCitfVW53aW5kX0dldF9VbndpbmRf Q29udGV4dF9SZWdfVmFsIChfVW53aW5kX1dvcmQgdmFsKQoreworICByZXR1 cm4gdmFsOworfQorI2Vsc2UKK3R5cGVkZWYgdm9pZCAqX1Vud2luZF9Db250 ZXh0X1JlZ19WYWw7CisvKiBTaWduYWwgZnJhbWUgY29udGV4dC4gICovCisj ZGVmaW5lIFNJR05BTF9GUkFNRV9CSVQgKCh+KF9VbndpbmRfV29yZCkgMCA+ PiAxKSArIDEpCisvKiBDb250ZXh0IHdoaWNoIGhhcyB2ZXJzaW9uL2FyZ3Nf c2l6ZS9ieV92YWx1ZSBmaWVsZHMuICAqLworI2RlZmluZSBFWFRFTkRFRF9D T05URVhUX0JJVCAoKH4oX1Vud2luZF9Xb3JkKSAwID4+IDIpICsgMSkKKwor I2RlZmluZSBfVW53aW5kX0lzRXh0ZW5kZWRDb250ZXh0KGMpICgoYyktPmZs YWdzICYgRVhURU5ERURfQ09OVEVYVF9CSVQpCisKK3N0YXRpYyBpbmxpbmUg X1Vud2luZF9Xb3JkCitfVW53aW5kX0dldF9VbndpbmRfV29yZCAoX1Vud2lu ZF9Db250ZXh0X1JlZ19WYWwgdmFsKQoreworICByZXR1cm4gKF9VbndpbmRf V29yZCkgKF9VbndpbmRfSW50ZXJuYWxfUHRyKSB2YWw7Cit9CisKK3N0YXRp YyBpbmxpbmUgX1Vud2luZF9Db250ZXh0X1JlZ19WYWwKK19VbndpbmRfR2V0 X1Vud2luZF9Db250ZXh0X1JlZ19WYWwgKF9VbndpbmRfV29yZCB2YWwpCit7 CisgIHJldHVybiAoX1Vud2luZF9Db250ZXh0X1JlZ19WYWwpIChfVW53aW5k X0ludGVybmFsX1B0cikgdmFsOworfQorI2VuZGlmCisKIC8qIFRoaXMgaXMg dGhlIHJlZ2lzdGVyIGFuZCB1bndpbmQgc3RhdGUgZm9yIGEgcGFydGljdWxh ciBmcmFtZS4gIFRoaXMKICAgIHByb3ZpZGVzIHRoZSBpbmZvcm1hdGlvbiBu ZWNlc3NhcnkgdG8gdW53aW5kIHVwIHBhc3QgYSBmcmFtZSBhbmQgcmV0dXJu CiAgICB0byBpdHMgY2FsbGVyLiAgKi8KIHN0cnVjdCBfVW53aW5kX0NvbnRl eHQKIHsKLSAgdm9pZCAqcmVnW0RXQVJGX0ZSQU1FX1JFR0lTVEVSUysxXTsK KyAgX1Vud2luZF9Db250ZXh0X1JlZ19WYWwgcmVnW0RXQVJGX0ZSQU1FX1JF R0lTVEVSUysxXTsKICAgdm9pZCAqY2ZhOwogICB2b2lkICpyYTsKICAgdm9p ZCAqbHNkYTsKICAgc3RydWN0IGR3YXJmX2VoX2Jhc2VzIGJhc2VzOwotICAv KiBTaWduYWwgZnJhbWUgY29udGV4dC4gICovCi0jZGVmaW5lIFNJR05BTF9G UkFNRV9CSVQgKCh+KF9VbndpbmRfV29yZCkgMCA+PiAxKSArIDEpCi0gIC8q IENvbnRleHQgd2hpY2ggaGFzIHZlcnNpb24vYXJnc19zaXplL2J5X3ZhbHVl IGZpZWxkcy4gICovCi0jZGVmaW5lIEVYVEVOREVEX0NPTlRFWFRfQklUICgo fihfVW53aW5kX1dvcmQpIDAgPj4gMikgKyAxKQogICBfVW53aW5kX1dvcmQg ZmxhZ3M7CiAgIC8qIDAgZm9yIG5vdywgY2FuIGJlIGluY3JlYXNlZCB3aGVu IGZ1cnRoZXIgZmllbGRzIGFyZSBhZGRlZCB0bwogICAgICBzdHJ1Y3QgX1Vu d2luZF9Db250ZXh0LiAgKi8KQEAgLTE0MywxMiArMTc5LDYgQEAgX1Vud2lu ZF9TZXRTaWduYWxGcmFtZSAoc3RydWN0IF9VbndpbmRfQ29udGV4dCAqY29u dGV4dCwgaW50IHZhbCkKICAgZWxzZQogICAgIGNvbnRleHQtPmZsYWdzICY9 IH5TSUdOQUxfRlJBTUVfQklUOwogfQotCi1zdGF0aWMgaW5saW5lIF9Vbndp bmRfV29yZAotX1Vud2luZF9Jc0V4dGVuZGVkQ29udGV4dCAoc3RydWN0IF9V bndpbmRfQ29udGV4dCAqY29udGV4dCkKLXsKLSAgcmV0dXJuIGNvbnRleHQt PmZsYWdzICYgRVhURU5ERURfQ09OVEVYVF9CSVQ7Ci19CiAMCiAvKiBHZXQg dGhlIHZhbHVlIG9mIHJlZ2lzdGVyIElOREVYIGFzIHNhdmVkIGluIENPTlRF WFQuICAqLwogCkBAIC0xNTYsNyArMTg2LDcgQEAgaW5saW5lIF9VbndpbmRf V29yZAogX1Vud2luZF9HZXRHUiAoc3RydWN0IF9VbndpbmRfQ29udGV4dCAq Y29udGV4dCwgaW50IGluZGV4KQogewogICBpbnQgc2l6ZTsKLSAgdm9pZCAq cHRyOworICBfVW53aW5kX0NvbnRleHRfUmVnX1ZhbCB2YWw7CiAKICNpZmRl ZiBEV0FSRl9aRVJPX1JFRwogICBpZiAoaW5kZXggPT0gRFdBUkZfWkVST19S RUcpCkBAIC0xNjYsMTggKzE5NiwxOCBAQCBfVW53aW5kX0dldEdSIChzdHJ1 Y3QgX1Vud2luZF9Db250ZXh0ICpjb250ZXh0LCBpbnQgaW5kZXgpCiAgIGlu ZGV4ID0gRFdBUkZfUkVHX1RPX1VOV0lORF9DT0xVTU4gKGluZGV4KTsKICAg Z2NjX2Fzc2VydCAoaW5kZXggPCAoaW50KSBzaXplb2YoZHdhcmZfcmVnX3Np emVfdGFibGUpKTsKICAgc2l6ZSA9IGR3YXJmX3JlZ19zaXplX3RhYmxlW2lu ZGV4XTsKLSAgcHRyID0gY29udGV4dC0+cmVnW2luZGV4XTsKKyAgdmFsID0g Y29udGV4dC0+cmVnW2luZGV4XTsKIAogICBpZiAoX1Vud2luZF9Jc0V4dGVu ZGVkQ29udGV4dCAoY29udGV4dCkgJiYgY29udGV4dC0+YnlfdmFsdWVbaW5k ZXhdKQotICAgIHJldHVybiAoX1Vud2luZF9Xb3JkKSAoX1Vud2luZF9JbnRl cm5hbF9QdHIpIHB0cjsKKyAgICByZXR1cm4gX1Vud2luZF9HZXRfVW53aW5k X1dvcmQgKHZhbCk7CiAKICAgLyogVGhpcyB3aWxsIHNlZ2ZhdWx0IGlmIHRo ZSByZWdpc3RlciBoYXNuJ3QgYmVlbiBzYXZlZC4gICovCiAgIGlmIChzaXpl ID09IHNpemVvZihfVW53aW5kX1B0cikpCi0gICAgcmV0dXJuICogKF9Vbndp bmRfUHRyICopIHB0cjsKKyAgICByZXR1cm4gKiAoX1Vud2luZF9QdHIgKikg KF9VbndpbmRfSW50ZXJuYWxfUHRyKSB2YWw7CiAgIGVsc2UKICAgICB7CiAg ICAgICBnY2NfYXNzZXJ0IChzaXplID09IHNpemVvZihfVW53aW5kX1dvcmQp KTsKLSAgICAgIHJldHVybiAqIChfVW53aW5kX1dvcmQgKikgcHRyOworICAg ICAgcmV0dXJuICogKF9VbndpbmRfV29yZCAqKSAoX1Vud2luZF9JbnRlcm5h bF9QdHIpIHZhbDsKICAgICB9CiB9CiAKQEAgLTIwOSwxMSArMjM5LDExIEBA IF9VbndpbmRfU2V0R1IgKHN0cnVjdCBfVW53aW5kX0NvbnRleHQgKmNvbnRl eHQsIGludCBpbmRleCwgX1Vud2luZF9Xb3JkIHZhbCkKIAogICBpZiAoX1Vu d2luZF9Jc0V4dGVuZGVkQ29udGV4dCAoY29udGV4dCkgJiYgY29udGV4dC0+ YnlfdmFsdWVbaW5kZXhdKQogICAgIHsKLSAgICAgIGNvbnRleHQtPnJlZ1tp bmRleF0gPSAodm9pZCAqKSAoX1Vud2luZF9JbnRlcm5hbF9QdHIpIHZhbDsK KyAgICAgIGNvbnRleHQtPnJlZ1tpbmRleF0gPSBfVW53aW5kX0dldF9Vbndp bmRfQ29udGV4dF9SZWdfVmFsICh2YWwpOwogICAgICAgcmV0dXJuOwogICAg IH0KIAotICBwdHIgPSBjb250ZXh0LT5yZWdbaW5kZXhdOworICBwdHIgPSAo dm9pZCAqKSAoX1Vud2luZF9JbnRlcm5hbF9QdHIpIGNvbnRleHQtPnJlZ1tp bmRleF07CiAKICAgaWYgKHNpemUgPT0gc2l6ZW9mKF9VbndpbmRfUHRyKSkK ICAgICAqIChfVW53aW5kX1B0ciAqKSBwdHIgPSB2YWw7CkBAIC0yMzIsNyAr MjYyLDcgQEAgX1Vud2luZF9HZXRHUlB0ciAoc3RydWN0IF9VbndpbmRfQ29u dGV4dCAqY29udGV4dCwgaW50IGluZGV4KQogICBpbmRleCA9IERXQVJGX1JF R19UT19VTldJTkRfQ09MVU1OIChpbmRleCk7CiAgIGlmIChfVW53aW5kX0lz RXh0ZW5kZWRDb250ZXh0IChjb250ZXh0KSAmJiBjb250ZXh0LT5ieV92YWx1 ZVtpbmRleF0pCiAgICAgcmV0dXJuICZjb250ZXh0LT5yZWdbaW5kZXhdOwot ICByZXR1cm4gY29udGV4dC0+cmVnW2luZGV4XTsKKyAgcmV0dXJuICh2b2lk ICopIChfVW53aW5kX0ludGVybmFsX1B0cikgY29udGV4dC0+cmVnW2luZGV4 XTsKIH0KIAogLyogU2V0IHRoZSBwb2ludGVyIHRvIGEgcmVnaXN0ZXIgSU5E RVggYXMgc2F2ZWQgaW4gQ09OVEVYVC4gICovCkBAIC0yNDMsNyArMjczLDcg QEAgX1Vud2luZF9TZXRHUlB0ciAoc3RydWN0IF9VbndpbmRfQ29udGV4dCAq Y29udGV4dCwgaW50IGluZGV4LCB2b2lkICpwKQogICBpbmRleCA9IERXQVJG X1JFR19UT19VTldJTkRfQ09MVU1OIChpbmRleCk7CiAgIGlmIChfVW53aW5k X0lzRXh0ZW5kZWRDb250ZXh0IChjb250ZXh0KSkKICAgICBjb250ZXh0LT5i eV92YWx1ZVtpbmRleF0gPSAwOwotICBjb250ZXh0LT5yZWdbaW5kZXhdID0g cDsKKyAgY29udGV4dC0+cmVnW2luZGV4XSA9IChfVW53aW5kX0NvbnRleHRf UmVnX1ZhbCkgKF9VbndpbmRfSW50ZXJuYWxfUHRyKSBwOwogfQogCiAvKiBP dmVyd3JpdGUgdGhlIHNhdmVkIHZhbHVlIGZvciByZWdpc3RlciBJTkRFWCBp biBDT05URVhUIHdpdGggVkFMLiAgKi8KQEAgLTI1NCwxMCArMjg0LDEwIEBA IF9VbndpbmRfU2V0R1JWYWx1ZSAoc3RydWN0IF9VbndpbmRfQ29udGV4dCAq Y29udGV4dCwgaW50IGluZGV4LAogewogICBpbmRleCA9IERXQVJGX1JFR19U T19VTldJTkRfQ09MVU1OIChpbmRleCk7CiAgIGdjY19hc3NlcnQgKGluZGV4 IDwgKGludCkgc2l6ZW9mKGR3YXJmX3JlZ19zaXplX3RhYmxlKSk7Ci0gIGdj Y19hc3NlcnQgKGR3YXJmX3JlZ19zaXplX3RhYmxlW2luZGV4XSA9PSBzaXpl b2YgKF9VbndpbmRfUHRyKSk7CisgIGdjY19hc3NlcnQgKGR3YXJmX3JlZ19z aXplX3RhYmxlW2luZGV4XSA9PSBzaXplb2YgKF9VbndpbmRfQ29udGV4dF9S ZWdfVmFsKSk7CiAKICAgY29udGV4dC0+YnlfdmFsdWVbaW5kZXhdID0gMTsK LSAgY29udGV4dC0+cmVnW2luZGV4XSA9ICh2b2lkICopIChfVW53aW5kX0lu dGVybmFsX1B0cikgdmFsOworICBjb250ZXh0LT5yZWdbaW5kZXhdID0gX1Vu d2luZF9HZXRfVW53aW5kX0NvbnRleHRfUmVnX1ZhbCAodmFsKTsKIH0KIAog LyogUmV0dXJuIG5vbnplcm8gaWYgcmVnaXN0ZXIgSU5ERVggaXMgc3RvcmVk IGJ5IHZhbHVlIHJhdGhlciB0aGFuCkBAIC0xMjE1LDcgKzEyNDUsOSBAQCBf X2ZyYW1lX3N0YXRlX2ZvciAodm9pZCAqcGNfdGFyZ2V0LCBzdHJ1Y3QgZnJh bWVfc3RhdGUgKnN0YXRlX2luKQogICBpbnQgcmVnOwogCiAgIG1lbXNldCAo JmNvbnRleHQsIDAsIHNpemVvZiAoc3RydWN0IF9VbndpbmRfQ29udGV4dCkp OworI2lmbmRlZiBSRUdfVkFMVUVfSU5fVU5XSU5EX0NPTlRFWFQKICAgY29u dGV4dC5mbGFncyA9IEVYVEVOREVEX0NPTlRFWFRfQklUOworI2VuZGlmCiAg IGNvbnRleHQucmEgPSBwY190YXJnZXQgKyAxOwogCiAgIGlmICh1d19mcmFt ZV9zdGF0ZV9mb3IgKCZjb250ZXh0LCAmZnMpICE9IF9VUkNfTk9fUkVBU09O KQpAQCAtMTQ1Myw3ICsxNDg1LDkgQEAgdXdfaW5pdF9jb250ZXh0XzEgKHN0 cnVjdCBfVW53aW5kX0NvbnRleHQgKmNvbnRleHQsCiAKICAgbWVtc2V0IChj b250ZXh0LCAwLCBzaXplb2YgKHN0cnVjdCBfVW53aW5kX0NvbnRleHQpKTsK ICAgY29udGV4dC0+cmEgPSByYTsKKyNpZm5kZWYgUkVHX1ZBTFVFX0lOX1VO V0lORF9DT05URVhUCiAgIGNvbnRleHQtPmZsYWdzID0gRVhURU5ERURfQ09O VEVYVF9CSVQ7CisjZW5kaWYKIAogICBjb2RlID0gdXdfZnJhbWVfc3RhdGVf Zm9yIChjb250ZXh0LCAmZnMpOwogICBnY2NfYXNzZXJ0IChjb2RlID09IF9V UkNfTk9fUkVBU09OKTsKQEAgLTE1MzIsOCArMTU2Niw4IEBAIHV3X2luc3Rh bGxfY29udGV4dF8xIChzdHJ1Y3QgX1Vud2luZF9Db250ZXh0ICpjdXJyZW50 LAogCiAgIGZvciAoaSA9IDA7IGkgPCBEV0FSRl9GUkFNRV9SRUdJU1RFUlM7 ICsraSkKICAgICB7Ci0gICAgICB2b2lkICpjID0gY3VycmVudC0+cmVnW2ld OwotICAgICAgdm9pZCAqdCA9IHRhcmdldC0+cmVnW2ldOworICAgICAgdm9p ZCAqYyA9ICh2b2lkICopIChfVW53aW5kX0ludGVybmFsX1B0cikgY3VycmVu dC0+cmVnW2ldOworICAgICAgdm9pZCAqdCA9ICh2b2lkICopIChfVW53aW5k X0ludGVybmFsX1B0cil0YXJnZXQtPnJlZ1tpXTsKIAogICAgICAgZ2NjX2Fz c2VydCAoY3VycmVudC0+YnlfdmFsdWVbaV0gPT0gMCk7CiAgICAgICBpZiAo dGFyZ2V0LT5ieV92YWx1ZVtpXSAmJiBjKQo= --001636426b416b5a7504a6f200d5--