From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-21.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7A84C433B4 for ; Wed, 5 May 2021 21:16:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A7F4A610C8 for ; Wed, 5 May 2021 21:16:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229894AbhEEVR2 (ORCPT ); Wed, 5 May 2021 17:17:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:40592 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229879AbhEEVR1 (ORCPT ); Wed, 5 May 2021 17:17:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D195A613EB; Wed, 5 May 2021 21:16:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620249389; bh=Gn5CTqtCPDLKj7AfT2N6qch+KeTDn7HZroxmQIx+pho=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=WiwFoYNM54Je4Xj19cbwXSdJB1lUMtKFEKsdkg6gNgc6v/QlJjJ22oykLJvWkh2Hb 1oAZBiKGHVAS1rMBc5zslzDDoZTmmoQMzSpKDKrb/1wrddf8n1/PpTzbIT7TE5xssb ZJjw8q4eZ0CyUWeP93adUDQTdPtQHNc6jZ1YYsSdNTwe8HGMl7Ukd5Me02NNgHG3OO PzJUo/pk1SbhRBr3cIVQb6o2DwBtCnfIV7NBMyblivsexE0gSRrTdb/BV0LwC4I9hO 9L617ZkeYyVBPWoLpP2r5Do8c8yN4LPBH/7Zj1EMAQ3AS8+iDCk93t9nDFH3J68prK rTt0IgWaBNT3w== Date: Wed, 5 May 2021 14:16:23 -0700 From: Nathan Chancellor To: Jian Cai Cc: stable@vger.kernel.org, gregkh@linuxfoundation.org, sashal@kernel.org, ndesaulniers@google.com, manojgupta@google.com, llozano@google.com, clang-built-linux@googlegroups.com, Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] arm64: vdso: remove commas between macro name and arguments Message-ID: References: <20210416203522.2397801-1-jiancai@google.com> <20210416232341.2421342-1-jiancai@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fixing Will's email (make sure to run get_maintainer.pl against the latest kernel tree so that .mailmap can do its thing). Original thread: https://lore.kernel.org/r/20210416232341.2421342-1-jiancai@google.com/ On Wed, May 05, 2021 at 02:07:14PM -0700, Nathan Chancellor wrote: > Hi Jian, > > On Fri, Apr 16, 2021 at 04:23:41PM -0700, Jian Cai wrote: > > LLVM's integrated assembler does not support using commas separating > > the name and arguments in .macro. However, only spaces are used in the > > manual page. This replaces commas between macro names and the subsequent > > arguments with space in calls to clock_gettime_return to make it > > compatible with IAS. > > > > Link: > > https://sourceware.org/binutils/docs/as/Macro.html#Macro > > https://github.com/ClangBuiltLinux/linux/issues/1349 > > > > Signed-off-by: Jian Cai > > The actual patch itself looks fine to me but there should be some more > explanation in the commit message that this patch is for 4.19 only and > why it is not applicable upstream. Additionally, I would recommend using > the '--subject-prefix=' flag to 'git format-patch' to clarify that as > well, something like '--subject-prefix="PATCH 4.19 ONLY"'? > > My explanation would be something like (take bits and pieces as you feel > necessary): > > ======================================================================== > > [PATCH 4.19 ONLY] arm64: vdso: remove commas between macro name and > arguments > > LLVM's integrated assembler does not support using a comma to separate > a macro name and its arguments when there is only one argument with a > default value: > > arch/arm64/kernel/vdso/gettimeofday.S:230:24: error: too many positional > arguments > clock_gettime_return, shift=1 > ^ > arch/arm64/kernel/vdso/gettimeofday.S:253:24: error: too many positional > arguments > clock_gettime_return, shift=1 > ^ > arch/arm64/kernel/vdso/gettimeofday.S:274:24: error: too many positional > arguments > clock_gettime_return, shift=1 > ^ > > This error is not in mainline because commit 28b1a824a4f4 ("arm64: vdso: > Substitute gettimeofday() with C implementation") rewrote this assembler > file in C as part of a 25 patch series that is unsuitable for stable. > Just remove the comma in the clock_gettime_return invocations in 4.19 so > that GNU as and LLVM's integrated assembler work the same. > > ======================================================================== > > I worded the first sentence the way that I did because correct me if I > am wrong but it seems that the integrated assembler has no issues with > the use of commas separating the arguments in a .macro definition as > that is done everywhere in arch/arm64, just not when there is a single > parameter with a default value because essentially what it is evaluating > it to is "clock_gettime_return ,shift=1", which according to the GAS > manual [1] means that "shift" is actually being set to 0 then there is an > other parameter, when it expects only one. > > [1]: After the definition is complete, you can call the macro either as > ‘reserve_str a,b’ (with ‘\p1’ evaluating to a and ‘\p2’ evaluating to > b), or as ‘reserve_str ,b’ (with ‘\p1’ evaluating as the default, in > this case ‘0’, and ‘\p2’ evaluating to b). > > Lastly, Will or Catalin should ack this as an explicitly out of mainline > patch so that Greg or Sasha can take it. I would put them on the "To:" > line in addition to Greg and Sasha. > > Hopefully this is helpful! > > Cheers, > Nathan > > > --- > > > > Changes v1 -> v2: > > Keep the comma in the macro definition to be consistent with other > > definitions. > > > > Changes v2 -> v3: > > Edit tags. > > > > arch/arm64/kernel/vdso/gettimeofday.S | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/arch/arm64/kernel/vdso/gettimeofday.S b/arch/arm64/kernel/vdso/gettimeofday.S > > index 856fee6d3512..b6faf8b5d1fe 100644 > > --- a/arch/arm64/kernel/vdso/gettimeofday.S > > +++ b/arch/arm64/kernel/vdso/gettimeofday.S > > @@ -227,7 +227,7 @@ realtime: > > seqcnt_check fail=realtime > > get_ts_realtime res_sec=x10, res_nsec=x11, \ > > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > > - clock_gettime_return, shift=1 > > + clock_gettime_return shift=1 > > > > ALIGN > > monotonic: > > @@ -250,7 +250,7 @@ monotonic: > > clock_nsec=x15, xtime_sec=x13, xtime_nsec=x14, nsec_to_sec=x9 > > > > add_ts sec=x10, nsec=x11, ts_sec=x3, ts_nsec=x4, nsec_to_sec=x9 > > - clock_gettime_return, shift=1 > > + clock_gettime_return shift=1 > > > > ALIGN > > monotonic_raw: > > @@ -271,7 +271,7 @@ monotonic_raw: > > clock_nsec=x15, nsec_to_sec=x9 > > > > add_ts sec=x10, nsec=x11, ts_sec=x13, ts_nsec=x14, nsec_to_sec=x9 > > - clock_gettime_return, shift=1 > > + clock_gettime_return shift=1 > > > > ALIGN > > realtime_coarse: > > -- > > 2.31.1.368.gbe11c130af-goog > > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92BB4C433ED for ; Wed, 5 May 2021 21:18:46 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1F62F613E3 for ; Wed, 5 May 2021 21:18:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1F62F613E3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=UENQ2lrAvmOTkehueKz9xghQDj4EnWcM+4hhAPHvUt8=; b=LewIYtGmp12kTsKVfE0w1IW93 wqA1FWC/VPJeQY7PqTE7mSvJWFUa8jlXXlpuTZCkR/2E/sZatvKuRfKSJGaRIIiGptdwH/rkfKp7r wj/3PUoXc0Hp/QP0cmhLBHLtM6dHQjrnllr/vwfCm1zO3ODX1BahTEojaQOQYesQ+2yAbeznwscDI F4IzzSRI3swAdPgV5rMmmkX+A3U8b9kHKuVBH6LLQuCY398LUE70srAO1tMaVSsYo5F5HOeDIjIYN 0JpRjr8QD4cGiNH3vN7K4Wj+HlnPU3IE7I57xGaDG+uwlSI3ZwlvN++ru9Yf1RkxOlX7r6rpsZBoe eohygQOSw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1leOsl-002LsU-W3; Wed, 05 May 2021 21:16:36 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leOsi-002Ls5-N3 for linux-arm-kernel@desiato.infradead.org; Wed, 05 May 2021 21:16:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=jxYBKJNCBwj5wmbdEiwB4q2cXDRg8gXlZHmweKzvGFI=; b=P2nP4vjl5/7MJkxppJTlBBXp/U TuyoQrsU89BzYOrWxQS+PCVKQ9kndE9ZyL4b2viBqJMtbaQEKfr2juHFJ1rXHp3MQGH/8Enc+CHEs Qa4G7rJObXQ8XpzkQTM65JhMMrHfwvQyrk89fQs4hJy637aqjefBZcFTKsKMsXxEW9AjvJbd+X8nR 8+7kwcYcB7FQrhT/3H8J7WQjhKRJ6Eqo3Zf0vc95Ax/fIX22jxdF/ETGk4G+BB3XGcatZRZ/yEBSi dkxQrPFSSru0tjFQgPM49RP+2Ve6UyLRA2p7fhPw+c7U8rMriNUYQ7uoHJLcEllkST7ehTYKDYEgO pBgTX6pg==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1leOsf-005Hk3-LL for linux-arm-kernel@lists.infradead.org; Wed, 05 May 2021 21:16:31 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id D195A613EB; Wed, 5 May 2021 21:16:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620249389; bh=Gn5CTqtCPDLKj7AfT2N6qch+KeTDn7HZroxmQIx+pho=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=WiwFoYNM54Je4Xj19cbwXSdJB1lUMtKFEKsdkg6gNgc6v/QlJjJ22oykLJvWkh2Hb 1oAZBiKGHVAS1rMBc5zslzDDoZTmmoQMzSpKDKrb/1wrddf8n1/PpTzbIT7TE5xssb ZJjw8q4eZ0CyUWeP93adUDQTdPtQHNc6jZ1YYsSdNTwe8HGMl7Ukd5Me02NNgHG3OO PzJUo/pk1SbhRBr3cIVQb6o2DwBtCnfIV7NBMyblivsexE0gSRrTdb/BV0LwC4I9hO 9L617ZkeYyVBPWoLpP2r5Do8c8yN4LPBH/7Zj1EMAQ3AS8+iDCk93t9nDFH3J68prK rTt0IgWaBNT3w== Date: Wed, 5 May 2021 14:16:23 -0700 From: Nathan Chancellor To: Jian Cai Cc: stable@vger.kernel.org, gregkh@linuxfoundation.org, sashal@kernel.org, ndesaulniers@google.com, manojgupta@google.com, llozano@google.com, clang-built-linux@googlegroups.com, Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] arm64: vdso: remove commas between macro name and arguments Message-ID: References: <20210416203522.2397801-1-jiancai@google.com> <20210416232341.2421342-1-jiancai@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210505_141629_769472_97EE35A7 X-CRM114-Status: GOOD ( 40.68 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Rml4aW5nIFdpbGwncyBlbWFpbCAobWFrZSBzdXJlIHRvIHJ1biBnZXRfbWFpbnRhaW5lci5wbCBh Z2FpbnN0IHRoZQpsYXRlc3Qga2VybmVsIHRyZWUgc28gdGhhdCAubWFpbG1hcCBjYW4gZG8gaXRz IHRoaW5nKS4KCk9yaWdpbmFsIHRocmVhZDogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8yMDIx MDQxNjIzMjM0MS4yNDIxMzQyLTEtamlhbmNhaUBnb29nbGUuY29tLwoKT24gV2VkLCBNYXkgMDUs IDIwMjEgYXQgMDI6MDc6MTRQTSAtMDcwMCwgTmF0aGFuIENoYW5jZWxsb3Igd3JvdGU6Cj4gSGkg SmlhbiwKPiAKPiBPbiBGcmksIEFwciAxNiwgMjAyMSBhdCAwNDoyMzo0MVBNIC0wNzAwLCBKaWFu IENhaSB3cm90ZToKPiA+IExMVk0ncyBpbnRlZ3JhdGVkIGFzc2VtYmxlciBkb2VzIG5vdCBzdXBw b3J0IHVzaW5nIGNvbW1hcyBzZXBhcmF0aW5nCj4gPiB0aGUgbmFtZSBhbmQgYXJndW1lbnRzIGlu IC5tYWNyby4gSG93ZXZlciwgb25seSBzcGFjZXMgYXJlIHVzZWQgaW4gdGhlCj4gPiBtYW51YWwg cGFnZS4gVGhpcyByZXBsYWNlcyBjb21tYXMgYmV0d2VlbiBtYWNybyBuYW1lcyBhbmQgdGhlIHN1 YnNlcXVlbnQKPiA+IGFyZ3VtZW50cyB3aXRoIHNwYWNlIGluIGNhbGxzIHRvIGNsb2NrX2dldHRp bWVfcmV0dXJuIHRvIG1ha2UgaXQKPiA+IGNvbXBhdGlibGUgd2l0aCBJQVMuCj4gPiAKPiA+IExp bms6Cj4gPiBodHRwczovL3NvdXJjZXdhcmUub3JnL2JpbnV0aWxzL2RvY3MvYXMvTWFjcm8uaHRt bCNNYWNybwo+ID4gaHR0cHM6Ly9naXRodWIuY29tL0NsYW5nQnVpbHRMaW51eC9saW51eC9pc3N1 ZXMvMTM0OQo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBKaWFuIENhaSA8amlhbmNhaUBnb29nbGUu Y29tPgo+IAo+IFRoZSBhY3R1YWwgcGF0Y2ggaXRzZWxmIGxvb2tzIGZpbmUgdG8gbWUgYnV0IHRo ZXJlIHNob3VsZCBiZSBzb21lIG1vcmUKPiBleHBsYW5hdGlvbiBpbiB0aGUgY29tbWl0IG1lc3Nh Z2UgdGhhdCB0aGlzIHBhdGNoIGlzIGZvciA0LjE5IG9ubHkgYW5kCj4gd2h5IGl0IGlzIG5vdCBh cHBsaWNhYmxlIHVwc3RyZWFtLiBBZGRpdGlvbmFsbHksIEkgd291bGQgcmVjb21tZW5kIHVzaW5n Cj4gdGhlICctLXN1YmplY3QtcHJlZml4PScgZmxhZyB0byAnZ2l0IGZvcm1hdC1wYXRjaCcgdG8g Y2xhcmlmeSB0aGF0IGFzCj4gd2VsbCwgc29tZXRoaW5nIGxpa2UgJy0tc3ViamVjdC1wcmVmaXg9 IlBBVENIIDQuMTkgT05MWSInPwo+IAo+IE15IGV4cGxhbmF0aW9uIHdvdWxkIGJlIHNvbWV0aGlu ZyBsaWtlICh0YWtlIGJpdHMgYW5kIHBpZWNlcyBhcyB5b3UgZmVlbAo+IG5lY2Vzc2FyeSk6Cj4g Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Cj4gCj4gW1BBVENIIDQuMTkgT05MWV0gYXJtNjQ6IHZkc286IHJl bW92ZSBjb21tYXMgYmV0d2VlbiBtYWNybyBuYW1lIGFuZAo+IGFyZ3VtZW50cwo+IAo+IExMVk0n cyBpbnRlZ3JhdGVkIGFzc2VtYmxlciBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nIGEgY29tbWEgdG8g c2VwYXJhdGUKPiBhIG1hY3JvIG5hbWUgYW5kIGl0cyBhcmd1bWVudHMgd2hlbiB0aGVyZSBpcyBv bmx5IG9uZSBhcmd1bWVudCB3aXRoIGEKPiBkZWZhdWx0IHZhbHVlOgo+IAo+IGFyY2gvYXJtNjQv a2VybmVsL3Zkc28vZ2V0dGltZW9mZGF5LlM6MjMwOjI0OiBlcnJvcjogdG9vIG1hbnkgcG9zaXRp b25hbAo+IGFyZ3VtZW50cwo+ICBjbG9ja19nZXR0aW1lX3JldHVybiwgc2hpZnQ9MQo+ICAgICAg ICAgICAgICAgICAgICAgICAgXgo+IGFyY2gvYXJtNjQva2VybmVsL3Zkc28vZ2V0dGltZW9mZGF5 LlM6MjUzOjI0OiBlcnJvcjogdG9vIG1hbnkgcG9zaXRpb25hbAo+IGFyZ3VtZW50cwo+ICBjbG9j a19nZXR0aW1lX3JldHVybiwgc2hpZnQ9MQo+ICAgICAgICAgICAgICAgICAgICAgICAgXgo+IGFy Y2gvYXJtNjQva2VybmVsL3Zkc28vZ2V0dGltZW9mZGF5LlM6Mjc0OjI0OiBlcnJvcjogdG9vIG1h bnkgcG9zaXRpb25hbAo+IGFyZ3VtZW50cwo+ICBjbG9ja19nZXR0aW1lX3JldHVybiwgc2hpZnQ9 MQo+ICAgICAgICAgICAgICAgICAgICAgICAgXgo+IAo+IFRoaXMgZXJyb3IgaXMgbm90IGluIG1h aW5saW5lIGJlY2F1c2UgY29tbWl0IDI4YjFhODI0YTRmNCAoImFybTY0OiB2ZHNvOgo+IFN1YnN0 aXR1dGUgZ2V0dGltZW9mZGF5KCkgd2l0aCBDIGltcGxlbWVudGF0aW9uIikgcmV3cm90ZSB0aGlz IGFzc2VtYmxlcgo+IGZpbGUgaW4gQyBhcyBwYXJ0IG9mIGEgMjUgcGF0Y2ggc2VyaWVzIHRoYXQg aXMgdW5zdWl0YWJsZSBmb3Igc3RhYmxlLgo+IEp1c3QgcmVtb3ZlIHRoZSBjb21tYSBpbiB0aGUg Y2xvY2tfZ2V0dGltZV9yZXR1cm4gaW52b2NhdGlvbnMgaW4gNC4xOSBzbwo+IHRoYXQgR05VIGFz IGFuZCBMTFZNJ3MgaW50ZWdyYXRlZCBhc3NlbWJsZXIgd29yayB0aGUgc2FtZS4KPiAKPiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KPiAKPiBJIHdvcmRlZCB0aGUgZmlyc3Qgc2VudGVuY2UgdGhlIHdheSB0aGF0 IEkgZGlkIGJlY2F1c2UgY29ycmVjdCBtZSBpZiBJCj4gYW0gd3JvbmcgYnV0IGl0IHNlZW1zIHRo YXQgdGhlIGludGVncmF0ZWQgYXNzZW1ibGVyIGhhcyBubyBpc3N1ZXMgd2l0aAo+IHRoZSB1c2Ug b2YgY29tbWFzIHNlcGFyYXRpbmcgdGhlIGFyZ3VtZW50cyBpbiBhIC5tYWNybyBkZWZpbml0aW9u IGFzCj4gdGhhdCBpcyBkb25lIGV2ZXJ5d2hlcmUgaW4gYXJjaC9hcm02NCwganVzdCBub3Qgd2hl biB0aGVyZSBpcyBhIHNpbmdsZQo+IHBhcmFtZXRlciB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBiZWNh dXNlIGVzc2VudGlhbGx5IHdoYXQgaXQgaXMgZXZhbHVhdGluZwo+IGl0IHRvIGlzICJjbG9ja19n ZXR0aW1lX3JldHVybiAsc2hpZnQ9MSIsIHdoaWNoIGFjY29yZGluZyB0byB0aGUgR0FTCj4gbWFu dWFsIFsxXSBtZWFucyB0aGF0ICJzaGlmdCIgaXMgYWN0dWFsbHkgYmVpbmcgc2V0IHRvIDAgdGhl biB0aGVyZSBpcyBhbgo+IG90aGVyIHBhcmFtZXRlciwgd2hlbiBpdCBleHBlY3RzIG9ubHkgb25l Lgo+IAo+IFsxXTogQWZ0ZXIgdGhlIGRlZmluaXRpb24gaXMgY29tcGxldGUsIHlvdSBjYW4gY2Fs bCB0aGUgbWFjcm8gZWl0aGVyIGFzCj4g4oCYcmVzZXJ2ZV9zdHIgYSxi4oCZICh3aXRoIOKAmFxw MeKAmSBldmFsdWF0aW5nIHRvIGEgYW5kIOKAmFxwMuKAmSBldmFsdWF0aW5nIHRvCj4gYiksIG9y IGFzIOKAmHJlc2VydmVfc3RyICxi4oCZICh3aXRoIOKAmFxwMeKAmSBldmFsdWF0aW5nIGFzIHRo ZSBkZWZhdWx0LCBpbgo+IHRoaXMgY2FzZSDigJgw4oCZLCBhbmQg4oCYXHAy4oCZIGV2YWx1YXRp bmcgdG8gYikuCj4gCj4gTGFzdGx5LCBXaWxsIG9yIENhdGFsaW4gc2hvdWxkIGFjayB0aGlzIGFz IGFuIGV4cGxpY2l0bHkgb3V0IG9mIG1haW5saW5lCj4gcGF0Y2ggc28gdGhhdCBHcmVnIG9yIFNh c2hhIGNhbiB0YWtlIGl0LiBJIHdvdWxkIHB1dCB0aGVtIG9uIHRoZSAiVG86Igo+IGxpbmUgaW4g YWRkaXRpb24gdG8gR3JlZyBhbmQgU2FzaGEuCj4gCj4gSG9wZWZ1bGx5IHRoaXMgaXMgaGVscGZ1 bCEKPiAKPiBDaGVlcnMsCj4gTmF0aGFuCj4gCj4gPiAtLS0KPiA+IAo+ID4gQ2hhbmdlcyB2MSAt PiB2MjoKPiA+ICAgS2VlcCB0aGUgY29tbWEgaW4gdGhlIG1hY3JvIGRlZmluaXRpb24gdG8gYmUg Y29uc2lzdGVudCB3aXRoIG90aGVyCj4gPiAgIGRlZmluaXRpb25zLgo+ID4gCj4gPiBDaGFuZ2Vz IHYyIC0+IHYzOgo+ID4gICBFZGl0IHRhZ3MuCj4gPiAKPiA+ICBhcmNoL2FybTY0L2tlcm5lbC92 ZHNvL2dldHRpbWVvZmRheS5TIHwgNiArKystLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02 NC9rZXJuZWwvdmRzby9nZXR0aW1lb2ZkYXkuUyBiL2FyY2gvYXJtNjQva2VybmVsL3Zkc28vZ2V0 dGltZW9mZGF5LlMKPiA+IGluZGV4IDg1NmZlZTZkMzUxMi4uYjZmYWY4YjVkMWZlIDEwMDY0NAo+ ID4gLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvdmRzby9nZXR0aW1lb2ZkYXkuUwo+ID4gKysrIGIv YXJjaC9hcm02NC9rZXJuZWwvdmRzby9nZXR0aW1lb2ZkYXkuUwo+ID4gQEAgLTIyNyw3ICsyMjcs NyBAQCByZWFsdGltZToKPiA+ICAJc2VxY250X2NoZWNrIGZhaWw9cmVhbHRpbWUKPiA+ICAJZ2V0 X3RzX3JlYWx0aW1lIHJlc19zZWM9eDEwLCByZXNfbnNlYz14MTEsIFwKPiA+ICAJCWNsb2NrX25z ZWM9eDE1LCB4dGltZV9zZWM9eDEzLCB4dGltZV9uc2VjPXgxNCwgbnNlY190b19zZWM9eDkKPiA+ IC0JY2xvY2tfZ2V0dGltZV9yZXR1cm4sIHNoaWZ0PTEKPiA+ICsJY2xvY2tfZ2V0dGltZV9yZXR1 cm4gc2hpZnQ9MQo+ID4gIAo+ID4gIAlBTElHTgo+ID4gIG1vbm90b25pYzoKPiA+IEBAIC0yNTAs NyArMjUwLDcgQEAgbW9ub3RvbmljOgo+ID4gIAkJY2xvY2tfbnNlYz14MTUsIHh0aW1lX3NlYz14 MTMsIHh0aW1lX25zZWM9eDE0LCBuc2VjX3RvX3NlYz14OQo+ID4gIAo+ID4gIAlhZGRfdHMgc2Vj PXgxMCwgbnNlYz14MTEsIHRzX3NlYz14MywgdHNfbnNlYz14NCwgbnNlY190b19zZWM9eDkKPiA+ IC0JY2xvY2tfZ2V0dGltZV9yZXR1cm4sIHNoaWZ0PTEKPiA+ICsJY2xvY2tfZ2V0dGltZV9yZXR1 cm4gc2hpZnQ9MQo+ID4gIAo+ID4gIAlBTElHTgo+ID4gIG1vbm90b25pY19yYXc6Cj4gPiBAQCAt MjcxLDcgKzI3MSw3IEBAIG1vbm90b25pY19yYXc6Cj4gPiAgCQljbG9ja19uc2VjPXgxNSwgbnNl Y190b19zZWM9eDkKPiA+ICAKPiA+ICAJYWRkX3RzIHNlYz14MTAsIG5zZWM9eDExLCB0c19zZWM9 eDEzLCB0c19uc2VjPXgxNCwgbnNlY190b19zZWM9eDkKPiA+IC0JY2xvY2tfZ2V0dGltZV9yZXR1 cm4sIHNoaWZ0PTEKPiA+ICsJY2xvY2tfZ2V0dGltZV9yZXR1cm4gc2hpZnQ9MQo+ID4gIAo+ID4g IAlBTElHTgo+ID4gIHJlYWx0aW1lX2NvYXJzZToKPiA+IC0tIAo+ID4gMi4zMS4xLjM2OC5nYmUx MWMxMzBhZi1nb29nCj4gPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+IGxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cj4gbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==