From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 82E973857817 for ; Wed, 16 Feb 2022 17:39:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 82E973857817 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-650-JPy2Ci35NFm8FwzzXJJI_g-1; Wed, 16 Feb 2022 12:38:55 -0500 X-MC-Unique: JPy2Ci35NFm8FwzzXJJI_g-1 Received: by mail-wm1-f71.google.com with SMTP id l9-20020a05600c1d0900b0037be9e5f7e8so468750wms.7 for ; Wed, 16 Feb 2022 09:38:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to; bh=TLF/8o2QPMVuVWt2Vjp2keYuXrXnViEBGSNQCFTWKww=; b=twmeRt88HhK7C2j3uxm/BnwzQvhuMG0WZBYfqdZbjnYTF1Ag9Uihyd+95rgFb2So+F SvH647SdLmTjhNV0Bh/Y7RnUyXRT0BRqlXZR2Oii25RPvFRC95f0yvR1SVNzKaVK4suR ixDzqn1AZ/V56cxqk9X1mrhITlepFBS7MOWvcryA6NPssqUP1KEcNzX9VTsrN79AdzYt W0cDtjlQK/ZMfv2hlUOJ9fgTV5+3aWSlF//6/3e1A2FP+VdrVBPBM22qVCqJGbw31tlN m3DoeZlmOdpn9RC5q6Tfj6ntyjcGG/qmEsUrh1cE/zpmQGiz4mQYJ5gbJRKfW7RZpoay ePWw== X-Gm-Message-State: AOAM531YrThnndIyZe5/Xd2eR5Iv+gnZyaQFSNL3JHvjX5q0S5kBqXCK C7ihI0yYVRatC7PKxALEQUyEx9XJzpM2z3Obb7b2UZ31NE4cC3CYU0UOutIN3tOmiKq3BDItci9 AyaM1BX69QVeieI2/Xg== X-Received: by 2002:a5d:64e6:0:b0:1e4:a576:5800 with SMTP id g6-20020a5d64e6000000b001e4a5765800mr3087021wri.49.1645033134083; Wed, 16 Feb 2022 09:38:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJwaJJi0Kw1FP6qI28B8z9T69IJd+mqT0i8Ad936NZyBoQeSe7ouv43aJZoOat6+ZA+ADpq8FQ== X-Received: by 2002:a5d:64e6:0:b0:1e4:a576:5800 with SMTP id g6-20020a5d64e6000000b001e4a5765800mr3087011wri.49.1645033133924; Wed, 16 Feb 2022 09:38:53 -0800 (PST) Received: from [192.168.1.6] (adsl-2-solo-173-39.claranet.co.uk. [80.168.173.39]) by smtp.gmail.com with ESMTPSA id f13sm15317794wri.82.2022.02.16.09.38.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 16 Feb 2022 09:38:53 -0800 (PST) Message-ID: Date: Wed, 16 Feb 2022 17:38:52 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: Output section type (READONLY) To: Luca Boccassi , Michael Matz , Fangrui Song Cc: "binutils@sourceware.org" References: <251473f45c9c4d2fa5edc3265c5ac77e06bb07b2.camel@debian.org> <740fedd2111e72f785bbe000890193f55a6a1d6d.camel@debian.org> From: Nick Clifton In-Reply-To: <740fedd2111e72f785bbe000890193f55a6a1d6d.camel@debian.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------QNfNcng3Kq0DWnN0ZD2EBYsL" Content-Language: en-GB X-Spam-Status: No, score=-9.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Feb 2022 17:39:03 -0000 This is a multi-part message in MIME format. --------------QNfNcng3Kq0DWnN0ZD2EBYsL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Guys, I have gone ahead and applied an update form of Fanguri's patch (attached). I extended the patch so that READONLY and type= can be used together if desired, like this: .ro.note (READONLY (TYPE=SHT_NOTE)) : { LONG(5678); } (I chose this particular syntax because it was the easiest to implement. Other than that the patch retains all of the features in the original submission: https://sourceware.org/pipermail/binutils/2022-February/119600.html Cheers Nick --------------QNfNcng3Kq0DWnN0ZD2EBYsL Content-Type: text/x-patch; charset=UTF-8; name="binutils-section-type.patch" Content-Disposition: attachment; filename="binutils-section-type.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCmluZGV4IDNiMmE0ZjQ5 YTliLi43OGEwYTFkZWE0MiAxMDA2NDQKLS0tIGEvYmZkL2JmZC1pbjIuaAorKysgYi9iZmQvYmZk LWluMi5oCkBAIC0xMTcwLDYgKzExNzAsOSBAQCB0eXBlZGVmIHN0cnVjdCBiZmRfc2VjdGlvbgog ICAgIFRoaXMgaXMgdXNlZCB3aGVuIHN1cHBvcnQgZm9yIG5vbi1jb250aWd1b3VzIG1lbW9yeSBy ZWdpb25zIGlzIGVuYWJsZWQuICAqLwogIHN0cnVjdCBiZmRfc2VjdGlvbiAqYWxyZWFkeV9hc3Np Z25lZDsKIAorICAvKiBFeHBsaWNpdGx5IHNwZWNpZmllZCBzZWN0aW9uIHR5cGUsIGlmIG5vbi16 ZXJvLiAqLworICB1bnNpZ25lZCBpbnQgdHlwZTsKKwogfSBhc2VjdGlvbjsKIAogLyogUmVsYXgg dGFibGUgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgaW5zdHJ1Y3Rpb25zIHdoaWNoIGNhbgpA QCAtMTM1Miw4ICsxMzU1LDggQEAgZGlzY2FyZGVkX3NlY3Rpb24gKGNvbnN0IGFzZWN0aW9uICpz ZWMpCiAgIC8qIHN5bWJvbCwgICAgICAgICAgICAgICAgICAgIHN5bWJvbF9wdHJfcHRyLCAgICAg ICAgICAgICAgICAgICAgICovIFwKICAgICAgKHN0cnVjdCBiZmRfc3ltYm9sICopIFNZTSwgJlNF Qy5zeW1ib2wsICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g IC8qIG1hcF9oZWFkLCBtYXBfdGFpbCwgYWxyZWFkeV9hc3NpZ25lZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICovIFwKLSAgICAgeyBOVUxMIH0sIHsgTlVMTCB9LCBOVUxMICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAvKiBtYXBfaGVhZCwgbWFwX3RhaWws IGFscmVhZHlfYXNzaWduZWQsIHR5cGUgICAgICAgICAgICAgICAgICAgICAqLyBcCisgICAgIHsg TlVMTCB9LCB7IE5VTEwgfSwgTlVMTCwgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0KIApkaWZmIC0tZ2l0IGEvYmZkL2VsZi5j IGIvYmZkL2VsZi5jCmluZGV4IGE2NzQxNWU3NmUxLi44MmI1M2JlOTlmOSAxMDA2NDQKLS0tIGEv YmZkL2VsZi5jCisrKyBiL2JmZC9lbGYuYwpAQCAtMzI4MCw3ICszMjgwLDkgQEAgZWxmX2Zha2Vf c2VjdGlvbnMgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpmc2FyZykKIAogICAv KiBJZiB0aGUgc2VjdGlvbiB0eXBlIGlzIHVuc3BlY2lmaWVkLCB3ZSBzZXQgaXQgYmFzZWQgb24K ICAgICAgYXNlY3QtPmZsYWdzLiAgKi8KLSAgaWYgKChhc2VjdC0+ZmxhZ3MgJiBTRUNfR1JPVVAp ICE9IDApCisgIGlmIChhc2VjdC0+dHlwZSAhPSAwKQorICAgIHNoX3R5cGUgPSBhc2VjdC0+dHlw ZTsKKyAgZWxzZSBpZiAoKGFzZWN0LT5mbGFncyAmIFNFQ19HUk9VUCkgIT0gMCkKICAgICBzaF90 eXBlID0gU0hUX0dST1VQOwogICBlbHNlCiAgICAgc2hfdHlwZSA9IGJmZF9lbGZfZ2V0X2RlZmF1 bHRfc2VjdGlvbl90eXBlIChhc2VjdC0+ZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvYmZkL3NlY3Rpb24u YyBiL2JmZC9zZWN0aW9uLmMKaW5kZXggODk5NDM4YTFjNWUuLjJkZTdkYmY2NjFhIDEwMDY0NAot LS0gYS9iZmQvc2VjdGlvbi5jCisrKyBiL2JmZC9zZWN0aW9uLmMKQEAgLTczNyw4ICs3MzcsOCBA QCBDT0RFX0ZSQUdNRU5UCiAuICB7KiBzeW1ib2wsICAgICAgICAgICAgICAgICAgICBzeW1ib2xf cHRyX3B0ciwgICAgICAgICAgICAgICAgICAgICAqfQlcCiAuICAgICAoc3RydWN0IGJmZF9zeW1i b2wgKikgU1lNLCAmU0VDLnN5bWJvbCwJCQkJXAogLgkJCQkJCQkJCVwKLS4gIHsqIG1hcF9oZWFk LCBtYXBfdGFpbCwgYWxyZWFkeV9hc3NpZ25lZCAgICAgICAgICAgICAgICAgICAgICAgICAgICp9 CVwKLS4gICAgIHsgTlVMTCB9LCB7IE5VTEwgfSwgTlVMTAkJCQkJCVwKKy4gIHsqIG1hcF9oZWFk LCBtYXBfdGFpbCwgYWxyZWFkeV9hc3NpZ25lZCwgdHlwZSAgICAgICAgICAgICAgICAgICAgICp9 CVwKKy4gICAgIHsgTlVMTCB9LCB7IE5VTEwgfSwgTlVMTCwgMAkJCQkJCVwKIC4JCQkJCQkJCQlc CiAuICAgIH0KIC4KZGlmZiAtLWdpdCBhL2xkL05FV1MgYi9sZC9ORVdTCmluZGV4IGRiYjQwMmQx ZjhhLi5hNDk4YWJhZjBmOSAxMDA2NDQKLS0tIGEvbGQvTkVXUworKysgYi9sZC9ORVdTCkBAIC0x LDUgKzEsOCBAQAogLSotIHRleHQgLSotCiAKKyogVFlQRT08dHlwZT4gaXMgbm93IHN1cHBvcnRl ZCBpbiBhbiBvdXRwdXQgc2VjdGlvbiBkZXNjcmlwdGlvbiB0byBzZXQgdGhlCisgIHNlY3Rpb24g dHlwZSB2YWx1ZS4KKwogQ2hhbmdlcyBpbiAyLjM4OgogCiAqIEFkZCAteiBwYWNrLXJlbGF0aXZl LXJlbG9jcy8teiBubyBwYWNrLXJlbGF0aXZlLXJlbG9jcyB0byB4ODYgRUxGCmRpZmYgLS1naXQg YS9sZC9sZC50ZXhpIGIvbGQvbGQudGV4aQppbmRleCBmYzc1ZTliMzYyNS4uZDU3ZTkyMjE0MTAg MTAwNjQ0Ci0tLSBhL2xkL2xkLnRleGkKKysrIGIvbGQvbGQudGV4aQpAQCAtNTQ4MywxMyArNTQ4 MywyMyBAQCBsb2FkZWQgaW50byBtZW1vcnkgd2hlbiB0aGUgcHJvZ3JhbSBpcyBydW4uCiBAaXRl bSBSRUFET05MWQogVGhlIHNlY3Rpb24gc2hvdWxkIGJlIG1hcmtlZCBhcyByZWFkLW9ubHkuCiBA aXRlbSBEU0VDVAotQGl0ZW14IENPUFkKLUBpdGVteCBJTkZPCi1AaXRlbXggT1ZFUkxBWQorQGl0 ZW0gQ09QWQorQGl0ZW0gSU5GTworQGl0ZW0gT1ZFUkxBWQogVGhlc2UgdHlwZSBuYW1lcyBhcmUg c3VwcG9ydGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBhbmQgYXJlCiByYXJlbHkgdXNl ZC4gIFRoZXkgYWxsIGhhdmUgdGhlIHNhbWUgZWZmZWN0OiB0aGUgc2VjdGlvbiBzaG91bGQgYmUK IG1hcmtlZCBhcyBub3QgYWxsb2NhdGFibGUsIHNvIHRoYXQgbm8gbWVtb3J5IGlzIGFsbG9jYXRl ZCBmb3IgdGhlCiBzZWN0aW9uIHdoZW4gdGhlIHByb2dyYW0gaXMgcnVuLgorQGl0ZW0gVFlQRSA9 IEB2YXJ7dHlwZX0KK1NldCB0aGUgc2VjdGlvbiB0eXBlIHRvIHRoZSBpbnRlZ2VyIEB2YXJ7dHlw ZX0uIFdoZW4gZ2VuZXJhdGluZyBhbiBFTEYKK291dHB1dCBmaWxlLCB0eXBlIG5hbWVzIEBjb2Rl e1NIVF9QUk9HQklUU30sIEBjb2Rle1NIVF9TVFJUQUJ9LAorQGNvZGV7U0hUX05PVEV9LCBAY29k ZSB7U0hUX05PQklUU30sIEBjb2Rle1NIVF9JTklUX0FSUkFZfSwKK0Bjb2Rle1NIVF9GSU5JX0FS UkFZfSwgYW5kIEBjb2Rle1NIVF9QUkVJTklUX0FSUkFZfSBhcmUgYWxzbyBhbGxvd2VkCitmb3Ig QHZhcnt0eXBlfS4gIEl0IGlzIHRoZSB1c2VyJ3MgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRo YXQgYW55CitzcGVjaWFsIHJlcXVpcmVtZW50cyBvZiB0aGUgc2VjdGlvbiB0eXBlIGFyZSBtZXQu CitAaXRlbSBSRUFET05MWSAoIFRZUEUgPSBAdmFye3R5cGV9ICkKK1RoaXMgZm9ybSBvZiB0aGUg c3ludGF4IGNvbWJpbmVzIHRoZSBAdmFye1JFQURPTkxZfSB0eXBlIHdpdGggdGhlCit0eXBlIHNw ZWNpZmllZCBieSBAdmFye3R5cGV9LgogQGVuZCB0YWJsZQogCiBAa2luZGV4IE5PTE9BRApkaWZm IC0tZ2l0IGEvbGQvbGRncmFtLnkgYi9sZC9sZGdyYW0ueQppbmRleCAxMWMyZjIxOWMwNS4uM2E5 MDRlMzk0ODIgMTAwNjQ0Ci0tLSBhL2xkL2xkZ3JhbS55CisrKyBiL2xkL2xkZ3JhbS55CkBAIC00 Nyw2ICs0Nyw3IEBACiAjZW5kaWYKIAogc3RhdGljIGVudW0gc2VjdGlvbl90eXBlIHNlY3R5cGU7 CitzdGF0aWMgZXRyZWVfdHlwZSAqc2VjdHlwZV92YWx1ZTsKIHN0YXRpYyBsYW5nX21lbW9yeV9y ZWdpb25fdHlwZSAqcmVnaW9uOwogCiBzdGF0aWMgYm9vbCBsZGdyYW1faGFkX2tlZXAgPSBmYWxz ZTsKQEAgLTEzOSw2ICsxNDAsNyBAQCBzdGF0aWMgaW50IGVycm9yX2luZGV4OwogJXRva2VuIExE X0ZFQVRVUkUKICV0b2tlbiBOT0xPQUQgRFNFQ1QgQ09QWSBJTkZPIE9WRVJMQVkKICV0b2tlbiBS RUFET05MWQorJXRva2VuIFRZUEUKICV0b2tlbiBERUZJTkVEIFRBUkdFVF9LIFNFQVJDSF9ESVIg TUFQIEVOVFJZCiAldG9rZW4gPGludGVnZXI+IE5FWFQKICV0b2tlbiBTSVpFT0YgQUxJR05PRiBB RERSIExPQURBRERSIE1BWF9LIE1JTl9LCkBAIC0xMDU4LDkgKzEwNjAsOCBAQCBzZWN0aW9uOglO QU1FCiAJCQl7CiAJCQkgIGxkbGV4X3BvcHN0YXRlICgpOwogCQkJICBsZGxleF93aWxkICgpOwot CQkJICBsYW5nX2VudGVyX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudCgkMSwgJDMsIHNlY3R5cGUs Ci0JCQkJCQkJICAgICAgJDUsICQ3LCAkNCwKLQkJCQkJCQkgICAgICAkOCwgJDYpOworCQkJICBs YW5nX2VudGVyX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudCAoJDEsICQzLCBzZWN0eXBlLAorCQkJ CQlzZWN0eXBlX3ZhbHVlLCAkNSwgJDcsICQ0LCAkOCwgJDYpOwogCQkJfQogCQkneycKIAkJc3Rh dGVtZW50X2xpc3Rfb3B0CkBAIC0xMTMwLDggKzExMzEsMTAgQEAgdHlwZToKIAl8ICBDT1BZICAg IHsgc2VjdHlwZSA9IG5vYWxsb2Nfc2VjdGlvbjsgfQogCXwgIElORk8gICAgeyBzZWN0eXBlID0g bm9hbGxvY19zZWN0aW9uOyB9CiAJfCAgT1ZFUkxBWSB7IHNlY3R5cGUgPSBub2FsbG9jX3NlY3Rp b247IH0KKyAgICAgICAgfCAgUkVBRE9OTFkgJygnIFRZUEUgJz0nIGV4cCAnKScgeyBzZWN0eXBl ID0gdHlwZWRfcmVhZG9ubHlfc2VjdGlvbjsgc2VjdHlwZV92YWx1ZSA9ICQ1OyB9CiAJfCAgUkVB RE9OTFkgeyBzZWN0eXBlID0gcmVhZG9ubHlfc2VjdGlvbjsgfQotCTsKKwl8ICBUWVBFICc9JyBl eHAgeyBzZWN0eXBlID0gdHlwZV9zZWN0aW9uOyBzZWN0eXBlX3ZhbHVlID0gJDM7IH0KKyAgICAg ICAgOwogCiBhdHlwZToKIAkJJygnIHR5cGUgJyknCmRpZmYgLS1naXQgYS9sZC9sZGxhbmcuYyBi L2xkL2xkbGFuZy5jCmluZGV4IDQ3NDc4NGM4NzRhLi4xNzMzZjhlNjVjNCAxMDA2NDQKLS0tIGEv bGQvbGRsYW5nLmMKKysrIGIvbGQvbGRsYW5nLmMKQEAgLTE4OTEsOCArMTg5MSw4IEBAIGxhbmdf aW5zZXJ0X29ycGhhbiAoYXNlY3Rpb24gKnMsCiAgICAgYWRkcmVzcyA9IGV4cF9pbnRvcCAoMCk7 CiAKICAgb3NfdGFpbCA9IChsYW5nX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICoqKSBs YW5nX29zX2xpc3QudGFpbDsKLSAgb3MgPSBsYW5nX2VudGVyX291dHB1dF9zZWN0aW9uX3N0YXRl bWVudCAoc2VjbmFtZSwgYWRkcmVzcywgbm9ybWFsX3NlY3Rpb24sCi0JCQkJCSAgICBOVUxMLCBO VUxMLCBOVUxMLCBjb25zdHJhaW50LCAwKTsKKyAgb3MgPSBsYW5nX2VudGVyX291dHB1dF9zZWN0 aW9uX3N0YXRlbWVudCAoCisgICAgICBzZWNuYW1lLCBhZGRyZXNzLCBub3JtYWxfc2VjdGlvbiwg MCwgTlVMTCwgTlVMTCwgTlVMTCwgY29uc3RyYWludCwgMCk7CiAKICAgaWYgKGFkZF9jaGlsZCA9 PSBOVUxMKQogICAgIGFkZF9jaGlsZCA9ICZvcy0+Y2hpbGRyZW47CkBAIC0yNjM1LDEwICsyNjM1 LDEyIEBAIGxhbmdfYWRkX3NlY3Rpb24gKGxhbmdfc3RhdGVtZW50X2xpc3RfdHlwZSAqcHRyLAog ICAgIGNhc2Ugbm9ybWFsX3NlY3Rpb246CiAgICAgY2FzZSBvdmVybGF5X3NlY3Rpb246CiAgICAg Y2FzZSBmaXJzdF9vdmVybGF5X3NlY3Rpb246CisgICAgY2FzZSB0eXBlX3NlY3Rpb246CiAgICAg ICBicmVhazsKICAgICBjYXNlIG5vYWxsb2Nfc2VjdGlvbjoKICAgICAgIGZsYWdzICY9IH5TRUNf QUxMT0M7CiAgICAgICBicmVhazsKKyAgICBjYXNlIHR5cGVkX3JlYWRvbmx5X3NlY3Rpb246CiAg ICAgY2FzZSByZWFkb25seV9zZWN0aW9uOgogICAgICAgZmxhZ3MgfD0gU0VDX1JFQURPTkxZOwog ICAgICAgYnJlYWs7CkBAIC00MjA5LDYgKzQyMTEsNyBAQCBtYXBfaW5wdXRfdG9fb3V0cHV0X3Nl Y3Rpb25zCiAgICAgewogICAgICAgbGFuZ19vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAq dG9zOwogICAgICAgZmxhZ3dvcmQgZmxhZ3M7CisgICAgICB1bnNpZ25lZCBpbnQgdHlwZSA9IDA7 CiAKICAgICAgIHN3aXRjaCAocy0+aGVhZGVyLnR5cGUpCiAJewpAQCAtNDI2NCw2ICs0MjY3LDQy IEBAIG1hcF9pbnB1dF90b19vdXRwdXRfc2VjdGlvbnMKIAkgICAgY2FzZSByZWFkb25seV9zZWN0 aW9uOgogCSAgICAgIGZsYWdzIHw9IFNFQ19SRUFET05MWTsKIAkgICAgICBicmVhazsKKwkgICAg Y2FzZSB0eXBlZF9yZWFkb25seV9zZWN0aW9uOgorCSAgICAgIGZsYWdzIHw9IFNFQ19SRUFET05M WTsKKwkgICAgICAvKiBGYWxsIHRocm91Z2guICAqLworCSAgICBjYXNlIHR5cGVfc2VjdGlvbjoK KwkgICAgICBpZiAob3MtPnNlY3R5cGVfdmFsdWUtPnR5cGUubm9kZV9jbGFzcyA9PSBldHJlZV9u YW1lCisJCSAgJiYgb3MtPnNlY3R5cGVfdmFsdWUtPnR5cGUubm9kZV9jb2RlID09IE5BTUUpCisJ CXsKKwkJICBjb25zdCBjaGFyICpuYW1lID0gb3MtPnNlY3R5cGVfdmFsdWUtPm5hbWUubmFtZTsK KwkJICBpZiAoc3RyY21wIChuYW1lLCAiU0hUX1BST0dCSVRTIikgPT0gMCkKKwkJICAgIHR5cGUg PSBTSFRfUFJPR0JJVFM7CisJCSAgZWxzZSBpZiAoc3RyY21wIChuYW1lLCAiU0hUX1NUUlRBQiIp ID09IDApCisJCSAgICB0eXBlID0gU0hUX1NUUlRBQjsKKwkJICBlbHNlIGlmIChzdHJjbXAgKG5h bWUsICJTSFRfTk9URSIpID09IDApCisJCSAgICB0eXBlID0gU0hUX05PVEU7CisJCSAgZWxzZSBp ZiAoc3RyY21wIChuYW1lLCAiU0hUX05PQklUUyIpID09IDApCisJCSAgICB0eXBlID0gU0hUX05P QklUUzsKKwkJICBlbHNlIGlmIChzdHJjbXAgKG5hbWUsICJTSFRfSU5JVF9BUlJBWSIpID09IDAp CisJCSAgICB0eXBlID0gU0hUX0lOSVRfQVJSQVk7CisJCSAgZWxzZSBpZiAoc3RyY21wIChuYW1l LCAiU0hUX0ZJTklfQVJSQVkiKSA9PSAwKQorCQkgICAgdHlwZSA9IFNIVF9GSU5JX0FSUkFZOwor CQkgIGVsc2UgaWYgKHN0cmNtcCAobmFtZSwgIlNIVF9QUkVJTklUX0FSUkFZIikgPT0gMCkKKwkJ ICAgIHR5cGUgPSBTSFRfUFJFSU5JVF9BUlJBWTsKKwkJICBlbHNlCisJCSAgICBlaW5mbyAoXyAo IiVGJVA6IGludmFsaWQgdHlwZSBmb3Igb3V0cHV0IHNlY3Rpb24gYCVzJ1xuIiksCisJCQkgICBv cy0+bmFtZSk7CisJCX0KKwkgICAgIGVsc2UKKwkgICAgICAgeworCQkgZXhwX2ZvbGRfdHJlZV9u b19kb3QgKG9zLT5zZWN0eXBlX3ZhbHVlKTsKKwkJIGlmIChleHBsZC5yZXN1bHQudmFsaWRfcCkK KwkJICAgdHlwZSA9IGV4cGxkLnJlc3VsdC52YWx1ZTsKKwkJIGVsc2UKKwkJICAgZWluZm8gKF8g KCIlRiVQOiBpbnZhbGlkIHR5cGUgZm9yIG91dHB1dCBzZWN0aW9uIGAlcydcbiIpLAorCQkJICBv cy0+bmFtZSk7CisJICAgICAgIH0KKwkgICAgICBicmVhazsKIAkgICAgY2FzZSBub2xvYWRfc2Vj dGlvbjoKIAkgICAgICBpZiAoYmZkX2dldF9mbGF2b3VyIChsaW5rX2luZm8ub3V0cHV0X2JmZCkK IAkJICA9PSBiZmRfdGFyZ2V0X2VsZl9mbGF2b3VyKQpAQCAtNDI3Niw2ICs0MzE1LDcgQEAgbWFw X2lucHV0X3RvX291dHB1dF9zZWN0aW9ucwogCSAgICBpbml0X29zIChvcywgZmxhZ3MgfCBTRUNf UkVBRE9OTFkpOwogCSAgZWxzZQogCSAgICBvcy0+YmZkX3NlY3Rpb24tPmZsYWdzIHw9IGZsYWdz OworCSAgb3MtPmJmZF9zZWN0aW9uLT50eXBlID0gdHlwZTsKIAkgIGJyZWFrOwogCWNhc2UgbGFu Z19pbnB1dF9zZWN0aW9uX2VudW06CiAJICBicmVhazsKQEAgLTc1MDYsNiArNzU0Niw3IEBAIGxh bmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3R5cGUgKgogbGFuZ19lbnRlcl9vdXRwdXRfc2Vj dGlvbl9zdGF0ZW1lbnQgKGNvbnN0IGNoYXIgKm91dHB1dF9zZWN0aW9uX3N0YXRlbWVudF9uYW1l LAogCQkJCSAgICAgZXRyZWVfdHlwZSAqYWRkcmVzc19leHAsCiAJCQkJICAgICBlbnVtIHNlY3Rp b25fdHlwZSBzZWN0eXBlLAorCQkJCSAgICAgZXRyZWVfdHlwZSAqc2VjdHlwZV92YWx1ZSwKIAkJ CQkgICAgIGV0cmVlX3R5cGUgKmFsaWduLAogCQkJCSAgICAgZXRyZWVfdHlwZSAqc3ViYWxpZ24s CiAJCQkJICAgICBldHJlZV90eXBlICplYmFzZSwKQEAgLTc1MjMsMTAgKzc1NjQsMTIgQEAgbGFu Z19lbnRlcl9vdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQgKGNvbnN0IGNoYXIgKm91dHB1dF9zZWN0 aW9uX3N0YXRlbWVudF9uYW1lLAogICAgICAgb3MtPmFkZHJfdHJlZSA9IGFkZHJlc3NfZXhwOwog ICAgIH0KICAgb3MtPnNlY3R5cGUgPSBzZWN0eXBlOwotICBpZiAoc2VjdHlwZSAhPSBub2xvYWRf c2VjdGlvbikKLSAgICBvcy0+ZmxhZ3MgPSBTRUNfTk9fRkxBR1M7Ci0gIGVsc2UKKyAgaWYgKHNl Y3R5cGUgPT0gdHlwZV9zZWN0aW9uIHx8IHNlY3R5cGUgPT0gdHlwZWRfcmVhZG9ubHlfc2VjdGlv bikKKyAgICBvcy0+c2VjdHlwZV92YWx1ZSA9IHNlY3R5cGVfdmFsdWU7CisgIGVsc2UgaWYgKHNl Y3R5cGUgPT0gbm9sb2FkX3NlY3Rpb24pCiAgICAgb3MtPmZsYWdzID0gU0VDX05FVkVSX0xPQUQ7 CisgIGVsc2UKKyAgICBvcy0+ZmxhZ3MgPSBTRUNfTk9fRkxBR1M7CiAgIG9zLT5ibG9ja192YWx1 ZSA9IDE7CiAKICAgLyogTWFrZSBuZXh0IHRoaW5ncyBjaGFpbiBpbnRvIHN1YmNoYWluIG9mIHRo aXMuICAqLwpAQCAtODg0Miw3ICs4ODg1LDcgQEAgbGFuZ19lbnRlcl9vdmVybGF5X3NlY3Rpb24g KGNvbnN0IGNoYXIgKm5hbWUpCiAgIGV0cmVlX3R5cGUgKnNpemU7CiAKICAgbGFuZ19lbnRlcl9v dXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQgKG5hbWUsIG92ZXJsYXlfdm1hLCBvdmVybGF5X3NlY3Rp b24sCi0JCQkJICAgICAgIDAsIG92ZXJsYXlfc3ViYWxpZ24sIDAsIDAsIDApOworCQkJCSAgICAg ICAwLCAwLCBvdmVybGF5X3N1YmFsaWduLCAwLCAwLCAwKTsKIAogICAvKiBJZiB0aGlzIGlzIHRo ZSBmaXJzdCBzZWN0aW9uLCB0aGVuIGJhc2UgdGhlIFZNQSBvZiBmdXR1cmUKICAgICAgc2VjdGlv bnMgb24gdGhpcyBvbmUuICBUaGlzIHdpbGwgd29yayBjb3JyZWN0bHkgZXZlbiBpZiBgLicgaXMK ZGlmZiAtLWdpdCBhL2xkL2xkbGFuZy5oIGIvbGQvbGRsYW5nLmgKaW5kZXggMGQwNTdjOWJlZTku Ljk1ZjZlNDY4YjMwIDEwMDY0NAotLS0gYS9sZC9sZGxhbmcuaAorKysgYi9sZC9sZGxhbmcuaApA QCAtMTIyLDcgKzEyMiw5IEBAIGVudW0gc2VjdGlvbl90eXBlCiAgIG92ZXJsYXlfc2VjdGlvbiwK ICAgbm9sb2FkX3NlY3Rpb24sCiAgIG5vYWxsb2Nfc2VjdGlvbiwKLSAgcmVhZG9ubHlfc2VjdGlv bgorICB0eXBlX3NlY3Rpb24sCisgIHJlYWRvbmx5X3NlY3Rpb24sCisgIHR5cGVkX3JlYWRvbmx5 X3NlY3Rpb24KIH07CiAKIC8qIFRoaXMgc3RydWN0dXJlIGhvbGRzIGEgbGlzdCBvZiBwcm9ncmFt IGhlYWRlcnMgZGVzY3JpYmluZwpAQCAtMTY2LDYgKzE2OCw3IEBAIHR5cGVkZWYgc3RydWN0IGxh bmdfb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50X3N0cnVjdAogICBpbnQgY29uc3RyYWludDsKICAg ZmxhZ3dvcmQgZmxhZ3M7CiAgIGVudW0gc2VjdGlvbl90eXBlIHNlY3R5cGU7CisgIGV0cmVlX3R5 cGUgKnNlY3R5cGVfdmFsdWU7CiAgIHVuc2lnbmVkIGludCBwcm9jZXNzZWRfdm1hIDogMTsKICAg dW5zaWduZWQgaW50IHByb2Nlc3NlZF9sbWEgOiAxOwogICB1bnNpZ25lZCBpbnQgYWxsX2lucHV0 X3JlYWRvbmx5IDogMTsKQEAgLTU0NSw3ICs1NDgsNyBAQCBleHRlcm4gdm9pZCBsYW5nX2FkZF9v dXRwdXQKICAgKGNvbnN0IGNoYXIgKiwgaW50IGZyb21fc2NyaXB0KTsKIGV4dGVybiBsYW5nX291 dHB1dF9zZWN0aW9uX3N0YXRlbWVudF90eXBlICpsYW5nX2VudGVyX291dHB1dF9zZWN0aW9uX3N0 YXRlbWVudAogICAoY29uc3QgY2hhciAqLCBldHJlZV90eXBlICosIGVudW0gc2VjdGlvbl90eXBl LCBldHJlZV90eXBlICosIGV0cmVlX3R5cGUgKiwKLSAgIGV0cmVlX3R5cGUgKiwgaW50LCBpbnQp OworICAgZXRyZWVfdHlwZSAqLCBldHJlZV90eXBlICosIGludCwgaW50KTsKIGV4dGVybiB2b2lk IGxhbmdfZmluYWwKICAgKHZvaWQpOwogZXh0ZXJuIHZvaWQgbGFuZ19yZWxheF9zZWN0aW9ucwpk aWZmIC0tZ2l0IGEvbGQvbGRsZXgubCBiL2xkL2xkbGV4LmwKaW5kZXggNzhkYjE2ZTNhNDguLmMz OGI0NmI5MzM2IDEwMDY0NAotLS0gYS9sZC9sZGxleC5sCisrKyBiL2xkL2xkbGV4LmwKQEAgLTMy Myw2ICszMjMsNyBAQCBWX0lERU5USUZJRVIgWyo/LiRfYS16QS1aXFtcXVwtXCFcXlxcXShbKj8u JF9hLXpBLVowLTlcW1xdXC1cIVxeXFxdfDo6KSoKIDxFWFBSRVNTSU9OPiJEU0VDVCIJCQl7IFJU T0tFTihEU0VDVCk7IH0KIDxFWFBSRVNTSU9OPiJDT1BZIgkJCXsgUlRPS0VOKENPUFkpOyB9CiA8 RVhQUkVTU0lPTj4iSU5GTyIJCQl7IFJUT0tFTihJTkZPKTsgfQorPEVYUFJFU1NJT04+IlRZUEUi CQkJeyBSVE9LRU4oVFlQRSk7IH0KIDxTQ1JJUFQsRVhQUkVTU0lPTj4iT05MWV9JRl9STyIJCXsg UlRPS0VOKE9OTFlfSUZfUk8pOyB9CiA8U0NSSVBULEVYUFJFU1NJT04+Ik9OTFlfSUZfUlciCQl7 IFJUT0tFTihPTkxZX0lGX1JXKTsgfQogPFNDUklQVCxFWFBSRVNTSU9OPiJTUEVDSUFMIgkJeyBS VE9LRU4oU1BFQ0lBTCk7IH0KZGlmZiAtLWdpdCBhL2xkL21yaS5jIGIvbGQvbXJpLmMKaW5kZXgg YjQyOGFiMGQwYmYuLjU3NDk4NzBlZjFlIDEwMDY0NAotLS0gYS9sZC9tcmkuYworKysgYi9sZC9t cmkuYwpAQCAtMjEwLDggKzIxMCw4IEBAIG1yaV9kcmF3X3RyZWUgKHZvaWQpCiAJICAgIGJhc2Ug PSBwLT52bWEgPyBwLT52bWEgOiBleHBfbmFtZW9wIChOQU1FLCAiLiIpOwogCiAJICBsYW5nX2Vu dGVyX291dHB1dF9zZWN0aW9uX3N0YXRlbWVudCAocC0+bmFtZSwgYmFzZSwKLQkJCQkJICAgICAg IHAtPm9rX3RvX2xvYWQgPyBub3JtYWxfc2VjdGlvbiA6IG5vbG9hZF9zZWN0aW9uLAotCQkJCQkg ICAgICAgYWxpZ24sIHN1YmFsaWduLCBOVUxMLCAwLCAwKTsKKwkgICAgcC0+b2tfdG9fbG9hZCA/ IG5vcm1hbF9zZWN0aW9uIDogbm9sb2FkX3NlY3Rpb24sIDAsCisJICAgIGFsaWduLCBzdWJhbGln biwgTlVMTCwgMCwgMCk7CiAJICBiYXNlID0gMDsKIAkgIHRtcCA9IChzdHJ1Y3Qgd2lsZGNhcmRf bGlzdCAqKSB4bWFsbG9jIChzaXplb2YgKnRtcCk7CiAJICB0bXAtPm5leHQgPSBOVUxMOwpkaWZm IC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXNjcmlwdHMvb3V0cHV0LXNlY3Rpb24tdHlwZXMuZCBi L2xkL3Rlc3RzdWl0ZS9sZC1zY3JpcHRzL291dHB1dC1zZWN0aW9uLXR5cGVzLmQKaW5kZXggYWIx MjRmYTRkZDcuLjJlY2FjYWJhNTdkIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtc2NyaXB0 cy9vdXRwdXQtc2VjdGlvbi10eXBlcy5kCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1zY3JpcHRzL291 dHB1dC1zZWN0aW9uLXR5cGVzLmQKQEAgLTEsMTMgKzEsMTcgQEAKICNsZDogLVRvdXRwdXQtc2Vj dGlvbi10eXBlcy50CiAjc291cmNlOiBhbGlnbjJhLnMKLSNvYmpkdW1wOiAtaAorI3JlYWRlbGY6 IC1TIC0td2lkZQogI3RhcmdldDogW2lzX2VsZl9mb3JtYXRdCiAKICMuLi4KLSAgLiBcLnJvbS4q Ci1bIAldK0FMTE9DLCBSRUFET05MWQotICAuIFwucm8uKgotWyAJXStDT05URU5UUywgQUxMT0Ms IExPQUQsIFJFQURPTkxZLCBEQVRBCi0gIC4gXC5vdmVyLioKLVsgCV0rQ09OVEVOVFMsIFJFQURP TkxZCisuKiAucm9tICAgICAgICAgICtOT0JJVFMgICAgICAgICtbMC05YS1mXSsgK1swLTlhLWZd KyArWzAtOWEtZl0rICswMCArQSArMCArMCArWzEyNDhdCisuKiAucm8gICAgICAgICAgICtQUk9H QklUUyAgICAgICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswMCArQSArMCArMCAr WzEyNDhdCisuKiAub3ZlciAgICAgICAgICtQUk9HQklUUyAgICAgICtbMC05YS1mXSsgK1swLTlh LWZdKyArWzAtOWEtZl0rICswMCAgKyArMCArMCArWzEyNDhdCisuKiBwcm9nYml0cyAgICAgICtQ Uk9HQklUUyAgICAgICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswMCArQSArMCAr MCArWzEyNDhdCisuKiBzdHJ0YWIgICAgICAgICtTVFJUQUIgICAgICAgICtbMC05YS1mXSsgK1sw LTlhLWZdKyArWzAtOWEtZl0rICswMCArQSArMCArMCArWzEyNDhdCisuKiBub3RlICAgICAgICAg ICtOT1RFICAgICAgICAgICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswMCArQSAr MCArMCArWzEyNDhdCisuKiBpbml0X2FycmF5ICAgICtJTklUX0FSUkFZICAgICtbMC05YS1mXSsg K1swLTlhLWZdKyArWzAtOWEtZl0rICswWzQ4XSArQSArMCArMCArWzEyNDhdCisuKiBmaW5pX2Fy cmF5ICAgICtGSU5JX0FSUkFZICAgICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICsw WzQ4XSArQSArMCArMCArWzEyNDhdCisuKiBwcmVpbml0X2FycmF5ICtQUkVJTklUX0FSUkFZICtb MC05YS1mXSsgK1swLTlhLWZdKyArWzAtOWEtZl0rICswWzQ4XSArQSArMCArMCArWzEyNDhdCisu KiAucm8ubm90ZSAgICAgICtOT1RFICAgICAgICAgICtbMC05YS1mXSsgK1swLTlhLWZdKyArWzAt OWEtZl0rICswMCArQSArMCArMCArWzEyNDhdCiAjcGFzcwpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1 aXRlL2xkLXNjcmlwdHMvb3V0cHV0LXNlY3Rpb24tdHlwZXMudCBiL2xkL3Rlc3RzdWl0ZS9sZC1z Y3JpcHRzL291dHB1dC1zZWN0aW9uLXR5cGVzLnQKaW5kZXggZDhmZGZkYTFhMDMuLjE4ZmM1YzEx OTgwIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtc2NyaXB0cy9vdXRwdXQtc2VjdGlvbi10 eXBlcy50CisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1zY3JpcHRzL291dHB1dC1zZWN0aW9uLXR5cGVz LnQKQEAgLTIsNiArMiwxMyBAQCBTRUNUSU9OUyB7CiAgIC5yb20gIChOT0xPQUQpICAgOiB7IExP TkcoMTIzNCk7IH0KICAgLnJvICAgKFJFQURPTkxZKSA6IHsgTE9ORyg1Njc4KTsgfQogICAub3Zl ciAoT1ZFUkxBWSkgIDogeyBMT05HKDAxMjMpOyB9CisgIHByb2diaXRzIChUWVBFPVNIVF9QUk9H QklUUykgOiB7IEJZVEUoMSkgfQorICBzdHJ0YWIgKFRZUEUgPSBTSFRfU1RSVEFCKSA6IHsgQllU RSgwKSB9CisgIG5vdGUgKFRZUEUgPVNIVF9OT1RFKSA6IHsgQllURSg4KSB9CisgIGluaXRfYXJy YXkgKFRZUEU9IDE0KSA6IHsgUVVBRCgxNCkgfQorICBmaW5pX2FycmF5ICggVFlQRT1TSFRfRklO SV9BUlJBWSkgOiB7IFFVQUQoMTUpIH0KKyAgcHJlaW5pdF9hcnJheSAoVFlQRT1TSFRfUFJFSU5J VF9BUlJBWSApIDogeyBRVUFEKDE2KSB9CisgIC5yby5ub3RlICAgKFJFQURPTkxZIChUWVBFPVNI VF9OT1RFKSkgOiB7IExPTkcoNTY3OCk7IH0KICAgL0RJU0NBUkQvICAgICAgICA6IHsgKigqKSB9 CiAKIH0K --------------QNfNcng3Kq0DWnN0ZD2EBYsL--