From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2947 invoked by alias); 4 Mar 2015 02:46:50 -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 2933 invoked by uid 89); 4 Mar 2015 02:46:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_FROM_URIBL_PCCC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-yk0-f175.google.com Received: from mail-yk0-f175.google.com (HELO mail-yk0-f175.google.com) (209.85.160.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 04 Mar 2015 02:46:47 +0000 Received: by ykbq9 with SMTP id q9so6970041ykb.12 for ; Tue, 03 Mar 2015 18:46:45 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.170.115.5 with SMTP id h5mr1400462ykb.87.1425437205695; Tue, 03 Mar 2015 18:46:45 -0800 (PST) Received: by 10.170.133.137 with HTTP; Tue, 3 Mar 2015 18:46:45 -0800 (PST) In-Reply-To: References: <000001d0548a$789a1bd0$69ce5370$@arm.com> <0E847550-2947-46C3-991C-2720641BC881@linaro.org> Date: Wed, 04 Mar 2015 02:46:00 -0000 Message-ID: Subject: Re: [PATCH][ARM]Automatically add -mthumb for thumb-only target when mode isn't specified From: Terry Guo To: Maxim Kuvyrkov Cc: Terry Guo , GCC Patches , Ramana Radhakrishnan , Richard Earnshaw Content-Type: multipart/mixed; boundary=001a1137c2d24bb19205106d76cb X-IsSubscribed: yes X-SW-Source: 2015-03/txt/msg00180.txt.bz2 --001a1137c2d24bb19205106d76cb Content-Type: text/plain; charset=UTF-8 Content-length: 2024 On Wed, Mar 4, 2015 at 10:44 AM, Terry Guo wrote: > On Mon, Mar 2, 2015 at 9:08 PM, Maxim Kuvyrkov > wrote: >>> On Mar 2, 2015, at 4:44 AM, Terry Guo wrote: >>> >>> Hi there, >>> >>> If target mode isn't specified via either gcc configuration option >>> --with-mode or command line, this patch intends to improve gcc driver to >>> automatically add option -mthumb for thumb-only target. Tested with gcc >>> regression test for various arm targets, no regression. Is it OK? >>> >>> BR, >>> Terry >>> >>> gcc/ChangeLog: >>> >>> 2015-03-02 Terry Guo >>> >>> * common/config/arm/arm-common.c (arm_is_target_thumb_only): New >>> function. >>> * config/arm/arm-protos.h (FL_ Macros): Move to ... >>> * config/arm/arm-opts.h (FL_ Macros): ... here. >>> (struct arm_arch_core_flag): New struct. >>> (arm_arch_core_flags): New array for arch/core and flag map. >>> * config/arm/arm.h (MODE_SET_SPEC_FUNCTIONS): Define new SPEC >>> function. >>> (EXTRA_SPEC_FUNCTIONS): Include new SPEC function. >>> (MODE_SET_SPECS): New SPEC. >>> (DRIVER_SELF_SPECS): Include new SPEC. >> >> Did you consider approach of implementing this purely inside cc1 rather than driver? >> >> We do not seem to need to pass -mthumb to assembler or linker since those will pick up ARM-ness / Thumb-ness from function annotations. Therefore we need to handle -marm / -mthumb for cc1 only. What am I missing? >> >> Also, what's the significance of moving FL_* flags to arm-opts.h? If you had to separate FL_* definitions from the rest of arm-protos.h, then a new dedicated file (e.g., arm-fl.h) would be a better choice for new home of FL_* definitions. >> > > Please find my answers in another email. The attached patch tries to > follow your idea that puts those FL_* into separate file named > arm-flags.h. Does it look good to you? > > BR, > Terry Sorry for missing patch. --001a1137c2d24bb19205106d76cb Content-Type: text/plain; charset=US-ASCII; name="gcc-mthumb-option-v6.txt" Content-Disposition: attachment; filename="gcc-mthumb-option-v6.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i6u4hrtx0 Content-length: 16828 ZGlmZiAtLWdpdCBhL2djYy9jb21tb24vY29uZmlnL2FybS9hcm0tY29tbW9u LmMgYi9nY2MvY29tbW9uL2NvbmZpZy9hcm0vYXJtLWNvbW1vbi5jCmluZGV4 IDg2NjczYjcuLmUxN2VlMDMgMTAwNjQ0Ci0tLSBhL2djYy9jb21tb24vY29u ZmlnL2FybS9hcm0tY29tbW9uLmMKKysrIGIvZ2NjL2NvbW1vbi9jb25maWcv YXJtL2FybS1jb21tb24uYwpAQCAtOTcsNiArOTcsMjggQEAgYXJtX3Jld3Jp dGVfbWNwdSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogICByZXR1 cm4gYXJtX3Jld3JpdGVfc2VsZWN0ZWRfY3B1IChhcmd2W2FyZ2MgLSAxXSk7 CiB9CiAKKy8qIENhbGxlZCBieSBkcml2ZXIgdG8gY2hlY2sgd2hldGhlciB0 aGUgdGFyZ2V0IGRlbm90ZWQgYnkgY3VycmVudAorICAgY29tbWFuZCBsaW5l IG9wdGlvbnMgaXMgdGh1bWItb25seSB0YXJnZXQuICBJZiAtbWFyY2ggcHJl c2VudCwKKyAgIGNoZWNrIHRoZSBsYXN0IC1tYXJjaCBvcHRpb24uICBJZiBu byAtbWFyY2gsIGNoZWNrIHRoZSBsYXN0IC1tY3B1CisgICBvcHRpb24uICAq LworY29uc3QgY2hhciAqCithcm1faXNfdGFyZ2V0X3RodW1iX29ubHkgKGlu dCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKyAgdW5zaWduZWQgaW50 IG9wdDsKKworICBpZiAoYXJnYykKKyAgICB7CisgICAgICBmb3IgKG9wdCA9 IDA7IG9wdCA8IChBUlJBWV9TSVpFIChhcm1fYXJjaF9jb3JlX2ZsYWdzKSAt IDEpOyBvcHQrKykKKwlpZiAoKHN0cmNtcCAoYXJndlthcmdjIC0gMV0sIGFy bV9hcmNoX2NvcmVfZmxhZ3Nbb3B0XS5uYW1lKSA9PSAwKQorCSAgICAmJiAo KGFybV9hcmNoX2NvcmVfZmxhZ3Nbb3B0XS5mbGFncyAmIEZMX05PVE0pID09 IDApKQorCSAgcmV0dXJuICItbXRodW1iIjsKKworICAgICAgcmV0dXJuIE5V TEw7CisgICAgfQorICBlbHNlCisgICAgcmV0dXJuIE5VTEw7Cit9CisKICN1 bmRlZiBBUk1fQ1BVX05BTUVfTEVOR1RICiAKIApkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9hcm0vYXJtLWZsYWdzLmggYi9nY2MvY29uZmlnL2FybS9hcm0t ZmxhZ3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m ZTNhNzIzCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJt LWZsYWdzLmgKQEAgLTAsMCArMSw5MiBAQAorLyogRmxhZ3MgdXNlZCB0byBp ZGVudGlmeSB0aGUgcHJlc2VuY2Ugb2YgcHJvY2Vzc29yIGNhcGFiaWxpdGll cy4gCisKKyAgIENvcHlyaWdodCAoQykgMjAxNSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKyAgIENvbnRyaWJ1dGVkIGJ5IEFSTSBMdGQuCisK KyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4KKworICAgR0NDIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCisgICBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAo YXQgeW91cgorICAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAg R0NDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgICBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJ VFkKKyAgIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFs b25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qg c2VlCisgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwor CisjaWZuZGVmIEdDQ19BUk1fRkxBR1NfSAorI2RlZmluZSBHQ0NfQVJNX0ZM QUdTX0gKKworLyogQml0IHZhbHVlcyB1c2VkIHRvIGlkZW50aWZ5IHByb2Nl c3NvciBjYXBhYmlsaXRpZXMuICAqLworI2RlZmluZSBGTF9DT19QUk9DICAg ICgxIDw8IDApICAgICAgICAvKiBIYXMgZXh0ZXJuYWwgY28tcHJvY2Vzc29y IGJ1cyAqLworI2RlZmluZSBGTF9BUkNIM00gICAgICgxIDw8IDEpICAgICAg ICAvKiBFeHRlbmRlZCBtdWx0aXBseSAqLworI2RlZmluZSBGTF9NT0RFMjYg ICAgICgxIDw8IDIpICAgICAgICAvKiAyNi1iaXQgbW9kZSBzdXBwb3J0ICov CisjZGVmaW5lIEZMX01PREUzMiAgICAgKDEgPDwgMykgICAgICAgIC8qIDMy LWJpdCBtb2RlIHN1cHBvcnQgKi8KKyNkZWZpbmUgRkxfQVJDSDQgICAgICAo MSA8PCA0KSAgICAgICAgLyogQXJjaGl0ZWN0dXJlIHJlbCA0ICovCisjZGVm aW5lIEZMX0FSQ0g1ICAgICAgKDEgPDwgNSkgICAgICAgIC8qIEFyY2hpdGVj dHVyZSByZWwgNSAqLworI2RlZmluZSBGTF9USFVNQiAgICAgICgxIDw8IDYp ICAgICAgICAvKiBUaHVtYiBhd2FyZSAqLworI2RlZmluZSBGTF9MRFNDSEVE ICAgICgxIDw8IDcpCSAgICAgIC8qIExvYWQgc2NoZWR1bGluZyBuZWNlc3Nh cnkgKi8KKyNkZWZpbmUgRkxfU1RST05HICAgICAoMSA8PCA4KQkgICAgICAv KiBTdHJvbmdBUk0gKi8KKyNkZWZpbmUgRkxfQVJDSDVFICAgICAoMSA8PCA5 KSAgICAgICAgLyogRFNQIGV4dGVuc2lvbnMgdG8gdjUgKi8KKyNkZWZpbmUg RkxfWFNDQUxFICAgICAoMSA8PCAxMCkJICAgICAgLyogWFNjYWxlICovCisv KiBzcGFyZQkgICAgICAoMSA8PCAxMSkJKi8KKyNkZWZpbmUgRkxfQVJDSDYg ICAgICAoMSA8PCAxMikgICAgICAgLyogQXJjaGl0ZWN0dXJlIHJlbCA2LiAg QWRkcworCQkJCQkgbWVkaWEgaW5zdHJ1Y3Rpb25zLiAgKi8KKyNkZWZpbmUg RkxfVkZQVjIgICAgICAoMSA8PCAxMykgICAgICAgLyogVmVjdG9yIEZsb2F0 aW5nIFBvaW50IFYyLiAgKi8KKyNkZWZpbmUgRkxfV0JVRgkgICAgICAoMSA8 PCAxNCkJICAgICAgLyogU2NoZWR1bGUgZm9yIHdyaXRlIGJ1ZmZlciBvcHMu CisJCQkJCSBOb3RlOiBBUk02ICYgNyBkZXJpdmF0aXZlcyBvbmx5LiAgKi8K KyNkZWZpbmUgRkxfQVJDSDZLICAgICAoMSA8PCAxNSkgICAgICAgLyogQXJj aGl0ZWN0dXJlIHJlbCA2IEsgZXh0ZW5zaW9ucy4gICovCisjZGVmaW5lIEZM X1RIVU1CMiAgICAgKDEgPDwgMTYpCSAgICAgIC8qIFRodW1iLTIuICAqLwor I2RlZmluZSBGTF9OT1RNCSAgICAgICgxIDw8IDE3KQkgICAgICAvKiBJbnN0 cnVjdGlvbnMgbm90IHByZXNlbnQgaW4gdGhlICdNJworCQkJCQkgcHJvZmls ZS4gICovCisjZGVmaW5lIEZMX1RIVU1CX0RJViAgKDEgPDwgMTgpCSAgICAg IC8qIEhhcmR3YXJlIGRpdmlkZSAoVGh1bWIgbW9kZSkuICAqLworI2RlZmlu ZSBGTF9WRlBWMyAgICAgICgxIDw8IDE5KSAgICAgICAvKiBWZWN0b3IgRmxv YXRpbmcgUG9pbnQgVjMuICAqLworI2RlZmluZSBGTF9ORU9OICAgICAgICgx IDw8IDIwKSAgICAgICAvKiBOZW9uIGluc3RydWN0aW9ucy4gICovCisjZGVm aW5lIEZMX0FSQ0g3RU0gICAgKDEgPDwgMjEpCSAgICAgIC8qIEluc3RydWN0 aW9ucyBwcmVzZW50IGluIHRoZSBBUk12N0UtTQorCQkJCQkgYXJjaGl0ZWN0 dXJlLiAgKi8KKyNkZWZpbmUgRkxfQVJDSDcgICAgICAoMSA8PCAyMikgICAg ICAgLyogQXJjaGl0ZWN0dXJlIDcuICAqLworI2RlZmluZSBGTF9BUk1fRElW ICAgICgxIDw8IDIzKQkgICAgICAvKiBIYXJkd2FyZSBkaXZpZGUgKEFSTSBt b2RlKS4gICovCisjZGVmaW5lIEZMX0FSQ0g4ICAgICAgKDEgPDwgMjQpICAg ICAgIC8qIEFyY2hpdGVjdHVyZSA4LiAgKi8KKyNkZWZpbmUgRkxfQ1JDMzIg ICAgICAoMSA8PCAyNSkJICAgICAgLyogQVJNdjggQ1JDMzIgaW5zdHJ1Y3Rp b25zLiAgKi8KKworI2RlZmluZSBGTF9TTUFMTE1VTCAgICgxIDw8IDI2KSAg ICAgICAvKiBTbWFsbCBtdWx0aXBseSBzdXBwb3J0ZWQuICAqLworI2RlZmlu ZSBGTF9OT19WT0xBVElMRV9DRSAgICgxIDw8IDI3KSAvKiBObyB2b2xhdGls ZSBtZW1vcnkgaW4gSVQgYmxvY2suICAqLworCisjZGVmaW5lIEZMX0lXTU1Y VCAgICAgKDEgPDwgMjkpCSAgICAgIC8qIFhTY2FsZSB2MiBvciAiSW50ZWwg V2lyZWxlc3MgTU1YIHRlY2hub2xvZ3kiLiAgKi8KKyNkZWZpbmUgRkxfSVdN TVhUMiAgICAoMSA8PCAzMCkgICAgICAgLyogIkludGVsIFdpcmVsZXNzIE1N WDIgdGVjaG5vbG9neSIuICAqLworCisvKiBGbGFncyB0aGF0IG9ubHkgZWZm ZWN0IHR1bmluZywgbm90IGF2YWlsYWJsZSBpbnN0cnVjdGlvbnMuICAqLwor I2RlZmluZSBGTF9UVU5FCQkoRkxfV0JVRiB8IEZMX1ZGUFYyIHwgRkxfU1RS T05HIHwgRkxfTERTQ0hFRCBcCisJCQkgfCBGTF9DT19QUk9DKQorCisjZGVm aW5lIEZMX0ZPUl9BUkNIMglGTF9OT1RNCisjZGVmaW5lIEZMX0ZPUl9BUkNI MwkoRkxfRk9SX0FSQ0gyIHwgRkxfTU9ERTMyKQorI2RlZmluZSBGTF9GT1Jf QVJDSDNNCShGTF9GT1JfQVJDSDMgfCBGTF9BUkNIM00pCisjZGVmaW5lIEZM X0ZPUl9BUkNINAkoRkxfRk9SX0FSQ0gzTSB8IEZMX0FSQ0g0KQorI2RlZmlu ZSBGTF9GT1JfQVJDSDRUCShGTF9GT1JfQVJDSDQgfCBGTF9USFVNQikKKyNk ZWZpbmUgRkxfRk9SX0FSQ0g1CShGTF9GT1JfQVJDSDQgfCBGTF9BUkNINSkK KyNkZWZpbmUgRkxfRk9SX0FSQ0g1VAkoRkxfRk9SX0FSQ0g1IHwgRkxfVEhV TUIpCisjZGVmaW5lIEZMX0ZPUl9BUkNINUUJKEZMX0ZPUl9BUkNINSB8IEZM X0FSQ0g1RSkKKyNkZWZpbmUgRkxfRk9SX0FSQ0g1VEUJKEZMX0ZPUl9BUkNI NUUgfCBGTF9USFVNQikKKyNkZWZpbmUgRkxfRk9SX0FSQ0g1VEVKCUZMX0ZP Ul9BUkNINVRFCisjZGVmaW5lIEZMX0ZPUl9BUkNINgkoRkxfRk9SX0FSQ0g1 VEUgfCBGTF9BUkNINikKKyNkZWZpbmUgRkxfRk9SX0FSQ0g2SglGTF9GT1Jf QVJDSDYKKyNkZWZpbmUgRkxfRk9SX0FSQ0g2SwkoRkxfRk9SX0FSQ0g2IHwg RkxfQVJDSDZLKQorI2RlZmluZSBGTF9GT1JfQVJDSDZaCUZMX0ZPUl9BUkNI NgorI2RlZmluZSBGTF9GT1JfQVJDSDZaSwlGTF9GT1JfQVJDSDZLCisjZGVm aW5lIEZMX0ZPUl9BUkNINlQyCShGTF9GT1JfQVJDSDYgfCBGTF9USFVNQjIp CisjZGVmaW5lIEZMX0ZPUl9BUkNINk0JKEZMX0ZPUl9BUkNINiAmIH5GTF9O T1RNKQorI2RlZmluZSBGTF9GT1JfQVJDSDcJKChGTF9GT1JfQVJDSDZUMiAm IH5GTF9OT1RNKSB8IEZMX0FSQ0g3KQorI2RlZmluZSBGTF9GT1JfQVJDSDdB CShGTF9GT1JfQVJDSDcgfCBGTF9OT1RNIHwgRkxfQVJDSDZLKQorI2RlZmlu ZSBGTF9GT1JfQVJDSDdWRQkoRkxfRk9SX0FSQ0g3QSB8IEZMX1RIVU1CX0RJ ViB8IEZMX0FSTV9ESVYpCisjZGVmaW5lIEZMX0ZPUl9BUkNIN1IJKEZMX0ZP Ul9BUkNIN0EgfCBGTF9USFVNQl9ESVYpCisjZGVmaW5lIEZMX0ZPUl9BUkNI N00JKEZMX0ZPUl9BUkNINyB8IEZMX1RIVU1CX0RJVikKKyNkZWZpbmUgRkxf Rk9SX0FSQ0g3RU0gIChGTF9GT1JfQVJDSDdNIHwgRkxfQVJDSDdFTSkKKyNk ZWZpbmUgRkxfRk9SX0FSQ0g4QQkoRkxfRk9SX0FSQ0g3VkUgfCBGTF9BUkNI OCkKKworI2VuZGlmIC8qIEdDQ19BUk1fRkxBR1NfSCAqLwpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hcm0vYXJtLW9wdHMuaCBiL2djYy9jb25maWcvYXJt L2FybS1vcHRzLmgKaW5kZXggMDM5ZTMzMy4uZGQ3MjdjZiAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9hcm0vYXJtLW9wdHMuaAorKysgYi9nY2MvY29uZmln L2FybS9hcm0tb3B0cy5oCkBAIC0yNSw2ICsyNSw4IEBACiAjaWZuZGVmIEFS TV9PUFRTX0gKICNkZWZpbmUgQVJNX09QVFNfSAogCisjaW5jbHVkZSAiYXJt LWZsYWdzLmgiCisKIC8qIFRoZSB2YXJpb3VzIEFSTSBjb3Jlcy4gICovCiBl bnVtIHByb2Nlc3Nvcl90eXBlCiB7CkBAIC03Nyw0ICs3OSwyNSBAQCBlbnVt IGFybV90bHNfdHlwZSB7CiAgIFRMU19HTlUsCiAgIFRMU19HTlUyCiB9Owor CitzdHJ1Y3QgYXJtX2FyY2hfY29yZV9mbGFnCit7CisgIGNvbnN0IGNoYXIg KmNvbnN0IG5hbWU7CisgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cit9 OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFybV9hcmNoX2NvcmVfZmxhZyBh cm1fYXJjaF9jb3JlX2ZsYWdzW10gPQoreworI3VuZGVmIEFSTV9DT1JFCisj ZGVmaW5lIEFSTV9DT1JFKE5BTUUsIFgsIElERU5ULCBBUkNILCBGTEFHUywg Q09TVFMpIFwKKyAge05BTUUsIEZMQUdTIHwgRkxfRk9SX0FSQ0gjI0FSQ0h9 LAorI2luY2x1ZGUgImFybS1jb3Jlcy5kZWYiCisjdW5kZWYgQVJNX0NPUkUK KyN1bmRlZiBBUk1fQVJDSAorI2RlZmluZSBBUk1fQVJDSChOQU1FLCBDT1JF LCBBUkNILCBGTEFHUykgXAorICB7TkFNRSwgRkxBR1N9LAorI2luY2x1ZGUg ImFybS1hcmNoZXMuZGVmIgorI3VuZGVmIEFSTV9BUkNICisgIHtOVUxMLCAw fQorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vYXJt LXByb3Rvcy5oIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLXByb3Rvcy5oCmluZGV4 IDI4ZmZlNTIuLjMyNWE4MWMgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYXJt L2FybS1wcm90b3MuaAorKysgYi9nY2MvY29uZmlnL2FybS9hcm0tcHJvdG9z LmgKQEAgLTMyNSw3NSArMzI1LDYgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKmFy bV9yZXdyaXRlX3NlbGVjdGVkX2NwdSAoY29uc3QgY2hhciAqbmFtZSk7CiAK IGV4dGVybiBib29sIGFybV9pc19jb25zdGFudF9wb29sX3JlZiAocnR4KTsK IAotLyogRmxhZ3MgdXNlZCB0byBpZGVudGlmeSB0aGUgcHJlc2VuY2Ugb2Yg cHJvY2Vzc29yIGNhcGFiaWxpdGllcy4gICovCi0KLS8qIEJpdCB2YWx1ZXMg dXNlZCB0byBpZGVudGlmeSBwcm9jZXNzb3IgY2FwYWJpbGl0aWVzLiAgKi8K LSNkZWZpbmUgRkxfQ09fUFJPQyAgICAoMSA8PCAwKSAgICAgICAgLyogSGFz IGV4dGVybmFsIGNvLXByb2Nlc3NvciBidXMgKi8KLSNkZWZpbmUgRkxfQVJD SDNNICAgICAoMSA8PCAxKSAgICAgICAgLyogRXh0ZW5kZWQgbXVsdGlwbHkg Ki8KLSNkZWZpbmUgRkxfTU9ERTI2ICAgICAoMSA8PCAyKSAgICAgICAgLyog MjYtYml0IG1vZGUgc3VwcG9ydCAqLwotI2RlZmluZSBGTF9NT0RFMzIgICAg ICgxIDw8IDMpICAgICAgICAvKiAzMi1iaXQgbW9kZSBzdXBwb3J0ICovCi0j ZGVmaW5lIEZMX0FSQ0g0ICAgICAgKDEgPDwgNCkgICAgICAgIC8qIEFyY2hp dGVjdHVyZSByZWwgNCAqLwotI2RlZmluZSBGTF9BUkNINSAgICAgICgxIDw8 IDUpICAgICAgICAvKiBBcmNoaXRlY3R1cmUgcmVsIDUgKi8KLSNkZWZpbmUg RkxfVEhVTUIgICAgICAoMSA8PCA2KSAgICAgICAgLyogVGh1bWIgYXdhcmUg Ki8KLSNkZWZpbmUgRkxfTERTQ0hFRCAgICAoMSA8PCA3KQkgICAgICAvKiBM b2FkIHNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCi0jZGVmaW5lIEZMX1NUUk9O RyAgICAgKDEgPDwgOCkJICAgICAgLyogU3Ryb25nQVJNICovCi0jZGVmaW5l IEZMX0FSQ0g1RSAgICAgKDEgPDwgOSkgICAgICAgIC8qIERTUCBleHRlbnNp b25zIHRvIHY1ICovCi0jZGVmaW5lIEZMX1hTQ0FMRSAgICAgKDEgPDwgMTAp CSAgICAgIC8qIFhTY2FsZSAqLwotLyogc3BhcmUJICAgICAgKDEgPDwgMTEp CSovCi0jZGVmaW5lIEZMX0FSQ0g2ICAgICAgKDEgPDwgMTIpICAgICAgIC8q IEFyY2hpdGVjdHVyZSByZWwgNi4gIEFkZHMKLQkJCQkJIG1lZGlhIGluc3Ry dWN0aW9ucy4gICovCi0jZGVmaW5lIEZMX1ZGUFYyICAgICAgKDEgPDwgMTMp ICAgICAgIC8qIFZlY3RvciBGbG9hdGluZyBQb2ludCBWMi4gICovCi0jZGVm aW5lIEZMX1dCVUYJICAgICAgKDEgPDwgMTQpCSAgICAgIC8qIFNjaGVkdWxl IGZvciB3cml0ZSBidWZmZXIgb3BzLgotCQkJCQkgTm90ZTogQVJNNiAmIDcg ZGVyaXZhdGl2ZXMgb25seS4gICovCi0jZGVmaW5lIEZMX0FSQ0g2SyAgICAg KDEgPDwgMTUpICAgICAgIC8qIEFyY2hpdGVjdHVyZSByZWwgNiBLIGV4dGVu c2lvbnMuICAqLwotI2RlZmluZSBGTF9USFVNQjIgICAgICgxIDw8IDE2KQkg ICAgICAvKiBUaHVtYi0yLiAgKi8KLSNkZWZpbmUgRkxfTk9UTQkgICAgICAo MSA8PCAxNykJICAgICAgLyogSW5zdHJ1Y3Rpb25zIG5vdCBwcmVzZW50IGlu IHRoZSAnTScKLQkJCQkJIHByb2ZpbGUuICAqLwotI2RlZmluZSBGTF9USFVN Ql9ESVYgICgxIDw8IDE4KQkgICAgICAvKiBIYXJkd2FyZSBkaXZpZGUgKFRo dW1iIG1vZGUpLiAgKi8KLSNkZWZpbmUgRkxfVkZQVjMgICAgICAoMSA8PCAx OSkgICAgICAgLyogVmVjdG9yIEZsb2F0aW5nIFBvaW50IFYzLiAgKi8KLSNk ZWZpbmUgRkxfTkVPTiAgICAgICAoMSA8PCAyMCkgICAgICAgLyogTmVvbiBp bnN0cnVjdGlvbnMuICAqLwotI2RlZmluZSBGTF9BUkNIN0VNICAgICgxIDw8 IDIxKQkgICAgICAvKiBJbnN0cnVjdGlvbnMgcHJlc2VudCBpbiB0aGUgQVJN djdFLU0KLQkJCQkJIGFyY2hpdGVjdHVyZS4gICovCi0jZGVmaW5lIEZMX0FS Q0g3ICAgICAgKDEgPDwgMjIpICAgICAgIC8qIEFyY2hpdGVjdHVyZSA3LiAg Ki8KLSNkZWZpbmUgRkxfQVJNX0RJViAgICAoMSA8PCAyMykJICAgICAgLyog SGFyZHdhcmUgZGl2aWRlIChBUk0gbW9kZSkuICAqLwotI2RlZmluZSBGTF9B UkNIOCAgICAgICgxIDw8IDI0KSAgICAgICAvKiBBcmNoaXRlY3R1cmUgOC4g ICovCi0jZGVmaW5lIEZMX0NSQzMyICAgICAgKDEgPDwgMjUpCSAgICAgIC8q IEFSTXY4IENSQzMyIGluc3RydWN0aW9ucy4gICovCi0KLSNkZWZpbmUgRkxf U01BTExNVUwgICAoMSA8PCAyNikgICAgICAgLyogU21hbGwgbXVsdGlwbHkg c3VwcG9ydGVkLiAgKi8KLSNkZWZpbmUgRkxfTk9fVk9MQVRJTEVfQ0UgICAo MSA8PCAyNykgLyogTm8gdm9sYXRpbGUgbWVtb3J5IGluIElUIGJsb2NrLiAg Ki8KLQotI2RlZmluZSBGTF9JV01NWFQgICAgICgxIDw8IDI5KQkgICAgICAv KiBYU2NhbGUgdjIgb3IgIkludGVsIFdpcmVsZXNzIE1NWCB0ZWNobm9sb2d5 Ii4gICovCi0jZGVmaW5lIEZMX0lXTU1YVDIgICAgKDEgPDwgMzApICAgICAg IC8qICJJbnRlbCBXaXJlbGVzcyBNTVgyIHRlY2hub2xvZ3kiLiAgKi8KLQot LyogRmxhZ3MgdGhhdCBvbmx5IGVmZmVjdCB0dW5pbmcsIG5vdCBhdmFpbGFi bGUgaW5zdHJ1Y3Rpb25zLiAgKi8KLSNkZWZpbmUgRkxfVFVORQkJKEZMX1dC VUYgfCBGTF9WRlBWMiB8IEZMX1NUUk9ORyB8IEZMX0xEU0NIRUQgXAotCQkJ IHwgRkxfQ09fUFJPQykKLQotI2RlZmluZSBGTF9GT1JfQVJDSDIJRkxfTk9U TQotI2RlZmluZSBGTF9GT1JfQVJDSDMJKEZMX0ZPUl9BUkNIMiB8IEZMX01P REUzMikKLSNkZWZpbmUgRkxfRk9SX0FSQ0gzTQkoRkxfRk9SX0FSQ0gzIHwg RkxfQVJDSDNNKQotI2RlZmluZSBGTF9GT1JfQVJDSDQJKEZMX0ZPUl9BUkNI M00gfCBGTF9BUkNINCkKLSNkZWZpbmUgRkxfRk9SX0FSQ0g0VAkoRkxfRk9S X0FSQ0g0IHwgRkxfVEhVTUIpCi0jZGVmaW5lIEZMX0ZPUl9BUkNINQkoRkxf Rk9SX0FSQ0g0IHwgRkxfQVJDSDUpCi0jZGVmaW5lIEZMX0ZPUl9BUkNINVQJ KEZMX0ZPUl9BUkNINSB8IEZMX1RIVU1CKQotI2RlZmluZSBGTF9GT1JfQVJD SDVFCShGTF9GT1JfQVJDSDUgfCBGTF9BUkNINUUpCi0jZGVmaW5lIEZMX0ZP Ul9BUkNINVRFCShGTF9GT1JfQVJDSDVFIHwgRkxfVEhVTUIpCi0jZGVmaW5l IEZMX0ZPUl9BUkNINVRFSglGTF9GT1JfQVJDSDVURQotI2RlZmluZSBGTF9G T1JfQVJDSDYJKEZMX0ZPUl9BUkNINVRFIHwgRkxfQVJDSDYpCi0jZGVmaW5l IEZMX0ZPUl9BUkNINkoJRkxfRk9SX0FSQ0g2Ci0jZGVmaW5lIEZMX0ZPUl9B UkNINksJKEZMX0ZPUl9BUkNINiB8IEZMX0FSQ0g2SykKLSNkZWZpbmUgRkxf Rk9SX0FSQ0g2WglGTF9GT1JfQVJDSDYKLSNkZWZpbmUgRkxfRk9SX0FSQ0g2 WksJRkxfRk9SX0FSQ0g2SwotI2RlZmluZSBGTF9GT1JfQVJDSDZUMgkoRkxf Rk9SX0FSQ0g2IHwgRkxfVEhVTUIyKQotI2RlZmluZSBGTF9GT1JfQVJDSDZN CShGTF9GT1JfQVJDSDYgJiB+RkxfTk9UTSkKLSNkZWZpbmUgRkxfRk9SX0FS Q0g3CSgoRkxfRk9SX0FSQ0g2VDIgJiB+RkxfTk9UTSkgfCBGTF9BUkNINykK LSNkZWZpbmUgRkxfRk9SX0FSQ0g3QQkoRkxfRk9SX0FSQ0g3IHwgRkxfTk9U TSB8IEZMX0FSQ0g2SykKLSNkZWZpbmUgRkxfRk9SX0FSQ0g3VkUJKEZMX0ZP Ul9BUkNIN0EgfCBGTF9USFVNQl9ESVYgfCBGTF9BUk1fRElWKQotI2RlZmlu ZSBGTF9GT1JfQVJDSDdSCShGTF9GT1JfQVJDSDdBIHwgRkxfVEhVTUJfRElW KQotI2RlZmluZSBGTF9GT1JfQVJDSDdNCShGTF9GT1JfQVJDSDcgfCBGTF9U SFVNQl9ESVYpCi0jZGVmaW5lIEZMX0ZPUl9BUkNIN0VNICAoRkxfRk9SX0FS Q0g3TSB8IEZMX0FSQ0g3RU0pCi0jZGVmaW5lIEZMX0ZPUl9BUkNIOEEJKEZM X0ZPUl9BUkNIN1ZFIHwgRkxfQVJDSDgpCi0KIC8qIFRoZSBiaXRzIGluIHRo aXMgbWFzayBzcGVjaWZ5IHdoaWNoCiAgICBpbnN0cnVjdGlvbnMgd2UgYXJl IGFsbG93ZWQgdG8gZ2VuZXJhdGUuICAqLwogZXh0ZXJuIHVuc2lnbmVkIGxv bmcgaW5zbl9mbGFnczsKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2Fy bS5oIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLmgKaW5kZXggOGMxMGVhMy4uMzEx OTk1NyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hcm0vYXJtLmgKKysrIGIv Z2NjL2NvbmZpZy9hcm0vYXJtLmgKQEAgLTIzOTQsMTMgKzIzOTQsMTggQEAg ZXh0ZXJuIGNvbnN0IGNoYXIgKmFybV9yZXdyaXRlX21jcHUgKGludCBhcmdj LCBjb25zdCBjaGFyICoqYXJndik7CiAgICAiICAgOiV7bWFyY2g9KjotbWFy Y2g9JSp9fSIJCQkJCVwKICAgIEJJR19MSVRUTEVfU1BFQwogCitleHRlcm4g Y29uc3QgY2hhciAqYXJtX2lzX3RhcmdldF90aHVtYl9vbmx5IChpbnQgYXJn YywgY29uc3QgY2hhciAqKmFyZ3YpOworI2RlZmluZSBNT0RFX1NFVF9TUEVD X0ZVTkNUSU9OUwkJCQkJCVwKKyAgeyAidGFyZ2V0X21vZGVfY2hlY2siLCBh cm1faXNfdGFyZ2V0X3RodW1iX29ubHkgfSwKKwogLyogLW1jcHU9bmF0aXZl IGhhbmRsaW5nIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBjb21waWxlciBydW5u aW5nIG9uCiAgICBhbiBBUk0gY2hpcC4gICovCiAjaWYgZGVmaW5lZChfX2Fy bV9fKQogZXh0ZXJuIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xvY2FsX2Nw dSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKICMgZGVmaW5lIEVY VFJBX1NQRUNfRlVOQ1RJT05TCQkJCQkJXAogICB7ICJsb2NhbF9jcHVfZGV0 ZWN0IiwgaG9zdF9kZXRlY3RfbG9jYWxfY3B1IH0sCQkJXAotICBCSUdfTElU VExFX0NQVV9TUEVDX0ZVTkNUSU9OUworICBCSUdfTElUVExFX0NQVV9TUEVD X0ZVTkNUSU9OUwkJCQkJCVwKKyAgTU9ERV9TRVRfU1BFQ19GVU5DVElPTlMK IAogIyBkZWZpbmUgTUNQVV9NVFVORV9OQVRJVkVfU1BFQ1MJCQkJCVwKICAg ICIgJXttYXJjaD1uYXRpdmU6JTxtYXJjaD1uYXRpdmUgJTpsb2NhbF9jcHVf ZGV0ZWN0KGFyY2gpfSIJCVwKQEAgLTI0MDgsOSArMjQxMywxOSBAQCBleHRl cm4gY29uc3QgY2hhciAqaG9zdF9kZXRlY3RfbG9jYWxfY3B1IChpbnQgYXJn YywgY29uc3QgY2hhciAqKmFyZ3YpOwogICAgIiAle210dW5lPW5hdGl2ZTol PG10dW5lPW5hdGl2ZSAlOmxvY2FsX2NwdV9kZXRlY3QodHVuZSl9IgogI2Vs c2UKICMgZGVmaW5lIE1DUFVfTVRVTkVfTkFUSVZFX1NQRUNTICIiCi0jIGRl ZmluZSBFWFRSQV9TUEVDX0ZVTkNUSU9OUyBCSUdfTElUVExFX0NQVV9TUEVD X0ZVTkNUSU9OUworIyBkZWZpbmUgRVhUUkFfU1BFQ19GVU5DVElPTlMJCQkJ CQlcCisgIEJJR19MSVRUTEVfQ1BVX1NQRUNfRlVOQ1RJT05TCQkJCQkJXAor ICBNT0RFX1NFVF9TUEVDX0ZVTkNUSU9OUwogI2VuZGlmCiAKLSNkZWZpbmUg RFJJVkVSX1NFTEZfU1BFQ1MgTUNQVV9NVFVORV9OQVRJVkVfU1BFQ1MKKy8q IEF1dG9tYXRpY2FsbHkgYWRkIC1tdGh1bWIgZm9yIHRodW1iLW9ubHkgdGFy Z2V0IGlmIG1vZGUgaXNuJ3Qgc3BlY2lmaWVkCisgICB2aWEgY29uZmlndXJh dGlvbiBvcHRpb24gLS13aXRoLW1vZGUgYW5kIGNvbW1hbmQgbGluZS4KKyAg IElmIC1tYXJjaCBwcmVzZW50LCB3ZSBjb2xsZWN0IGp1c3QgLW1hcmNoIG9w dGlvbnMuICBPdGhlcndpc2Ugd2UKKyAgIGNvbGxlY3QganVzdCAtbWNwdSBv cHRpb25zLiAgVGhlIGxhc3Qgb25lIG9mIHRoZW0gd2lsbCBiZSB1c2VkIHRv CisgICBkZWNpZGUgdGFyZ2V0IG1vZGUuICAqLworI2RlZmluZSBNT0RFX1NF VF9TUEVDUwkJCQkJCQlcCisgICIgJXshbWFybToleyFtdGh1bWI6JTp0YXJn ZXRfbW9kZV9jaGVjaygle21hcmNoPSo6JSo7bWNwdT0qOiUqfSl9fSIKKwor I2RlZmluZSBEUklWRVJfU0VMRl9TUEVDUyBNQ1BVX01UVU5FX05BVElWRV9T UEVDUyBNT0RFX1NFVF9TUEVDUwogI2RlZmluZSBUQVJHRVRfU1VQUE9SVFNf V0lERV9JTlQgMQogI2VuZGlmIC8qICEgR0NDX0FSTV9IICovCg== --001a1137c2d24bb19205106d76cb--