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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79657C05027 for ; Fri, 3 Feb 2023 16:02:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230042AbjBCQCI (ORCPT ); Fri, 3 Feb 2023 11:02:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231216AbjBCQCH (ORCPT ); Fri, 3 Feb 2023 11:02:07 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B9FE98BDDE; Fri, 3 Feb 2023 08:02:06 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5096161F70; Fri, 3 Feb 2023 16:02:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F8BDC433D2; Fri, 3 Feb 2023 16:02:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1675440125; bh=GCFuvtqbmYjdRs4Metw9uUIQYvQiuqQ4yItdPgs0Mxo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=qPw/P3a6cfeMvTHZaKVU39Pxh8PcEbL4Rv/LrNgmRR+6Y84hyTiD56U7rM6ux/b1r +v1ilEKytY5CHyhoK54x56MR4LdnGkRTJd8CdM/MttzjuiaBt3S1vaGJ2uemE/KzTO /fhXP/DDd0dUm+Q2N1Jf38tkDOvavuWXytnFYV9IAcQZcOsGaIUJdO+1npm/BoaAFz a4V5YGL7Z8jyJzI6VhWCZX2u/urOjWohnwnxoUch6q17XtGlJ1r9QaYWkYbWK8Vubm /6GMw2N6G5SEiX6Aigze+Z9KlGiSbuAysXNjnT04Q6VIQQDfXcHR837me/UpPdQEZZ ONN/cF3VLgebQ== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id D9BC1405BE; Fri, 3 Feb 2023 13:02:02 -0300 (-03) Date: Fri, 3 Feb 2023 13:02:02 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , Kan Liang , Kim Phillips , Florian Fischer , Ravi Bangoria , Xing Zhengjun , Rob Herring , Kang Minchul , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Sandipan Das , Jing Zhang , linuxppc-dev@lists.ozlabs.org, Kajol Jain , Stephane Eranian , Perry Taylor , Caleb Biggers Subject: Re: [PATCH v1] perf pmu: Fix aarch64 build Message-ID: References: <20230203014014.75720-1-irogers@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org Em Fri, Feb 03, 2023 at 12:43:48PM -0300, Arnaldo Carvalho de Melo escreveu: > I tried bisecting, but at this cset: > > acme@roc-rk3399-pc:~/git/perf$ git log --oneline -1 > d22e569cd33d (HEAD) perf pmu-events: Separate the metrics from events for no jevents > acme@roc-rk3399-pc:~/git/perf$ > > I'm getting this: > > CC /tmp/build/perf/pmu-events/pmu-events.o > pmu-events/pmu-events.c:3637:32: error: no previous prototype for ‘perf_pmu__find_table’ [-Werror=missing-prototypes] > 3637 | const struct pmu_events_table *perf_pmu__find_table(struct perf_pmu *pmu) > | ^~~~~~~~~~~~~~~~~~~~ > CC /tmp/build/perf/builtin-ftrace.o > CC /tmp/build/perf/builtin-help.o > CC /tmp/build/perf/builtin-buildid-list.o > cc1: all warnings being treated as errors > make[3]: *** [/home/acme/git/perf/tools/build/Makefile.build:97: /tmp/build/perf/pmu-events/pmu-events.o] Error 1 > make[2]: *** [Makefile.perf:676: /tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[2]: *** Waiting for unfinished jobs.... > CC /tmp/build/perf/builtin-buildid-cache.o > > > > CC /tmp/build/perf/tests/attr.o > arch/arm64/util/pmu.c: In function ‘pmu_events_table__find’: > arch/arm64/util/pmu.c:35:24: error: implicit declaration of function ‘perf_pmu__find_table’; did you mean ‘perf_pmu__find_by_type’? [-Werror=implicit-function-declaration] > 35 | return perf_pmu__find_table(pmu); > | ^~~~~~~~~~~~~~~~~~~~ > | perf_pmu__find_by_type > arch/arm64/util/pmu.c:35:24: error: returning ‘int’ from a function with return type ‘const struct pmu_events_table *’ makes pointer from integer without a cast [-Werror=int-conversion] > 35 | return perf_pmu__find_table(pmu); > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[6]: *** [/home/acme/git/perf/tools/build/Makefile.build:97: /tmp/build/perf/arch/arm64/util/pmu.o] Error 1 > make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2 > make[4]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: arm64] Error 2 > make[3]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: arch] Error 2 > make[3]: *** Waiting for unfinished jobs.... > CC /tmp/build/perf/tests/vmlinux-kallsyms.o > > ----- > > I'm building with: So: acme@roc-rk3399-pc:~/git/perf$ find tools/perf/ -name "*.[ch]" | xargs grep -w perf_pmu__find_table tools/perf/arch/arm64/util/pmu.c: return perf_pmu__find_table(pmu); tools/perf/pmu-events/pmu-events.c:const struct pmu_events_table *perf_pmu__find_table(struct perf_pmu *pmu) acme@roc-rk3399-pc:~/git/perf$ acme@roc-rk3399-pc:~/git/perf$ git log --oneline -1 d22e569cd33d (HEAD) perf pmu-events: Separate the metrics from events for no jevents acme@roc-rk3399-pc:~/git/perf$ Tring to fix... > > acme@roc-rk3399-pc:~/git/perf$ alias m > alias m='make -k BUILD_BPF_SKEL=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin && git status && perf test python' > acme@roc-rk3399-pc:~/git/perf$ rm -rf /tmp/build/$(basename $(pwd)) ; mkdir -p /tmp/build/$(basename $(pwd)) ; m > > To then go back to: > > > pmu-events/pmu-events.c:3616:11: error: ‘struct pmu_event’ has no member named ‘metric_expr’ > -- - Arnaldo 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 Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4DB60C05027 for ; Fri, 3 Feb 2023 16:04:35 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4P7gTF6Z2Cz3fQn for ; Sat, 4 Feb 2023 03:04:33 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=qPw/P3a6; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=139.178.84.217; helo=dfw.source.kernel.org; envelope-from=acme@kernel.org; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=qPw/P3a6; dkim-atps=neutral Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4P7gQS29x0z3f8g for ; Sat, 4 Feb 2023 03:02:08 +1100 (AEDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 50B9361F76; Fri, 3 Feb 2023 16:02:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F8BDC433D2; Fri, 3 Feb 2023 16:02:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1675440125; bh=GCFuvtqbmYjdRs4Metw9uUIQYvQiuqQ4yItdPgs0Mxo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=qPw/P3a6cfeMvTHZaKVU39Pxh8PcEbL4Rv/LrNgmRR+6Y84hyTiD56U7rM6ux/b1r +v1ilEKytY5CHyhoK54x56MR4LdnGkRTJd8CdM/MttzjuiaBt3S1vaGJ2uemE/KzTO /fhXP/DDd0dUm+Q2N1Jf38tkDOvavuWXytnFYV9IAcQZcOsGaIUJdO+1npm/BoaAFz a4V5YGL7Z8jyJzI6VhWCZX2u/urOjWohnwnxoUch6q17XtGlJ1r9QaYWkYbWK8Vubm /6GMw2N6G5SEiX6Aigze+Z9KlGiSbuAysXNjnT04Q6VIQQDfXcHR837me/UpPdQEZZ ONN/cF3VLgebQ== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id D9BC1405BE; Fri, 3 Feb 2023 13:02:02 -0300 (-03) Date: Fri, 3 Feb 2023 13:02:02 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Subject: Re: [PATCH v1] perf pmu: Fix aarch64 build Message-ID: References: <20230203014014.75720-1-irogers@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Url: http://acmel.wordpress.com X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Kang Minchul , Sandipan Das , Peter Zijlstra , Perry Taylor , Stephane Eranian , linux-kernel@vger.kernel.org, James Clark , Kim Phillips , Will Deacon , Kan Liang , Rob Herring , Alexander Shishkin , Ingo Molnar , Xing Zhengjun , Mike Leach , John Garry , Kajol Jain , Namhyung Kim , Caleb Biggers , linux-arm-kernel@lists.infradead.org, Ravi Bangoria , Florian Fischer , Adrian Hunter , linux-perf-users@vger.kernel.org, Jiri Olsa , Leo Yan , linuxppc-dev@lists.ozlabs.org, Jing Zhang Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Em Fri, Feb 03, 2023 at 12:43:48PM -0300, Arnaldo Carvalho de Melo escreveu: > I tried bisecting, but at this cset: > > acme@roc-rk3399-pc:~/git/perf$ git log --oneline -1 > d22e569cd33d (HEAD) perf pmu-events: Separate the metrics from events for no jevents > acme@roc-rk3399-pc:~/git/perf$ > > I'm getting this: > > CC /tmp/build/perf/pmu-events/pmu-events.o > pmu-events/pmu-events.c:3637:32: error: no previous prototype for ‘perf_pmu__find_table’ [-Werror=missing-prototypes] > 3637 | const struct pmu_events_table *perf_pmu__find_table(struct perf_pmu *pmu) > | ^~~~~~~~~~~~~~~~~~~~ > CC /tmp/build/perf/builtin-ftrace.o > CC /tmp/build/perf/builtin-help.o > CC /tmp/build/perf/builtin-buildid-list.o > cc1: all warnings being treated as errors > make[3]: *** [/home/acme/git/perf/tools/build/Makefile.build:97: /tmp/build/perf/pmu-events/pmu-events.o] Error 1 > make[2]: *** [Makefile.perf:676: /tmp/build/perf/pmu-events/pmu-events-in.o] Error 2 > make[2]: *** Waiting for unfinished jobs.... > CC /tmp/build/perf/builtin-buildid-cache.o > > > > CC /tmp/build/perf/tests/attr.o > arch/arm64/util/pmu.c: In function ‘pmu_events_table__find’: > arch/arm64/util/pmu.c:35:24: error: implicit declaration of function ‘perf_pmu__find_table’; did you mean ‘perf_pmu__find_by_type’? [-Werror=implicit-function-declaration] > 35 | return perf_pmu__find_table(pmu); > | ^~~~~~~~~~~~~~~~~~~~ > | perf_pmu__find_by_type > arch/arm64/util/pmu.c:35:24: error: returning ‘int’ from a function with return type ‘const struct pmu_events_table *’ makes pointer from integer without a cast [-Werror=int-conversion] > 35 | return perf_pmu__find_table(pmu); > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[6]: *** [/home/acme/git/perf/tools/build/Makefile.build:97: /tmp/build/perf/arch/arm64/util/pmu.o] Error 1 > make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2 > make[4]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: arm64] Error 2 > make[3]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: arch] Error 2 > make[3]: *** Waiting for unfinished jobs.... > CC /tmp/build/perf/tests/vmlinux-kallsyms.o > > ----- > > I'm building with: So: acme@roc-rk3399-pc:~/git/perf$ find tools/perf/ -name "*.[ch]" | xargs grep -w perf_pmu__find_table tools/perf/arch/arm64/util/pmu.c: return perf_pmu__find_table(pmu); tools/perf/pmu-events/pmu-events.c:const struct pmu_events_table *perf_pmu__find_table(struct perf_pmu *pmu) acme@roc-rk3399-pc:~/git/perf$ acme@roc-rk3399-pc:~/git/perf$ git log --oneline -1 d22e569cd33d (HEAD) perf pmu-events: Separate the metrics from events for no jevents acme@roc-rk3399-pc:~/git/perf$ Tring to fix... > > acme@roc-rk3399-pc:~/git/perf$ alias m > alias m='make -k BUILD_BPF_SKEL=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin && git status && perf test python' > acme@roc-rk3399-pc:~/git/perf$ rm -rf /tmp/build/$(basename $(pwd)) ; mkdir -p /tmp/build/$(basename $(pwd)) ; m > > To then go back to: > > > pmu-events/pmu-events.c:3616:11: error: ‘struct pmu_event’ has no member named ‘metric_expr’ > -- - Arnaldo 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EED38C05027 for ; Fri, 3 Feb 2023 16:03:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; 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=oCepE/aOyIxCK2wFWX4UXuNVcspIR+Ycj4eQg6OH0/g=; b=cYhwlchBCF0vvK crL6HnaQ9dpuMJtMlztrJBU7O4G8KZdPpcGryecNNjHeu4VKWRUuOqNK/AJ/IFSbjBAJcpk2BSo5g 6dQvJkSli4625AcjN9sFsATIAcwbulOOGlRkxNAsdZPNNgKN1apo4CLFx4+4qrRUsYxuxqcb98Q1K ogk5MJRH6FptxIRJ2WQbmPVKT29gzvDM5j+IWCBKZ8tb1FIa//0lqXA/w4k+VW7odKYhJqLGgoftd FwUfyKcBsfJuf41WOpDG8KSGtiflSmdepB4MeERZKZA1xkY88dO5xXkDivSbaglpge2cnpl5DKTzf R+/nvHRek0XUdvRSj3GQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pNyVs-002qSV-Or; Fri, 03 Feb 2023 16:02:08 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pNyVr-002qSE-L5 for linux-arm-kernel@bombadil.infradead.org; Fri, 03 Feb 2023 16:02:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=5JNOQqk5y/cZUHK0XkNFWk1cdgFJ+25jhUrBVb7vLt4=; b=DfndynPOWoFSEMxvER3K8YMZ8q iAKD6rSxalxqcgv3LkiskOCgzhOmNwhhstOqqucehSWWGUZqXRMpKFLiKIo15PFltfwkSzulf3O6p PccbhlcDoq1waGm1kBWT/VZ16WuxfWotdjxQwLGVaeHugLqqhVfwX9umgps/+WZxBwOdE9Jtn63XH 6OgfTIadAo7y+SucdQxCizD9nqcgu1JV8I0sqdRc5KFO6GOEdld6VMMTLlx2xqRWpgDdo+MHC9pmo tqbJvbTvpYmJHFAlV8J7GWaSoV3Skv3vyd/YmZmX1mIb87T9ZdvuEL8Pa7uEKY+HeHajrYrjj4vPM vnCBWTCA==; Received: from [187.19.237.165] (helo=quaco.ghostprotocols.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1pNyVp-00ER72-9r; Fri, 03 Feb 2023 16:02:06 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id D9BC1405BE; Fri, 3 Feb 2023 13:02:02 -0300 (-03) Date: Fri, 3 Feb 2023 13:02:02 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , Kan Liang , Kim Phillips , Florian Fischer , Ravi Bangoria , Xing Zhengjun , Rob Herring , Kang Minchul , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Sandipan Das , Jing Zhang , linuxppc-dev@lists.ozlabs.org, Kajol Jain , Stephane Eranian , Perry Taylor , Caleb Biggers Subject: Re: [PATCH v1] perf pmu: Fix aarch64 build Message-ID: References: <20230203014014.75720-1-irogers@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com 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 RW0gRnJpLCBGZWIgMDMsIDIwMjMgYXQgMTI6NDM6NDhQTSAtMDMwMCwgQXJuYWxkbyBDYXJ2YWxo byBkZSBNZWxvIGVzY3JldmV1Ogo+IEkgdHJpZWQgYmlzZWN0aW5nLCBidXQgYXQgdGhpcyBjc2V0 Ogo+IAo+IGFjbWVAcm9jLXJrMzM5OS1wYzp+L2dpdC9wZXJmJCBnaXQgbG9nIC0tb25lbGluZSAt MQo+IGQyMmU1NjljZDMzZCAoSEVBRCkgcGVyZiBwbXUtZXZlbnRzOiBTZXBhcmF0ZSB0aGUgbWV0 cmljcyBmcm9tIGV2ZW50cyBmb3Igbm8gamV2ZW50cwo+IGFjbWVAcm9jLXJrMzM5OS1wYzp+L2dp dC9wZXJmJAo+IAo+IEknbSBnZXR0aW5nIHRoaXM6Cj4gCj4gICBDQyAgICAgIC90bXAvYnVpbGQv cGVyZi9wbXUtZXZlbnRzL3BtdS1ldmVudHMubwo+IHBtdS1ldmVudHMvcG11LWV2ZW50cy5jOjM2 Mzc6MzI6IGVycm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yIOKAmHBlcmZfcG11X19maW5k X3RhYmxl4oCZIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KPiAgMzYzNyB8IGNvbnN0IHN0 cnVjdCBwbXVfZXZlbnRzX3RhYmxlICpwZXJmX3BtdV9fZmluZF90YWJsZShzdHJ1Y3QgcGVyZl9w bXUgKnBtdSkKPiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fgo+ICAgQ0MgICAgICAvdG1wL2J1aWxkL3BlcmYvYnVpbHRpbi1mdHJhY2Uu bwo+ICAgQ0MgICAgICAvdG1wL2J1aWxkL3BlcmYvYnVpbHRpbi1oZWxwLm8KPiAgIENDICAgICAg L3RtcC9idWlsZC9wZXJmL2J1aWx0aW4tYnVpbGRpZC1saXN0Lm8KPiBjYzE6IGFsbCB3YXJuaW5n cyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwo+IG1ha2VbM106ICoqKiBbL2hvbWUvYWNtZS9naXQv cGVyZi90b29scy9idWlsZC9NYWtlZmlsZS5idWlsZDo5NzogL3RtcC9idWlsZC9wZXJmL3BtdS1l dmVudHMvcG11LWV2ZW50cy5vXSBFcnJvciAxCj4gbWFrZVsyXTogKioqIFtNYWtlZmlsZS5wZXJm OjY3NjogL3RtcC9idWlsZC9wZXJmL3BtdS1ldmVudHMvcG11LWV2ZW50cy1pbi5vXSBFcnJvciAy Cj4gbWFrZVsyXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KPiAgIENDICAg ICAgL3RtcC9idWlsZC9wZXJmL2J1aWx0aW4tYnVpbGRpZC1jYWNoZS5vCj4gCj4gPFNOSVA+Cj4g Cj4gICBDQyAgICAgIC90bXAvYnVpbGQvcGVyZi90ZXN0cy9hdHRyLm8KPiBhcmNoL2FybTY0L3V0 aWwvcG11LmM6IEluIGZ1bmN0aW9uIOKAmHBtdV9ldmVudHNfdGFibGVfX2ZpbmTigJk6Cj4gYXJj aC9hcm02NC91dGlsL3BtdS5jOjM1OjI0OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYcGVyZl9wbXVfX2ZpbmRfdGFibGXigJk7IGRpZCB5b3UgbWVhbiDigJhwZXJm X3BtdV9fZmluZF9ieV90eXBl4oCZPyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJh dGlvbl0KPiAgICAzNSB8ICAgICAgICAgICAgICAgICByZXR1cm4gcGVyZl9wbXVfX2ZpbmRfdGFi bGUocG11KTsKPiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn4KPiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgcGVyZl9wbXVfX2ZpbmRfYnlf dHlwZQo+IGFyY2gvYXJtNjQvdXRpbC9wbXUuYzozNToyNDogZXJyb3I6IHJldHVybmluZyDigJhp bnTigJkgZnJvbSBhIGZ1bmN0aW9uIHdpdGggcmV0dXJuIHR5cGUg4oCYY29uc3Qgc3RydWN0IHBt dV9ldmVudHNfdGFibGUgKuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEg Y2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KPiAgICAzNSB8ICAgICAgICAgICAgICAgICBy ZXR1cm4gcGVyZl9wbXVfX2ZpbmRfdGFibGUocG11KTsKPiAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+IGNjMTogYWxsIHdhcm5pbmdzIGJl aW5nIHRyZWF0ZWQgYXMgZXJyb3JzCj4gbWFrZVs2XTogKioqIFsvaG9tZS9hY21lL2dpdC9wZXJm L3Rvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkOjk3OiAvdG1wL2J1aWxkL3BlcmYvYXJjaC9hcm02 NC91dGlsL3BtdS5vXSBFcnJvciAxCj4gbWFrZVs1XTogKioqIFsvaG9tZS9hY21lL2dpdC9wZXJm L3Rvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkOjEzOTogdXRpbF0gRXJyb3IgMgo+IG1ha2VbNF06 ICoqKiBbL2hvbWUvYWNtZS9naXQvcGVyZi90b29scy9idWlsZC9NYWtlZmlsZS5idWlsZDoxMzk6 IGFybTY0XSBFcnJvciAyCj4gbWFrZVszXTogKioqIFsvaG9tZS9hY21lL2dpdC9wZXJmL3Rvb2xz L2J1aWxkL01ha2VmaWxlLmJ1aWxkOjEzOTogYXJjaF0gRXJyb3IgMgo+IG1ha2VbM106ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCj4gICBDQyAgICAgIC90bXAvYnVpbGQvcGVy Zi90ZXN0cy92bWxpbnV4LWthbGxzeW1zLm8KPiAKPiAtLS0tLQo+IAo+IEknbSBidWlsZGluZyB3 aXRoOgoKU286CgphY21lQHJvYy1yazMzOTktcGM6fi9naXQvcGVyZiQgZmluZCB0b29scy9wZXJm LyAtbmFtZSAiKi5bY2hdIiB8IHhhcmdzIGdyZXAgLXcgcGVyZl9wbXVfX2ZpbmRfdGFibGUKdG9v bHMvcGVyZi9hcmNoL2FybTY0L3V0aWwvcG11LmM6CQlyZXR1cm4gcGVyZl9wbXVfX2ZpbmRfdGFi bGUocG11KTsKdG9vbHMvcGVyZi9wbXUtZXZlbnRzL3BtdS1ldmVudHMuYzpjb25zdCBzdHJ1Y3Qg cG11X2V2ZW50c190YWJsZSAqcGVyZl9wbXVfX2ZpbmRfdGFibGUoc3RydWN0IHBlcmZfcG11ICpw bXUpCmFjbWVAcm9jLXJrMzM5OS1wYzp+L2dpdC9wZXJmJAphY21lQHJvYy1yazMzOTktcGM6fi9n aXQvcGVyZiQgZ2l0IGxvZyAtLW9uZWxpbmUgLTEKZDIyZTU2OWNkMzNkIChIRUFEKSBwZXJmIHBt dS1ldmVudHM6IFNlcGFyYXRlIHRoZSBtZXRyaWNzIGZyb20gZXZlbnRzIGZvciBubyBqZXZlbnRz CmFjbWVAcm9jLXJrMzM5OS1wYzp+L2dpdC9wZXJmJAoKVHJpbmcgdG8gZml4Li4uCiAKPiAKPiBh Y21lQHJvYy1yazMzOTktcGM6fi9naXQvcGVyZiQgYWxpYXMgbQo+IGFsaWFzIG09J21ha2UgLWsg QlVJTERfQlBGX1NLRUw9MSBDT1JFU0lHSFQ9MSBPPS90bXAvYnVpbGQvcGVyZiAtQyB0b29scy9w ZXJmIGluc3RhbGwtYmluICYmIGdpdCBzdGF0dXMgJiYgcGVyZiB0ZXN0IHB5dGhvbicKPiBhY21l QHJvYy1yazMzOTktcGM6fi9naXQvcGVyZiQgcm0gLXJmIC90bXAvYnVpbGQvJChiYXNlbmFtZSAk KHB3ZCkpIDsgbWtkaXIgLXAgL3RtcC9idWlsZC8kKGJhc2VuYW1lICQocHdkKSkgOyBtCiAKPiAK PiBUbyB0aGVuIGdvIGJhY2sgdG86Cj4gCj4gPiBwbXUtZXZlbnRzL3BtdS1ldmVudHMuYzozNjE2 OjExOiBlcnJvcjog4oCYc3RydWN0IHBtdV9ldmVudOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKA mG1ldHJpY19leHBy4oCZCj4gCgotLSAKCi0gQXJuYWxkbwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=