From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 151311F8C6 for ; Fri, 9 Jul 2021 13:32:51 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 494EC398A48E for ; Fri, 9 Jul 2021 13:32:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 494EC398A48E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1625837570; bh=c8hmKyqiVA2oRjy84NV8fnp4onLfisyFAD6y93WcYiU=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=CinU/QZCbRtUmsv88EZVA75rB361FVDsEr2ef+L8OQYMdiV+sXBTEu6i7WxidEYOw xYrrX0C0hDQ/mr3Vh/Dm+leRQIrmUKbD7k26AQy/pHn8B2q5a8pg1hIoUm3zeH2tNx canDWwQGVYiotjYaZXr8pmoYPuM0bHj7tAK+xkRU= Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id 1551D384A02B for ; Fri, 9 Jul 2021 13:32:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1551D384A02B Received: by mail-pg1-x532.google.com with SMTP id v7so9987626pgl.2 for ; Fri, 09 Jul 2021 06:32:30 -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=c8hmKyqiVA2oRjy84NV8fnp4onLfisyFAD6y93WcYiU=; b=Q6EtCYTxDZYd2EDyHmLoOQINaJkci26kvf9KEBJBkvHVkfTAJgHysRkDbHLtgHHhGf 21FpiRrbnQiuzu7J+7gCuzRFjh5wt9OUv46PpSMl9oNjTETwP2X1w5G5QdE7E08e+qP9 6s5j+9Q1t3J3bNGg8i4A+NsDC8fg4v08O1oMcu7KAyRjCYPVtqqKTvo3GcIKvx+fkotP Fgq2StBLiNODysJGpozoGsKGsvjZFyIlULimt6kO6Qg/v22SzfL7qZl3MvZRhwf56PXK H9b1TMOwRd9BNs/DV8wve+N0+9PAg7CnEW6v1KcjTZv9jQydO1ePk7c1bti/xvdVdR/r rSEw== X-Gm-Message-State: AOAM530u4zrYVKaXCJeiZoEGWo0l9N9E7pkcJd+Glui3f1RChcUY75C6 t/ZUxI9CDYuMVWWcRs0kQPe/dKBYGPaLXsi2p1wOWFz+QmY= X-Google-Smtp-Source: ABdhPJx/yOM0JzZjL7Ze/BnyigCfLBNCr3aotv/aKZDONtwGri+R733mU5sU51Uglg6sbngqakDmgLXalXNUZVym9Sg= X-Received: by 2002:a05:6a00:1c5f:b029:327:bd67:9d6f with SMTP id s31-20020a056a001c5fb0290327bd679d6fmr9558297pfw.48.1625837549134; Fri, 09 Jul 2021 06:32:29 -0700 (PDT) MIME-Version: 1.0 References: <20210702023546.3081774-1-siddhesh@sourceware.org> <20210702023546.3081774-3-siddhesh@sourceware.org> <0270d99b-3a15-09d2-7fa9-c9ecf2591d8f@gotplt.org> <433e43a7-e06a-cd08-ee80-7cb84d9ed7e8@gotplt.org> <6c506984-acbf-706d-1266-5182de7811e1@gotplt.org> <24dbe46e-73f2-d35a-065c-e530d5a7d409@gotplt.org> In-Reply-To: <24dbe46e-73f2-d35a-065c-e530d5a7d409@gotplt.org> Date: Fri, 9 Jul 2021 06:31:53 -0700 Message-ID: Subject: [PATCH v3] Add a generic malloc test for MALLOC_ALIGNMENT To: Siddhesh Poyarekar Content-Type: multipart/mixed; boundary="000000000000944fa905c6b0cd0f" 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: , From: "H.J. Lu via Libc-alpha" Reply-To: "H.J. Lu" Cc: Stefan Liebler , GNU C Library Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" --000000000000944fa905c6b0cd0f Content-Type: text/plain; charset="UTF-8" On Fri, Jul 9, 2021 at 6:00 AM Siddhesh Poyarekar wrote: > > On 7/9/21 5:54 PM, H.J. Lu wrote: > > On Thu, Jul 8, 2021 at 9:07 PM Siddhesh Poyarekar wrote: > >> > >>> diff --git a/malloc/Makefile b/malloc/Makefile > >>> index 37a9a4efab..b685ed6d61 100644 > >>> --- a/malloc/Makefile > >>> +++ b/malloc/Makefile > >>> @@ -42,6 +42,7 @@ tests := mallocbug tst-malloc tst-valloc tst-calloc tst-obstack \ > >>> tst-malloc-stats-cancellation \ > >>> tst-tcfree1 tst-tcfree2 tst-tcfree3 \ > >>> tst-safe-linking \ > >>> + tst-mallocalign1 \ > >>> > >> > >> Please remove the trailing '\'. OK otherwise. > >> > > > > Changes in the v2 patch > > > > 1. Add a comment in malloc/tst-mallocalign1.c to indicate that it is > > used to verify that MALLOC_ALIGNMENT is honored by malloc. > > 2. Include in malloc-size.h after SIZE_SZ is > > defined since may use SIZE_SZ. > > > > BTW, I kept the trailing '\' since it is used in all other places in > > malloc/Makefile. > > > > OK for master? > > I forgot to ask, does it run successfully on i686 and arm? IIRC it too > requires 16 byte alignment and hence both i686 and x32 will fail. It fails on i686 and x32. > If they don't succeed then it may make sense to add > > tests-exclude-mcheck += tst-mallocalign1 > > for x32 and i686. > > Siddhesh Here is the v3 patch to add tst-mallocalign1 to tests-exclude-mcheck for i386 and x32. OK for master? -- H.J. --000000000000944fa905c6b0cd0f Content-Type: text/x-patch; charset="US-ASCII"; name="v3-0001-Add-a-generic-malloc-test-for-MALLOC_ALIGNMENT.patch" Content-Disposition: attachment; filename="v3-0001-Add-a-generic-malloc-test-for-MALLOC_ALIGNMENT.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqwdmikz0 RnJvbSA4MzQzYjkwYmYwMTgwYzAxMTgzODI1OWZhMjlhYTU5NTgzMzdlNjU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgOCBKdWwgMjAyMSAyMDo0ODoxNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggdjNdIEFkZCBh IGdlbmVyaWMgbWFsbG9jIHRlc3QgZm9yIE1BTExPQ19BTElHTk1FTlQKCjEuIEFkZCBzeXNkZXBz L2dlbmVyaWMvbWFsbG9jLXNpemUuaCB0byBkZWZpbmUgc2l6ZSByZWxhdGVkIG1hY3JvcyBmb3IK bWFsbG9jLgoyLiBNb3ZlIHg4Nl82NC90c3QtbWFsbG9jYWxpZ24xLmMgdG8gbWFsbG9jIGFuZCBy ZXBsYWNlIEFMSUdOX01BU0sgd2l0aApNQUxMT0NfQUxJR05fTUFTSy4KMy4gQWRkIHRzdC1tYWxs b2NhbGlnbjEgdG8gdGVzdHMtZXhjbHVkZS1tY2hlY2sgZm9yIGkzODYgYW5kIHgzMiBzaW5jZQpt Y2hlY2sgZG9lc24ndCBob25vciBNQUxMT0NfQUxJR05NRU5ULgotLS0KIG1hbGxvYy9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIG1hbGxvYy9tYWxsb2MtaW50 ZXJuYWwuaCAgICAgICAgICAgICAgICAgICAgICB8IDQxICstLS0tLS0tLS0tLQoge3N5c2RlcHMv eDg2XzY0ID0+IG1hbGxvY30vdHN0LW1hbGxvY2FsaWduMS5jIHwgMzEgKysrKystLS0tCiBzeXNk ZXBzL2dlbmVyaWMvbWFsbG9jLW1hY2hpbmUuaCAgICAgICAgICAgICAgfCAgMSAtCiBzeXNkZXBz L2dlbmVyaWMvbWFsbG9jLXNpemUuaCAgICAgICAgICAgICAgICAgfCA2NCArKysrKysrKysrKysr KysrKysrCiBzeXNkZXBzL2kzODYvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArKwogc3lzZGVwcy94ODZfNjQvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg LS0KIHN5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICA0ICsr CiA4IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQogcmVu YW1lIHtzeXNkZXBzL3g4Nl82NCA9PiBtYWxsb2N9L3RzdC1tYWxsb2NhbGlnbjEuYyAoNjUlKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMvZ2VuZXJpYy9tYWxsb2Mtc2l6ZS5oCgpkaWZmIC0t Z2l0IGEvbWFsbG9jL01ha2VmaWxlIGIvbWFsbG9jL01ha2VmaWxlCmluZGV4IDM3YTlhNGVmYWIu LmI2ODVlZDZkNjEgMTAwNjQ0Ci0tLSBhL21hbGxvYy9NYWtlZmlsZQorKysgYi9tYWxsb2MvTWFr ZWZpbGUKQEAgLTQyLDYgKzQyLDcgQEAgdGVzdHMgOj0gbWFsbG9jYnVnIHRzdC1tYWxsb2MgdHN0 LXZhbGxvYyB0c3QtY2FsbG9jIHRzdC1vYnN0YWNrIFwKIAkgdHN0LW1hbGxvYy1zdGF0cy1jYW5j ZWxsYXRpb24gXAogCSB0c3QtdGNmcmVlMSB0c3QtdGNmcmVlMiB0c3QtdGNmcmVlMyBcCiAJIHRz dC1zYWZlLWxpbmtpbmcgXAorCSB0c3QtbWFsbG9jYWxpZ24xIFwKIAogdGVzdHMtc3RhdGljIDo9 IFwKIAkgdHN0LWludGVycG9zZS1zdGF0aWMtbm90aHJlYWQgXApkaWZmIC0tZ2l0IGEvbWFsbG9j L21hbGxvYy1pbnRlcm5hbC5oIGIvbWFsbG9jL21hbGxvYy1pbnRlcm5hbC5oCmluZGV4IDI1OGYy OTU4NGUuLjBjN2I1YTE4M2MgMTAwNjQ0Ci0tLSBhL21hbGxvYy9tYWxsb2MtaW50ZXJuYWwuaAor KysgYi9tYWxsb2MvbWFsbG9jLWludGVybmFsLmgKQEAgLTIxLDQ2ICsyMSw3IEBACiAKICNpbmNs dWRlIDxtYWxsb2MtbWFjaGluZS5oPgogI2luY2x1ZGUgPG1hbGxvYy1zeXNkZXAuaD4KLQotLyog SU5URVJOQUxfU0laRV9UIGlzIHRoZSB3b3JkLXNpemUgdXNlZCBmb3IgaW50ZXJuYWwgYm9va2tl ZXBpbmcgb2YKLSAgIGNodW5rIHNpemVzLgotCi0gICBUaGUgZGVmYXVsdCB2ZXJzaW9uIGlzIHRo ZSBzYW1lIGFzIHNpemVfdC4KLQotICAgV2hpbGUgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgaXQg aXMgYmVzdCB0byBkZWZpbmUgdGhpcyBhcyBhbgotICAgdW5zaWduZWQgdHlwZSwgZXZlbiBpZiBz aXplX3QgaXMgYSBzaWduZWQgdHlwZS4gVGhpcyBtYXkgYXZvaWQgc29tZQotICAgYXJ0aWZpY2lh bCBzaXplIGxpbWl0YXRpb25zIG9uIHNvbWUgc3lzdGVtcy4KLQotICAgT24gYSA2NC1iaXQgbWFj aGluZSwgeW91IG1heSBiZSBhYmxlIHRvIHJlZHVjZSBtYWxsb2Mgb3ZlcmhlYWQgYnkKLSAgIGRl ZmluaW5nIElOVEVSTkFMX1NJWkVfVCB0byBiZSBhIDMyIGJpdCBgdW5zaWduZWQgaW50JyBhdCB0 aGUKLSAgIGV4cGVuc2Ugb2Ygbm90IGJlaW5nIGFibGUgdG8gaGFuZGxlIG1vcmUgdGhhbiAyXjMy IG9mIG1hbGxvY2VkCi0gICBzcGFjZS4gSWYgdGhpcyBsaW1pdGF0aW9uIGlzIGFjY2VwdGFibGUs IHlvdSBhcmUgZW5jb3VyYWdlZCB0byBzZXQKLSAgIHRoaXMgdW5sZXNzIHlvdSBhcmUgb24gYSBw bGF0Zm9ybSByZXF1aXJpbmcgMTZieXRlIGFsaWdubWVudHMuIEluCi0gICB0aGlzIGNhc2UgdGhl IGFsaWdubWVudCByZXF1aXJlbWVudHMgdHVybiBvdXQgdG8gbmVnYXRlIGFueQotICAgcG90ZW50 aWFsIGFkdmFudGFnZXMgb2YgZGVjcmVhc2luZyBzaXplX3Qgd29yZCBzaXplLgotCi0gICBJbXBs ZW1lbnRvcnM6IEJld2FyZSBvZiB0aGUgcG9zc2libGUgY29tYmluYXRpb25zIG9mOgotICAgICAt IElOVEVSTkFMX1NJWkVfVCBtaWdodCBiZSBzaWduZWQgb3IgdW5zaWduZWQsIG1pZ2h0IGJlIDMy IG9yIDY0IGJpdHMsCi0gICAgICAgYW5kIG1pZ2h0IGJlIHRoZSBzYW1lIHdpZHRoIGFzIGludCBv ciBhcyBsb25nCi0gICAgIC0gc2l6ZV90IG1pZ2h0IGhhdmUgZGlmZmVyZW50IHdpZHRoIGFuZCBz aWduZWRuZXNzIGFzIElOVEVSTkFMX1NJWkVfVAotICAgICAtIGludCBhbmQgbG9uZyBtaWdodCBi ZSAzMiBvciA2NCBiaXRzLCBhbmQgbWlnaHQgYmUgdGhlIHNhbWUgd2lkdGgKLQotICAgVG8gZGVh bCB3aXRoIHRoaXMsIG1vc3QgY29tcGFyaXNvbnMgYW5kIGRpZmZlcmVuY2UgY29tcHV0YXRpb25z Ci0gICBhbW9uZyBJTlRFUk5BTF9TSVpFX1RzIHNob3VsZCBjYXN0IHRoZW0gdG8gdW5zaWduZWQg bG9uZywgYmVpbmcKLSAgIGF3YXJlIG9mIHRoZSBmYWN0IHRoYXQgY2FzdGluZyBhbiB1bnNpZ25l ZCBpbnQgdG8gYSB3aWRlciBsb25nIGRvZXMKLSAgIG5vdCBzaWduLWV4dGVuZC4gKFRoaXMgYWxz byBtYWtlcyBjaGVja2luZyBmb3IgbmVnYXRpdmUgbnVtYmVycwotICAgYXdrd2FyZC4pIFNvbWUg b2YgdGhlc2UgY2FzdHMgcmVzdWx0IGluIGhhcm1sZXNzIGNvbXBpbGVyIHdhcm5pbmdzCi0gICBv biBzb21lIHN5c3RlbXMuICAqLwotI2lmbmRlZiBJTlRFUk5BTF9TSVpFX1QKLSMgZGVmaW5lIElO VEVSTkFMX1NJWkVfVCBzaXplX3QKLSNlbmRpZgotCi0vKiBUaGUgY29ycmVzcG9uZGluZyB3b3Jk IHNpemUuICAqLwotI2RlZmluZSBTSVpFX1NaIChzaXplb2YgKElOVEVSTkFMX1NJWkVfVCkpCi0K LS8qIFRoZSBjb3JyZXNwb25kaW5nIGJpdCBtYXNrIHZhbHVlLiAgKi8KLSNkZWZpbmUgTUFMTE9D X0FMSUdOX01BU0sgKE1BTExPQ19BTElHTk1FTlQgLSAxKQotCisjaW5jbHVkZSA8bWFsbG9jLXNp emUuaD4KIAogLyogQ2FsbGVkIGluIHRoZSBwYXJlbnQgcHJvY2VzcyBiZWZvcmUgYSBmb3JrLiAg Ki8KIHZvaWQgX19tYWxsb2NfZm9ya19sb2NrX3BhcmVudCAodm9pZCkgYXR0cmlidXRlX2hpZGRl bjsKZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L3RzdC1tYWxsb2NhbGlnbjEuYyBiL21hbGxv Yy90c3QtbWFsbG9jYWxpZ24xLmMKc2ltaWxhcml0eSBpbmRleCA2NSUKcmVuYW1lIGZyb20gc3lz ZGVwcy94ODZfNjQvdHN0LW1hbGxvY2FsaWduMS5jCnJlbmFtZSB0byBtYWxsb2MvdHN0LW1hbGxv Y2FsaWduMS5jCmluZGV4IDMzYTYzNzU3NzcuLjI5NGU4MjFhZmUgMTAwNjQ0Ci0tLSBhL3N5c2Rl cHMveDg2XzY0L3RzdC1tYWxsb2NhbGlnbjEuYworKysgYi9tYWxsb2MvdHN0LW1hbGxvY2FsaWdu MS5jCkBAIC0xLDQgKzEsNSBAQAotLyogQ29weXJpZ2h0IChDKSAyMDEyLTIwMjEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBWZXJpZnkgdGhhdCBNQUxMT0NfQUxJR05NRU5UIGlz IGhvbm9yZWQgYnkgbWFsbG9jLgorICAgQ29weXJpZ2h0IChDKSAyMDEyLTIwMjEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMg TGlicmFyeS4KIAogICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0xNywxNyArMTgsMTYgQEAKIAogI2luY2x1ZGUg PHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNp bmNsdWRlIDxtYWxsb2Mtc2l6ZS5oPgogCi0vKiBTcGVjaWZpZWQgYnkgeDg2LTY0IHBzQUJJLiAg Ki8KLSNkZWZpbmUgQUxJR05fTUFTSyAoMTYgLSAxKQotCi12b2lkICoKK3N0YXRpYyB2b2lkICoK IHRlc3QgKHNpemVfdCBzKQogewogICB2b2lkICpwID0gbWFsbG9jIChzKTsKIAotICBwcmludGYg KCJtYWxsb2M6ICVsZCwgJXA6ICVsZFxuIiwgKHVuc2lnbmVkIGxvbmcpIHMsIHAsCi0JICAoKHVu c2lnbmVkIGxvbmcpIHApICYgQUxJR05fTUFTSyk7CisgIHByaW50ZiAoIm1hbGxvYzogJXp1LCAl cDogJXp1XG4iLCBzLCBwLAorCSAgKCh1aW50cHRyX3QpIHApICYgTUFMTE9DX0FMSUdOX01BU0sp OwogICByZXR1cm4gcDsKIH0KIApAQCAtMzgsMzUgKzM4LDM0IEBAIGRvX3Rlc3QgKHZvaWQpCiAg IGludCByZXQgPSAwOwogCiAgIHAgPSB0ZXN0ICgyKTsKLSAgcmV0IHw9ICh1bnNpZ25lZCBsb25n KSBwICYgQUxJR05fTUFTSzsKKyAgcmV0IHw9ICh1aW50cHRyX3QpIHAgJiBNQUxMT0NfQUxJR05f TUFTSzsKICAgZnJlZSAocCk7CiAKICAgcCA9IHRlc3QgKDgpOwotICByZXQgfD0gKHVuc2lnbmVk IGxvbmcpIHAgJiBBTElHTl9NQVNLOworICByZXQgfD0gKHVpbnRwdHJfdCkgcCAmIE1BTExPQ19B TElHTl9NQVNLOwogICBmcmVlIChwKTsKIAogICBwID0gdGVzdCAoMTMpOwotICByZXQgfD0gKHVu c2lnbmVkIGxvbmcpIHAgJiBBTElHTl9NQVNLOworICByZXQgfD0gKHVpbnRwdHJfdCkgcCAmIE1B TExPQ19BTElHTl9NQVNLOwogICBmcmVlIChwKTsKIAogICBwID0gdGVzdCAoMTYpOwotICByZXQg fD0gKHVuc2lnbmVkIGxvbmcpIHAgJiBBTElHTl9NQVNLOworICByZXQgfD0gKHVpbnRwdHJfdCkg cCAmIE1BTExPQ19BTElHTl9NQVNLOwogICBmcmVlIChwKTsKIAogICBwID0gdGVzdCAoMjMpOwot ICByZXQgfD0gKHVuc2lnbmVkIGxvbmcpIHAgJiBBTElHTl9NQVNLOworICByZXQgfD0gKHVpbnRw dHJfdCkgcCAmIE1BTExPQ19BTElHTl9NQVNLOwogICBmcmVlIChwKTsKIAogICBwID0gdGVzdCAo NDMpOwotICByZXQgfD0gKHVuc2lnbmVkIGxvbmcpIHAgJiBBTElHTl9NQVNLOworICByZXQgfD0g KHVpbnRwdHJfdCkgcCAmIE1BTExPQ19BTElHTl9NQVNLOwogICBmcmVlIChwKTsKIAogICBwID0g dGVzdCAoMTIzKTsKLSAgcmV0IHw9ICh1bnNpZ25lZCBsb25nKSBwICYgQUxJR05fTUFTSzsKKyAg cmV0IHw9ICh1aW50cHRyX3QpIHAgJiBNQUxMT0NfQUxJR05fTUFTSzsKICAgZnJlZSAocCk7CiAK ICAgcmV0dXJuIHJldDsKIH0KIAotI2RlZmluZSBURVNUX0ZVTkNUSU9OIGRvX3Rlc3QgKCkKLSNp bmNsdWRlICIuLi90ZXN0LXNrZWxldG9uLmMiCisjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZl ci5jPgpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9nZW5lcmljL21hbGxvYy1tYWNoaW5lLmggYi9zeXNk ZXBzL2dlbmVyaWMvbWFsbG9jLW1hY2hpbmUuaAppbmRleCBhNzFmMjM2MWY1Li4xMjFkOGFkMGM5 IDEwMDY0NAotLS0gYS9zeXNkZXBzL2dlbmVyaWMvbWFsbG9jLW1hY2hpbmUuaAorKysgYi9zeXNk ZXBzL2dlbmVyaWMvbWFsbG9jLW1hY2hpbmUuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBf R0VORVJJQ19NQUxMT0NfTUFDSElORV9ICiAKICNpbmNsdWRlIDxhdG9taWMuaD4KLSNpbmNsdWRl IDxtYWxsb2MtYWxpZ25tZW50Lmg+CiAKICNpZm5kZWYgYXRvbWljX2Z1bGxfYmFycmllcgogIyBk ZWZpbmUgYXRvbWljX2Z1bGxfYmFycmllcigpIF9fYXNtICgiIiA6OjogIm1lbW9yeSIpCmRpZmYg LS1naXQgYS9zeXNkZXBzL2dlbmVyaWMvbWFsbG9jLXNpemUuaCBiL3N5c2RlcHMvZ2VuZXJpYy9t YWxsb2Mtc2l6ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQxOTAx YjlhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL2dlbmVyaWMvbWFsbG9jLXNpemUuaApA QCAtMCwwICsxLDY0IEBACisvKiBEZWZpbmUgSU5URVJOQUxfU0laRV9ULCBTSVpFX1NaLCBNQUxM T0NfQUxJR05NRU5UIGFuZCBNQUxMT0NfQUxJR05fTUFTSworICAgZm9yIG1hbGxvYy4KKyAgIENv cHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK KyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUKKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsg aWYgbm90LCBzZWUKKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisj aWZuZGVmIF9HRU5FUklDX01BTExPQ19TSVpFX0gKKyNkZWZpbmUgX0dFTkVSSUNfTUFMTE9DX1NJ WkVfSAorCisvKiBJTlRFUk5BTF9TSVpFX1QgaXMgdGhlIHdvcmQtc2l6ZSB1c2VkIGZvciBpbnRl cm5hbCBib29ra2VlcGluZyBvZgorICAgY2h1bmsgc2l6ZXMuCisKKyAgIFRoZSBkZWZhdWx0IHZl cnNpb24gaXMgdGhlIHNhbWUgYXMgc2l6ZV90LgorCisgICBXaGlsZSBub3Qgc3RyaWN0bHkgbmVj ZXNzYXJ5LCBpdCBpcyBiZXN0IHRvIGRlZmluZSB0aGlzIGFzIGFuCisgICB1bnNpZ25lZCB0eXBl LCBldmVuIGlmIHNpemVfdCBpcyBhIHNpZ25lZCB0eXBlLiBUaGlzIG1heSBhdm9pZCBzb21lCisg ICBhcnRpZmljaWFsIHNpemUgbGltaXRhdGlvbnMgb24gc29tZSBzeXN0ZW1zLgorCisgICBPbiBh IDY0LWJpdCBtYWNoaW5lLCB5b3UgbWF5IGJlIGFibGUgdG8gcmVkdWNlIG1hbGxvYyBvdmVyaGVh ZCBieQorICAgZGVmaW5pbmcgSU5URVJOQUxfU0laRV9UIHRvIGJlIGEgMzIgYml0IGB1bnNpZ25l ZCBpbnQnIGF0IHRoZQorICAgZXhwZW5zZSBvZiBub3QgYmVpbmcgYWJsZSB0byBoYW5kbGUgbW9y ZSB0aGFuIDJeMzIgb2YgbWFsbG9jZWQKKyAgIHNwYWNlLiBJZiB0aGlzIGxpbWl0YXRpb24gaXMg YWNjZXB0YWJsZSwgeW91IGFyZSBlbmNvdXJhZ2VkIHRvIHNldAorICAgdGhpcyB1bmxlc3MgeW91 IGFyZSBvbiBhIHBsYXRmb3JtIHJlcXVpcmluZyAxNmJ5dGUgYWxpZ25tZW50cy4gSW4KKyAgIHRo aXMgY2FzZSB0aGUgYWxpZ25tZW50IHJlcXVpcmVtZW50cyB0dXJuIG91dCB0byBuZWdhdGUgYW55 CisgICBwb3RlbnRpYWwgYWR2YW50YWdlcyBvZiBkZWNyZWFzaW5nIHNpemVfdCB3b3JkIHNpemUu CisKKyAgIEltcGxlbWVudG9yczogQmV3YXJlIG9mIHRoZSBwb3NzaWJsZSBjb21iaW5hdGlvbnMg b2Y6CisgICAgIC0gSU5URVJOQUxfU0laRV9UIG1pZ2h0IGJlIHNpZ25lZCBvciB1bnNpZ25lZCwg bWlnaHQgYmUgMzIgb3IgNjQgYml0cywKKyAgICAgICBhbmQgbWlnaHQgYmUgdGhlIHNhbWUgd2lk dGggYXMgaW50IG9yIGFzIGxvbmcKKyAgICAgLSBzaXplX3QgbWlnaHQgaGF2ZSBkaWZmZXJlbnQg d2lkdGggYW5kIHNpZ25lZG5lc3MgYXMgSU5URVJOQUxfU0laRV9UCisgICAgIC0gaW50IGFuZCBs b25nIG1pZ2h0IGJlIDMyIG9yIDY0IGJpdHMsIGFuZCBtaWdodCBiZSB0aGUgc2FtZSB3aWR0aAor CisgICBUbyBkZWFsIHdpdGggdGhpcywgbW9zdCBjb21wYXJpc29ucyBhbmQgZGlmZmVyZW5jZSBj b21wdXRhdGlvbnMKKyAgIGFtb25nIElOVEVSTkFMX1NJWkVfVHMgc2hvdWxkIGNhc3QgdGhlbSB0 byB1bnNpZ25lZCBsb25nLCBiZWluZworICAgYXdhcmUgb2YgdGhlIGZhY3QgdGhhdCBjYXN0aW5n IGFuIHVuc2lnbmVkIGludCB0byBhIHdpZGVyIGxvbmcgZG9lcworICAgbm90IHNpZ24tZXh0ZW5k LiAoVGhpcyBhbHNvIG1ha2VzIGNoZWNraW5nIGZvciBuZWdhdGl2ZSBudW1iZXJzCisgICBhd2t3 YXJkLikgU29tZSBvZiB0aGVzZSBjYXN0cyByZXN1bHQgaW4gaGFybWxlc3MgY29tcGlsZXIgd2Fy bmluZ3MKKyAgIG9uIHNvbWUgc3lzdGVtcy4gICovCisjaWZuZGVmIElOVEVSTkFMX1NJWkVfVAor IyBkZWZpbmUgSU5URVJOQUxfU0laRV9UIHNpemVfdAorI2VuZGlmCisKKy8qIFRoZSBjb3JyZXNw b25kaW5nIHdvcmQgc2l6ZS4gICovCisjZGVmaW5lIFNJWkVfU1ogKHNpemVvZiAoSU5URVJOQUxf U0laRV9UKSkKKworI2luY2x1ZGUgPG1hbGxvYy1hbGlnbm1lbnQuaD4KKworLyogVGhlIGNvcnJl c3BvbmRpbmcgYml0IG1hc2sgdmFsdWUuICAqLworI2RlZmluZSBNQUxMT0NfQUxJR05fTUFTSyAo TUFMTE9DX0FMSUdOTUVOVCAtIDEpCisKKyNlbmRpZiAvKiBfR0VORVJJQ19NQUxMT0NfU0laRV9I ICovCmRpZmYgLS1naXQgYS9zeXNkZXBzL2kzODYvTWFrZWZpbGUgYi9zeXNkZXBzL2kzODYvTWFr ZWZpbGUKaW5kZXggYTJlOGMwYjEyOC4uOGZiNjVjMGYxNyAxMDA2NDQKLS0tIGEvc3lzZGVwcy9p Mzg2L01ha2VmaWxlCisrKyBiL3N5c2RlcHMvaTM4Ni9NYWtlZmlsZQpAQCAtNSw2ICs1LDEwIEBA IGFzbS1DUFBGTEFHUyArPSAtREdBU19TWU5UQVgKICMgVGhlIGkzODYgYGxvbmcgZG91YmxlJyBp cyBhIGRpc3RpbmN0IHR5cGUgd2Ugc3VwcG9ydC4KIGxvbmctZG91YmxlLWZjdHMgPSB5ZXMKIAor aWZlcSAoJChzdWJkaXIpLG1hbGxvYykKK3Rlc3RzLWV4Y2x1ZGUtbWNoZWNrICs9IHRzdC1tYWxs b2NhbGlnbjEKK2VuZGlmCisKIGlmZXEgKCQoc3ViZGlyKSxtYXRoKQogIyBUaGVzZSBmdW5jdGlv bnMgY2hhbmdlIHRoZSByb3VuZGluZyBtb2RlIGludGVybmFsbHkgYW5kIG5lZWQgdG8KICMgdXBk YXRlIGJvdGggdGhlIFNTRTIgcm91bmRpbmcgbW9kZSBhbmQgdGhlIDM4NyByb3VuZGluZyBtb2Rl LiAgU2VlCmRpZmYgLS1naXQgYS9zeXNkZXBzL3g4Nl82NC9NYWtlZmlsZSBiL3N5c2RlcHMveDg2 XzY0L01ha2VmaWxlCmluZGV4IDNmYzAzZjRhMTkuLjIyYzViNjNhYjUgMTAwNjQ0Ci0tLSBhL3N5 c2RlcHMveDg2XzY0L01ha2VmaWxlCisrKyBiL3N5c2RlcHMveDg2XzY0L01ha2VmaWxlCkBAIC0x MywxMCArMTMsNiBAQCBzeXNkZXBfcm91dGluZXMgKz0gX21jb3VudAogc3lzZGVwX25vcHJvZiAr PSBfbWNvdW50CiBlbmRpZgogCi1pZmVxICgkKHN1YmRpciksbWFsbG9jKQotdGVzdHMgKz0gdHN0 LW1hbGxvY2FsaWduMQotZW5kaWYKLQogaWZlcSAoJChzdWJkaXIpLHN0cmluZykKIHN5c2RlcF9y b3V0aW5lcyArPSBzdHJjYXNlY21wX2wtbm9uYXNjaWkgc3RybmNhc2VfbC1ub25hc2NpaQogZ2Vu LWFzLWNvbnN0LWhlYWRlcnMgKz0gbG9jYWxlLWRlZmluZXMuc3ltCmRpZmYgLS1naXQgYS9zeXNk ZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUgYi9zeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUKaW5k ZXggODc0ODk1NjU2My4uNjI5MTljNzlmMSAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODZfNjQveDMy L01ha2VmaWxlCisrKyBiL3N5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZQpAQCAtMSwzICsxLDcg QEAKK2lmZXEgKCQoc3ViZGlyKSxtYWxsb2MpCit0ZXN0cy1leGNsdWRlLW1jaGVjayArPSB0c3Qt bWFsbG9jYWxpZ24xCitlbmRpZgorCiBpZmVxICgkKHN1YmRpciksbWF0aCkKICMgU2luY2UgeDMy IHJldHVybnMgMzItYml0IGxvbmcgaW50IGFuZCA2NC1iaXQgbG9uZyBsb25nIGludCBpbiB0aGUK ICMgc2FtZSA2NC1iaXQgcmVnaXN0ZXIsIHdlIG1ha2UgdGhlIDMyYi1iaXQgbHJvdW5kIGFuIGFs aWFzIG9mIHRoZQotLSAKMi4zMS4xCgo= --000000000000944fa905c6b0cd0f--