From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd43.google.com (mail-io1-xd43.google.com [IPv6:2607:f8b0:4864:20::d43]) by sourceware.org (Postfix) with ESMTPS id 9F0E13851C37 for ; Mon, 1 Jun 2020 21:14:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9F0E13851C37 Received: by mail-io1-xd43.google.com with SMTP id p20so8465637iop.11 for ; Mon, 01 Jun 2020 14:14:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wT+ARc8HSreJoD1DggwvOEoot/NycqNfpRvHuzroQD0=; b=IbUOK1H9ZHq5NVdnbKgX4BDbqJaEAD+CbscNXw/o0lmEUBU/8hvTneNpNSU9Jmh8TD gQaNPSp+dq6ezyr1OxgYoRGDdALCFJ7XSiTXxh+LRh0ms66wGLIrW5OG80IEr85AC6HQ IlVm+c8kog0X/GmKZtkUINoSxBsKvEGckzJbd/PCT9tEsKNcO0O5rkOD42/OZc+KngoK 5AkbhGT1NbaHpJF01wuzW97N7Hp9wQWMc9B1R2RuO96Bq0gi8qrQN70KO3y16Uob8x4G daJ+rBgOHXHOoQT9xvxqXCV9NYuBCpTkhJYDSTWgccSYRKoeJrSh6Zda4rjJT25EqHGh rW2w== X-Gm-Message-State: AOAM532RLTMxyb4iwrAredJbSRwu8TOJcnerjfkla0u4nGICM2nFxrVx LopAhm7+IxF5UhI8kdiVwt4d7cAxRJ1Vf93QQL8= X-Google-Smtp-Source: ABdhPJwmc/519U8B+yfzFazKMUFv6/FNPMIZwNvhZQmt0PowDkqkQ+p1Jzb0NGgWE8nTuWtbEOd2HP8vngmyOhd2Fto= X-Received: by 2002:a6b:d219:: with SMTP id q25mr20549219iob.202.1591046041225; Mon, 01 Jun 2020 14:14:01 -0700 (PDT) MIME-Version: 1.0 References: <15ec783d-46f5-0166-aee9-f1d16a58ca83@huawei.com> <87blm2wlzk.fsf@mid.deneb.enyo.de> In-Reply-To: From: "H.J. Lu" Date: Mon, 1 Jun 2020 14:13:25 -0700 Message-ID: Subject: Re: [PATCH] x86: Add thresholds for "rep movsb/stosb" to tunables To: "Carlos O'Donell" Cc: Florian Weimer , "H.J. Lu via Libc-alpha" , Hushiyuan Content-Type: multipart/mixed; boundary="0000000000001c0f2405a70c46d6" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2020 21:14:04 -0000 --0000000000001c0f2405a70c46d6 Content-Type: text/plain; charset="UTF-8" On Mon, Jun 1, 2020 at 1:57 PM Carlos O'Donell wrote: > > On Mon, Jun 1, 2020 at 4:48 PM Florian Weimer wrote: > > > > * H. J. Lu via Libc-alpha: > > > > > On Mon, Jun 1, 2020 at 1:15 PM H.J. Lu wrote: > > >> > > >> On Mon, Jun 1, 2020 at 12:38 PM Carlos O'Donell wrote: > > >> > > > >> > On Mon, Jun 1, 2020 at 3:33 PM H.J. Lu wrote: > > >> > > Did you mean adding --list-tunables to ld.so? libc.so.6 doesn't take > > >> > > any arguments. > > >> > > > >> > Yes, I mean adding argument processing to libc.so.6, and handling > > >> > --list-tunables. > > >> > > > >> > We have enough infrastructure in place that wiring that up shouldn't be too bad? > > >> > > > >> > Then, even in trimmed down containers, you can just run > > >> > /lib64/libc.so.6 --list-tunables and get back the list of tunables and > > >> > their min, max, and security values. > > >> > > >> Adding an argument to libc.so.6 is difficult since argument passing is > > >> processor specific. Adding --list-tunables to ld.so? is more doable. > > > > > > But tunables are in libc.so. > > > > If this is really a problem, we can load libc.so and call a > > GLIBC_PRIVATE function to print the information. > > Agreed. > > Please keep in mind the original problem we are trying to solve. > > We want a tunable for a parameter that is difficult to explain to the user. > > To make it easier for our users to use the tunable we are going to > provide them a way to look at the tunable settings in detail. > > Yes, it requires a target system, but we can't avoid that in some cases. > Something like this? -- H.J. --0000000000001c0f2405a70c46d6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-x86-Pass-argc-and-argv-to-__libc_main.patch" Content-Disposition: attachment; filename="0001-x86-Pass-argc-and-argv-to-__libc_main.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kawzp2z60 RnJvbSAxN2E2NjFhYzZmMTBlOWNmNTFhNjY0Y2U5NWVlOTVjODExM2M3NGU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMSBKdW4gMjAyMCAxNDoxMTozMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIHg4NjogUGFz cyBhcmdjIGFuZCBhcmd2IHRvIF9fbGliY19tYWluCgotLS0KIGNzdS9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIGNzdS97dmVyc2lvbi5jID0+IGxpYmMtdmVyc2lvbi5j fSB8ICA4ICsrKysrLS0KIHN5c2RlcHMveDg2L01ha2VmaWxlICAgICAgICAgICAgICB8ICAxICsK IHN5c2RlcHMveDg2L2xpYmMtbWFpbi5TICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIHN5c2RlcHMveDg2L2xpYmMtdmVyc2lvbi5jICAgICAgICB8IDMwICsr KysrKysrKysrKysrKysrKysrKysrKwogc3lzZGVwcy94ODZfNjQvc3RhcnQuUyAgICAgICAgICAg IHwgMzQgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDEwNCBp bnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIHJlbmFtZSBjc3Uve3ZlcnNpb24uYyA9PiBs aWJjLXZlcnNpb24uY30gKDkzJSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzeXNkZXBzL3g4Ni9saWJj LW1haW4uUwogY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2L2xpYmMtdmVyc2lvbi5jCgpk aWZmIC0tZ2l0IGEvY3N1L01ha2VmaWxlIGIvY3N1L01ha2VmaWxlCmluZGV4IDU1NWFlMjdkZWEu Ljk1MWEwOTNmMTUgMTAwNjQ0Ci0tLSBhL2NzdS9NYWtlZmlsZQorKysgYi9jc3UvTWFrZWZpbGUK QEAgLTI2LDggKzI2LDggQEAgc3ViZGlyIDo9IGNzdQogCiBpbmNsdWRlIC4uL01ha2Vjb25maWcK IAotcm91dGluZXMgPSBpbml0LWZpcnN0IGxpYmMtc3RhcnQgJChsaWJjLWluaXQpIHN5c2RlcCB2 ZXJzaW9uIGNoZWNrX2ZkcyBcCi0JICAgbGliYy10bHMgZWxmLWluaXQgZHNvX2hhbmRsZQorcm91 dGluZXMgPSBpbml0LWZpcnN0IGxpYmMtc3RhcnQgJChsaWJjLWluaXQpIHN5c2RlcCBsaWJjLXZl cnNpb24gXAorCSAgIGNoZWNrX2ZkcyBsaWJjLXRscyBlbGYtaW5pdCBkc29faGFuZGxlCiBhdXgJ ID0gZXJybm8KIGVsaWRlLXJvdXRpbmVzLm9zID0gbGliYy10bHMKIHN0YXRpYy1vbmx5LXJvdXRp bmVzID0gZWxmLWluaXQKZGlmZiAtLWdpdCBhL2NzdS92ZXJzaW9uLmMgYi9jc3UvbGliYy12ZXJz aW9uLmMKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZyb20gY3N1L3ZlcnNpb24uYwpyZW5h bWUgdG8gY3N1L2xpYmMtdmVyc2lvbi5jCmluZGV4IDU3YjQ5ZGZkOGEuLjliMGY0Y2I5NGIgMTAw NjQ0Ci0tLSBhL2NzdS92ZXJzaW9uLmMKKysrIGIvY3N1L2xpYmMtdmVyc2lvbi5jCkBAIC02MSwx MiArNjEsMTYgQEAgX19nbnVfZ2V0X2xpYmNfdmVyc2lvbiAodm9pZCkKIH0KIHdlYWtfYWxpYXMg KF9fZ251X2dldF9saWJjX3ZlcnNpb24sIGdudV9nZXRfbGliY192ZXJzaW9uKQogCisjaWZuZGVm IExJQkNfTUFJTgorIyBkZWZpbmUgTElCQ19NQUlOIF9fbGliY19tYWluCisjZW5kaWYKKwogLyog VGhpcyBmdW5jdGlvbiBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBzaGFyZWQgb2JqZWN0Lgog ICAgUnVubmluZyB0aGUgbGlicmFyeSBhcyBhIHByb2dyYW0gd2lsbCBnZXQgaGVyZS4gICovCiAK LWV4dGVybiB2b2lkIF9fbGliY19tYWluICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgobm9yZXR1cm4p KTsKK2V4dGVybiB2b2lkIExJQkNfTUFJTiAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKG5vcmV0dXJu LCB2aXNpYmlsaXR5ICgiaGlkZGVuIikpKTsKIHZvaWQKLV9fbGliY19tYWluICh2b2lkKQorTElC Q19NQUlOICh2b2lkKQogewogICBfX2xpYmNfcHJpbnRfdmVyc2lvbiAoKTsKICAgX2V4aXQgKDAp OwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvTWFrZWZpbGUgYi9zeXNkZXBzL3g4Ni9NYWtlZmls ZQppbmRleCBiZWFiNDI2ZjY3Li5kZTZhZWQ4OWVlIDEwMDY0NAotLS0gYS9zeXNkZXBzL3g4Ni9N YWtlZmlsZQorKysgYi9zeXNkZXBzL3g4Ni9NYWtlZmlsZQpAQCAtMSw1ICsxLDYgQEAKIGlmZXEg KCQoc3ViZGlyKSxjc3UpCiBnZW4tYXMtY29uc3QtaGVhZGVycyArPSBjcHUtZmVhdHVyZXMtb2Zm c2V0cy5zeW0KK3JvdXRpbmVzICs9IGxpYmMtbWFpbgogZW5kaWYKIAogaWZlcSAoJChzdWJkaXIp LGVsZikKZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2L2xpYmMtbWFpbi5TIGIvc3lzZGVwcy94ODYv bGliYy1tYWluLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMmY4ZGQw YmU3MwotLS0gL2Rldi9udWxsCisrKyBiL3N5c2RlcHMveDg2L2xpYmMtbWFpbi5TCkBAIC0wLDAg KzEsMzggQEAKKy8qIENvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBU aGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9y IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEluIGFkZGl0aW9uIHRv IHRoZSBwZXJtaXNzaW9ucyBpbiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGlj ZW5zZSwgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBnaXZlcyB5b3UgdW5saW1pdGVkCisg ICBwZXJtaXNzaW9uIHRvIGxpbmsgdGhlIGNvbXBpbGVkIHZlcnNpb24gb2YgdGhpcyBmaWxlIHdp dGggb3RoZXIKKyAgIHByb2dyYW1zLCBhbmQgdG8gZGlzdHJpYnV0ZSB0aG9zZSBwcm9ncmFtcyB3 aXRob3V0IGFueSByZXN0cmljdGlvbgorICAgY29taW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIGZp bGUuIChUaGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSByZXN0cmljdGlv bnMgZG8gYXBwbHkgaW4gb3RoZXIgcmVzcGVjdHM7IGZvciBleGFtcGxlLCB0aGV5CisgICBjb3Zl ciBtb2RpZmljYXRpb24gb2YgdGhlIGZpbGUsIGFuZCBkaXN0cmlidXRpb24gd2hlbiBub3QgbGlu a2VkCisgICBpbnRvIGFub3RoZXIgcHJvZ3JhbS4pCisKKyAgIE5vdGUgdGhhdCBwZW9wbGUgd2hv IG1ha2UgbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhpcyBmaWxlIGFyZSBub3QKKyAgIG9ibGlnYXRl ZCB0byBncmFudCB0aGlzIHNwZWNpYWwgZXhjZXB0aW9uIGZvciB0aGVpciBtb2RpZmllZAorICAg dmVyc2lvbnM7IGl0IGlzIHRoZWlyIGNob2ljZSB3aGV0aGVyIHRvIGRvIHNvLiBUaGUgR05VIExl c3NlcgorICAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBnaXZlcyBwZXJtaXNzaW9uIHRvIHJlbGVh c2UgYSBtb2RpZmllZAorICAgdmVyc2lvbiB3aXRob3V0IHRoaXMgZXhjZXB0aW9uOyB0aGlzIGV4 Y2VwdGlvbiBhbHNvIG1ha2VzIGl0CisgICBwb3NzaWJsZSB0byByZWxlYXNlIGEgbW9kaWZpZWQg dmVyc2lvbiB3aGljaCBjYXJyaWVzIGZvcndhcmQgdGhpcworICAgZXhjZXB0aW9uLgorCisgICBU aGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFs b25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCisgICA8aHR0cHM6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworCS5oaWRkZW4gX194ODZfbGliY19tYWluCisKKyNk ZWZpbmUgTElCQ19NQUlOIF9feDg2X2xpYmNfbWFpbgorI2luY2x1ZGUgInN0YXJ0LlMiCmRpZmYg LS1naXQgYS9zeXNkZXBzL3g4Ni9saWJjLXZlcnNpb24uYyBiL3N5c2RlcHMveDg2L2xpYmMtdmVy c2lvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmJhYzBjZGE2YzcK LS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL3g4Ni9saWJjLXZlcnNpb24uYwpAQCAtMCwwICsx LDMwIEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKworICAgVGhl IEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGUgR05VIEMgTGlicmFy eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdO VSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCisgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworI2RlZmluZSBMSUJDX01BSU4gX19nZW5lcmljX2xpYmNfbWFpbgorI2luY2x1 ZGUgPGNzdS9saWJjLXZlcnNpb24uYz4KKworLyogVGhpcyBmdW5jdGlvbiBpcyB0aGUgZW50cnkg cG9pbnQgZm9yIHRoZSBzaGFyZWQgb2JqZWN0LgorICAgUnVubmluZyB0aGUgbGlicmFyeSBhcyBh IHByb2dyYW0gd2lsbCBnZXQgaGVyZS4gICovCisKK2V4dGVybiB2b2lkIF9feDg2X2xpYmNfbWFp biAoaW50LCBjaGFyICoqKSBfX2F0dHJpYnV0ZV9fICgobm9yZXR1cm4pKTsKKwordm9pZAorX194 ODZfbGliY19tYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisgIF9fZ2VuZXJpY19saWJj X21haW4gKCk7Cit9CmRpZmYgLS1naXQgYS9zeXNkZXBzL3g4Nl82NC9zdGFydC5TIGIvc3lzZGVw cy94ODZfNjQvc3RhcnQuUwppbmRleCA3NDc3YjYzMmY3Li4xOGQ5MTAyNTdiIDEwMDY0NAotLS0g YS9zeXNkZXBzL3g4Nl82NC9zdGFydC5TCisrKyBiL3N5c2RlcHMveDg2XzY0L3N0YXJ0LlMKQEAg LTU1LDcgKzU1LDEzIEBACiAKICNpbmNsdWRlIDxzeXNkZXAuaD4KIAotRU5UUlkgKF9zdGFydCkK KyNpZmRlZiBMSUJDX01BSU4KKyMgZGVmaW5lIFNUQVJUIF9fbGliY19tYWluCisjZWxzZQorIyBk ZWZpbmUgU1RBUlQgX3N0YXJ0CisjZW5kaWYKKworRU5UUlkgKFNUQVJUKQogCS8qIENsZWFyaW5n IGZyYW1lIHBvaW50ZXIgaXMgaW5zdWZmaWNpZW50LCB1c2UgQ0ZJLiAgKi8KIAljZmlfdW5kZWZp bmVkIChyaXApCiAJLyogQ2xlYXIgdGhlIGZyYW1lIHBvaW50ZXIuICBUaGUgQUJJIHN1Z2dlc3Rz IHRoaXMgYmUgZG9uZSwgdG8gbWFyawpAQCAtNzYsMTYgKzgyLDI0IEBAIEVOVFJZIChfc3RhcnQp CiAJcnRsZF9maW5pOgklcjkKIAlzdGFja19lbmQ6CXN0YWNrLgkqLwogCisjaWZkZWYgTElCQ19N QUlOCisjIGRlZmluZSBBUkdDX1JFRwlyZGkKKyMgZGVmaW5lIEFSR1ZfUkVHCVJTSV9MUAorI2Vs c2UKKyMgZGVmaW5lIEFSR0NfUkVHCXJzaQorIyBkZWZpbmUgQVJHVl9SRUcJUkRYX0xQCisjZW5k aWYKKwogCW1vdiAlUkRYX0xQLCAlUjlfTFAJLyogQWRkcmVzcyBvZiB0aGUgc2hhcmVkIGxpYnJh cnkgdGVybWluYXRpb24KIAkJCQkgICBmdW5jdGlvbi4gICovCiAjaWZkZWYgX19JTFAzMl9fCiAJ bW92ICglcnNwKSwgJWVzaQkvKiBTaW11bGF0ZSBwb3BwaW5nIDQtYnl0ZSBhcmd1bWVudCBjb3Vu dC4gICovCiAJYWRkICQ0LCAlZXNwCiAjZWxzZQotCXBvcHEgJXJzaQkJLyogUG9wIHRoZSBhcmd1 bWVudCBjb3VudC4gICovCisJcG9wcSAlQVJHQ19SRUcJCS8qIFBvcCB0aGUgYXJndW1lbnQgY291 bnQuICAqLwogI2VuZGlmCiAJLyogYXJndiBzdGFydHMganVzdCBhdCB0aGUgY3VycmVudCBzdGFj ayB0b3AuICAqLwotCW1vdiAlUlNQX0xQLCAlUkRYX0xQCisJbW92ICVSU1BfTFAsICVBUkdWX1JF RwogCS8qIEFsaWduIHRoZSBzdGFjayB0byBhIDE2IGJ5dGUgYm91bmRhcnkgdG8gZm9sbG93IHRo ZSBBQkkuICAqLwogCWFuZCAgJH4xNSwgJVJTUF9MUAogCkBAIC05NiwxOSArMTEwLDIyIEBAIEVO VFJZIChfc3RhcnQpCiAJICAgd2hpY2ggZ3JvdyBkb3dud2FyZHMpLiAgKi8KIAlwdXNocSAlcnNw CiAKLSNpZmRlZiBQSUMKKyNpZmRlZiBMSUJDX01BSU4KKwljYWxsIExJQkNfTUFJTgorI2Vsc2UK KyMgaWZkZWYgUElDCiAJLyogUGFzcyBhZGRyZXNzIG9mIG91ciBvd24gZW50cnkgcG9pbnRzIHRv IC5maW5pIGFuZCAuaW5pdC4gICovCiAJbW92IF9fbGliY19jc3VfZmluaUBHT1RQQ1JFTCglcmlw KSwgJVI4X0xQCiAJbW92IF9fbGliY19jc3VfaW5pdEBHT1RQQ1JFTCglcmlwKSwgJVJDWF9MUAog CiAJbW92IG1haW5AR09UUENSRUwoJXJpcCksICVSRElfTFAKLSNlbHNlCisjIGVsc2UKIAkvKiBQ YXNzIGFkZHJlc3Mgb2Ygb3VyIG93biBlbnRyeSBwb2ludHMgdG8gLmZpbmkgYW5kIC5pbml0LiAg Ki8KIAltb3YgJF9fbGliY19jc3VfZmluaSwgJVI4X0xQCiAJbW92ICRfX2xpYmNfY3N1X2luaXQs ICVSQ1hfTFAKIAogCW1vdiAkbWFpbiwgJVJESV9MUAotI2VuZGlmCisjIGVuZGlmCiAKIAkvKiBD YWxsIHRoZSB1c2VyJ3MgbWFpbiBmdW5jdGlvbiwgYW5kIGV4aXQgd2l0aCBpdHMgdmFsdWUuCiAJ ICAgQnV0IGxldCB0aGUgbGliYyBjYWxsIG1haW4uICBTaW5jZSBfX2xpYmNfc3RhcnRfbWFpbiBp bgpAQCAtMTE4LDEwICsxMzUsMTIgQEAgRU5UUlkgKF9zdGFydCkKIAkgICAyLjI2IG9yIGFib3Zl IGNhbiBjb252ZXJ0IGluZGlyZWN0IGJyYW5jaCBpbnRvIGRpcmVjdAogCSAgIGJyYW5jaC4gICov CiAJY2FsbCAqX19saWJjX3N0YXJ0X21haW5AR09UUENSRUwoJXJpcCkKKyNlbmRpZgogCiAJaGx0 CQkJLyogQ3Jhc2ggaWYgc29tZWhvdyBgZXhpdCcgZG9lcyByZXR1cm4uCSAqLwotRU5EIChfc3Rh cnQpCitFTkQgKFNUQVJUKQogCisjaWZuZGVmIExJQkNfTUFJTgogLyogRGVmaW5lIGEgc3ltYm9s IGZvciB0aGUgZmlyc3QgcGllY2Ugb2YgaW5pdGlhbGl6ZWQgZGF0YS4gICovCiAJLmRhdGEKIAku Z2xvYmwgX19kYXRhX3N0YXJ0CkBAIC0xMjksMyArMTQ4LDQgQEAgX19kYXRhX3N0YXJ0OgogCS5s b25nIDAKIAkud2VhayBkYXRhX3N0YXJ0CiAJZGF0YV9zdGFydCA9IF9fZGF0YV9zdGFydAorI2Vu ZGlmCi0tIAoyLjI2LjIKCg== --0000000000001c0f2405a70c46d6--