From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0ABB20CCDD for ; Tue, 14 Jan 2025 22:00:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736892041; cv=none; b=YGic8R/58/ArCjGysOxb5zOba+SCiSOkAz9gcbBPSRXrMvcsX/MohyCI7K3GGQpwy64RwFE6vm8L2rXAgYY3DkGCjeRgRNWvHCEehB6J+KLcfUZA3UX9h1FFpESRZJlaQFTioGBYAYFQpkYJF/x1HMeT+kh1xad28ppW6xUvYkg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736892041; c=relaxed/simple; bh=9ICZ0W3Bkxk6NScIrYrvoP5/k3RPtl89AAbJs5WhK/M=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=CjObiYa8AkjZRt8G49qwEIBN++E26H+Fz0VM1+FOGwJzn0SYRwSimDJaX0iNKmpP5gQnIBFRM/09/4uM/ORgVB+bNC+nx+kr88ypW2iqpU9dwEBO/NYsegJY7DyZaKq+LTSdY88VYb1NlIsliB0jWaqz6kSPhE+lPKWz6yKECgQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=CfnWOFU8; arc=none smtp.client-ip=209.85.216.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="CfnWOFU8" Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-2ef714374c0so369805a91.0 for ; Tue, 14 Jan 2025 14:00:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1736892038; x=1737496838; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=LAi/vDeugCHa71Ma0EXTvLeZpuJSJHZJbQffJrAlCfU=; b=CfnWOFU8YcufNRB29bZ04MvHjbHryKeuMsose1caY8Z7sJKY8ieR3Slnks+dLgmZm8 dFiPZiHzfJLqTWAst6zXJ9h5b5vJe809XU/bsUfEviki8ef5FYho17FfrlFXUu7csoQW 9yPYUvQTNCoOyZxdnAvwuc/kPqcLaF8p8uRUQuSUz0qEYyltCUwPAS/xqpiJEv6m3quW Ai70RI+NsC+GGHZoPfWOHCca8dyzB+bO1rYO2LmmPsIgkfQQxiJz4YK2WyelHM191eSq 6hbJ0cL3RKSd2ewRyKziHqHjBKPq1SsfRM2NnaX7ISECobBOmYjn8kBOi+RY+FDGLFUo WLXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736892038; x=1737496838; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LAi/vDeugCHa71Ma0EXTvLeZpuJSJHZJbQffJrAlCfU=; b=hi1JfP6DnaUIprDrzft2uDiMSRUCzJQFs6nUofVkXPCd0LBKNr46GNE4yG9417pyLi YXHdT/sJSMWqjH95jM4i73pj+ujYUrKdEmz10LhqcCWdhj3+xOFaFrHpcdD/qMo/pEjF 9/Mqo0Mk89lBMF/TKGgpIBg3H1LRS2SGRA8sMpT53lJBDulC1Efqj4s7o4bl9HYWH/wn FHhsLWX62Y5rfDTFgRxa1LcyRi/a61OeKXe9GTuCmfw12R0fsW6o/oUEqBW9aSgdn1C3 F0/xLZkbRvGDTjp2eDdTCpiyA9Ud/1E3uWq6vG2OIbbZ8cuOtQm0Jh3RCxeBhwUz25UT fmyA== X-Forwarded-Encrypted: i=1; AJvYcCXyuoxOaq8tzN1YawiSDsCLW33b4ZKF22tvWBthu1kHt5GdXjlFt6PlgccJ7S10wscZKP8=@vger.kernel.org X-Gm-Message-State: AOJu0YyHJTAwff3trVPcWQW0nSFSzIX8HcAPPMBKtu+fNPiSyHb92zBU fXDjblLYLIBefJQFTqx5dIqMtr2MI4zV/Uz8C8pIIQ9XOEi5o04DnjBhZrTHkPA= X-Gm-Gg: ASbGnctrXqinQ3DokzUVGis2zepzF4W5KLdq8+cP61XKrSfmsi1K5vxi5+9aedElDbn B3KxnhjPesSrwdP0Qu8gs+Y0QHZ4GVutQXXcdE0k1uNYZfA3H6k6CSXx3Z2OxhhZZ141DA3nA8U qJsrzjibkz58h0fBaz9f8V1MxeCK3N0QGtKWJyv4qbjH2dNyvRKAjb/p176NK3qF0AatX6NEZlU taFEgbZlTGgQrMr9ABwwYxaREYwm1YjTuQZ/r2sbXvyaIU= X-Google-Smtp-Source: AGHT+IHUmOu5Z8yV9askuOExmMIbEPTgLHypbNQwlNxLYlNE9sF/DEJ2VQ1UKljmu+ix+BNJ1HS+qw== X-Received: by 2002:a17:90b:3a08:b0:2ee:edae:775 with SMTP id 98e67ed59e1d1-2f728dd351amr804769a91.3.1736892037932; Tue, 14 Jan 2025 14:00:37 -0800 (PST) Received: from ghost ([50.145.13.30]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f72c20abc4sm27371a91.34.2025.01.14.14.00.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jan 2025 14:00:36 -0800 (PST) Date: Tue, 14 Jan 2025 14:00:33 -0800 From: Charlie Jenkins To: Arnaldo Carvalho de Melo Cc: Peter Zijlstra , Ingo Molnar , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Paul Walmsley , Palmer Dabbelt , =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= , =?iso-8859-1?Q?G=FCnther?= Noack , Christian Brauner , Guo Ren , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Jonathan Corbet , Arnd Bergmann , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-riscv@lists.infradead.org, linux-security-module@vger.kernel.org, bpf@vger.kernel.org, linux-csky@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v6 00/16] perf tools: Use generic syscall scripts for all archs Message-ID: References: <20250108-perf_syscalltbl-v6-0-7543b5293098@rivosinc.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Tue, Jan 14, 2025 at 11:27:30AM -0800, Charlie Jenkins wrote: > On Tue, Jan 14, 2025 at 02:58:26PM -0300, Arnaldo Carvalho de Melo wrote: > > On Mon, Jan 13, 2025 at 11:55:05AM -0300, Arnaldo Carvalho de Melo wrote: > > > On Fri, Jan 10, 2025 at 11:31:01AM -0800, Charlie Jenkins wrote: > > > > On Thu, Jan 09, 2025 at 03:00:59PM -0800, Charlie Jenkins wrote: > > > > > Ooh okay I see, the quiet commands were being ignored as-is. We could > > > > > add the lines to handle this to Makefile.syscalls, but I think the > > > > > better solution is to move the lines from Makefile.build to > > > > > Makefile.perf to be more generically available. Here is a patch for > > > > > that. I also added the comment from the kernel Makefile describing what > > > > > this does. > > > > > > > > From 8dcec7f5d937ede3d33c687573dc2f1654ddc59e Mon Sep 17 00:00:00 2001 > > > > > From: Charlie Jenkins > > > > > Date: Thu, 9 Jan 2025 14:36:40 -0800 > > > > > Subject: [PATCH] perf tools: Expose quiet/verbose variables in Makefile.perf > > > > > > > > > > The variables to make builds silent/verbose live inside > > > > > tools/build/Makefile.build. Move those variables to the top-level > > > > > Makefile.perf to be generally available. > > > > > > > > > > > > > Let me know how you want to handle this, I can send this out as a > > > > separate patch if that's better. > > > > > > I used the patch you provided above after hand editing the message > > > before feeding it to 'git am', added these comments: > > > > Somehow this is causing some trouble: > > > > ⬢ [acme@toolbox perf-tools-next]$ make -C tools/perf build-test > > make: Entering directory '/home/acme/git/perf-tools-next/tools/perf' > > - tarpkg: ./tests/perf-targz-src-pkg . > > /bin/sh: line 1: @make: command not found > > make[4]: *** [Makefile:27: clean-asm_pure_loop] Error 127 > > make[3]: *** [Makefile.perf:764: tests-coresight-targets-clean] Error 2 > > make[2]: *** [Makefile:96: clean] Error 2 > > make[1]: *** [tests/make:330: make_static] Error 2 > > make: *** [Makefile:109: build-test] Error 2 > > make: Leaving directory '/home/acme/git/perf-tools-next/tools/perf' > > ⬢ [acme@toolbox perf-tools-next]$ > > > > Can you please try fixing it as I'm busy now (I'll be on vacation from > > tomorrow till early February)? This is what I extracted: > > There was an erroneous $(Q) in > tools/perf/tests/shell/coresight/Makefile. Previously it would expand to > the empty string so wouldn't cause any problems, but now it's in the > middle of an expression so hence the error. I'll send an updated patch. Let me know if this works as expected! I sent it as [1]. [1] https://lore.kernel.org/all/20250114-perf_make_test-v1-1-decc1c517b11@rivosinc.com/ > > > > > commit c199fd785d18121ffd0ba5758e23a42ba2984e11 > > Author: Charlie Jenkins > > Date: Mon Jan 13 11:50:55 2025 -0300 > > > > perf tools: Expose quiet/verbose variables in Makefile.perf > > > > The variables to make builds silent/verbose live inside > > tools/build/Makefile.build. Move those variables to the top-level > > Makefile.perf to be generally available. > > > > Committer testing: > > > > See the SYSCALL lines, now they are consistent with the other > > operations in other lines: > > > > SYSTBL /tmp/build/perf-tools-next/arch/x86/include/generated/asm/syscalls_32.h > > SYSTBL /tmp/build/perf-tools-next/arch/x86/include/generated/asm/syscalls_64.h > > GEN /tmp/build/perf-tools-next/common-cmds.h > > GEN /tmp/build/perf-tools-next/arch/arm64/include/generated/asm/sysreg-defs.h > > PERF_VERSION = 6.13.rc2.g3d94bb6ed1d0 > > GEN perf-archive > > MKDIR /tmp/build/perf-tools-next/jvmti/ > > MKDIR /tmp/build/perf-tools-next/jvmti/ > > MKDIR /tmp/build/perf-tools-next/jvmti/ > > MKDIR /tmp/build/perf-tools-next/jvmti/ > > GEN perf-iostat > > CC /tmp/build/perf-tools-next/jvmti/libjvmti.o > > CC /tmp/build/perf-tools-next/jvmti/jvmti_agent.o > > > > Reported-by: Arnaldo Carvalho de Melo > > Signed-off-by: Charlie Jenkins > > Tested-by: Arnaldo Carvalho de Melo > > Cc: Adrian Hunter > > Cc: Alexander Shishkin > > Cc: Arnd Bergmann > > Cc: Christian Brauner > > Cc: Guo Ren > > Cc: Günther Noack > > Cc: Ian Rogers > > Cc: Ingo Molnar > > Cc: James Clark > > Cc: Jiri Olsa > > Cc: John Garry > > Cc: Jonathan Corbet > > Cc: Leo Yan > > Cc: Mark Rutland > > Cc: Mickaël Salaün > > Cc: Mike Leach > > Cc: Namhyung Kim > > Cc: Palmer Dabbelt > > Cc: Paul Walmsley > > Cc: Peter Zijlstra > > Cc: Will Deacon > > Link: http://lore.kernel.org/lkml/None > > Signed-off-by: Arnaldo Carvalho de Melo > > > > diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build > > index 5fb3fb3d97e0fd11..e710ed67a1b49d9f 100644 > > --- a/tools/build/Makefile.build > > +++ b/tools/build/Makefile.build > > @@ -12,26 +12,6 @@ > > PHONY := __build > > __build: > > > > -ifeq ($(V),1) > > - quiet = > > - Q = > > -else > > - quiet=quiet_ > > - Q=@ > > -endif > > - > > -# If the user is running make -s (silent mode), suppress echoing of commands > > -# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. > > -ifeq ($(filter 3.%,$(MAKE_VERSION)),) > > -short-opts := $(firstword -$(MAKEFLAGS)) > > -else > > -short-opts := $(filter-out --%,$(MAKEFLAGS)) > > -endif > > - > > -ifneq ($(findstring s,$(short-opts)),) > > - quiet=silent_ > > -endif > > - > > build-dir := $(srctree)/tools/build > > > > # Define $(fixdep) for dep-cmd function > > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > > index a449d00155364422..55d6ce9ea52fb2a5 100644 > > --- a/tools/perf/Makefile.perf > > +++ b/tools/perf/Makefile.perf > > @@ -161,12 +161,47 @@ export VPATH > > SOURCE := $(shell ln -sf $(srctree)/tools/perf $(OUTPUT)/source) > > endif > > > > +# Beautify output > > +# --------------------------------------------------------------------------- > > +# > > +# Most of build commands in Kbuild start with "cmd_". You can optionally define > > +# "quiet_cmd_*". If defined, the short log is printed. Otherwise, no log from > > +# that command is printed by default. > > +# > > +# e.g.) > > +# quiet_cmd_depmod = DEPMOD $(MODLIB) > > +# cmd_depmod = $(srctree)/scripts/depmod.sh $(DEPMOD) $(KERNELRELEASE) > > +# > > +# A simple variant is to prefix commands with $(Q) - that's useful > > +# for commands that shall be hidden in non-verbose mode. > > +# > > +# $(Q)$(MAKE) $(build)=scripts/basic > > +# > > +# To put more focus on warnings, be less verbose as default > > +# Use 'make V=1' to see the full commands > > + > > ifeq ($(V),1) > > + quiet = > > Q = > > else > > - Q = @ > > + quiet=quiet_ > > + Q=@ > > endif > > > > +# If the user is running make -s (silent mode), suppress echoing of commands > > +# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. > > +ifeq ($(filter 3.%,$(MAKE_VERSION)),) > > +short-opts := $(firstword -$(MAKEFLAGS)) > > +else > > +short-opts := $(filter-out --%,$(MAKEFLAGS)) > > +endif > > + > > +ifneq ($(findstring s,$(short-opts)),) > > + quiet=silent_ > > +endif > > + > > +export quiet Q > > + > > # Do not use make's built-in rules > > # (this improves performance and avoids hard-to-debug behaviour); > > MAKEFLAGS += -r 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 7DB23C02183 for ; Tue, 14 Jan 2025 22:00:49 +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=lPw03/05JD74vj+XgyC86nz7rpJp2eYKTyV7Zv1/xHY=; b=fXdF4Ec8wRArGj Ki6ZLu5JIxe76kq+HYe0Qo07eUNBZtHkdB2YSGGRLv82s8muopBWfg1yQsnAs3O4q1vXeCt+RJyVx ub9ejCVFppJRTMdXo8tdyG7wwHAPu/VNa1omJIcfy8TJ+XwCwFI2lIT/TZfv9V7CHGGqzKw5hAcFQ K+3mScuPuclcVNQSQ+eiyXTRjct2VamZnPREUUEuRxLgDxe6vxYAUtxJvLZC4MG8FNJ2a+a+6BgqV A1BXdoWxwtUB5aIKTW9M5AFHL0s/vrLfpPHughtjbozUrcmGpPmGT/0RvukHobXD3zv581PwX4cDG sUbO6Ssr22z4bPkLDTmA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tXoxm-00000009sIs-3Nen; Tue, 14 Jan 2025 22:00:42 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tXoxj-00000009sHN-0HHi for linux-riscv@lists.infradead.org; Tue, 14 Jan 2025 22:00:41 +0000 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2f4409fc8fdso352043a91.1 for ; Tue, 14 Jan 2025 14:00:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1736892038; x=1737496838; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=LAi/vDeugCHa71Ma0EXTvLeZpuJSJHZJbQffJrAlCfU=; b=08i8X17VrwWxw0vlPMeWol1UjVRUXmGIdQP4ljnCbyhWr6CRENFNcuDX9AccuktzMD r5yQhdPfWSa9iAGwOmlQzP9rHRZYAd1fk1tphNSGRmvnfkz86tl6FtHUSSMhL34/5Rdi wW8++qHlG7W3TRGi1jnu4aQQv8j+638qB78HTcnUQ6f9wHMnd8f2U6id3ygyBjy4W3DL KK1egm6qRHSG0thE+geVDCboqQRLL+mrYiglR3v1j9n7ea8DLCvzyzZO3iPTdX2TMlFz b9/PqTr6xkhT4VL2kpPjZEllKirb8rsga5q3psjzBgIIyNKDy2+YojI3KswYHqpGNEfw 6q3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736892038; x=1737496838; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LAi/vDeugCHa71Ma0EXTvLeZpuJSJHZJbQffJrAlCfU=; b=j407znF2hNS/AzHPxmo55Jivog4IRufk2n0Jsy/8lGLlc47MRNpo4riNgolwks1a5+ rtbzqdJJQS1Z7MQMSlGWHXa2VL5Jy0x5c6TadGe7nWv8JafRUK+EDzzSen4pXLsPGsx7 wFJ3hOfQD0i1Bvl5UcfCBD8QyoLYl8fnH/vwfCfc3ajxM9kqLm+OXq72VAY2x1dsUUB1 626GuSJ7QTqFHLOYpIzZ+ugbL1abTO/KKOifsjjLj2iEIWsS5ae1UuPQnCSYaWHlkFG4 ywYqa34C3bVMf0MBb0NadaYvo/ru5cheEGnZZYb0i3E8LdrCfrDhQGG+PpfeZTZ+ynLf UM1w== X-Forwarded-Encrypted: i=1; AJvYcCUqsieHWMBIeDUNLvI2CJunSYeLKiVRt/6lHSBTqbnIpFJdnD0RriZ/0vLPZHj/9Hp8YqxKBtz3LslXmg==@lists.infradead.org X-Gm-Message-State: AOJu0YwwF8ixaDvOaw/hu8O4c8uo8G6MLYnqSe9eA6l/AvVLZolLh6s0 dMksmGTzzSlNqY9NgqFwCAaSofEcQVbdZMbG9r9hD0vbOX2so17efJI1v9kjsLw= X-Gm-Gg: ASbGncvk4Jr0ZE02U/GFXXMcXxFLI0oNkZBweTIi5k1B6AXE8KxIELrhQpf7Z0m9Ce4 XPTL2ZQccs+GxoXN4jGBYpT+grPVvozDqVw3CYfCPl2uBP/sL6TeA1svIaK5WeWkphhvchrzjsR ifnOTOoltVgEQ0iM3yMe1BMmq7dK/8FozcLcuFsPNdSTbKatVPbW+WhIQy6zW7lANNQ98LEdtPj 2hhla27YMNaMCTOYYjZGgSw413Zx/Zq1sv9UIldrTtVi8I= X-Google-Smtp-Source: AGHT+IHUmOu5Z8yV9askuOExmMIbEPTgLHypbNQwlNxLYlNE9sF/DEJ2VQ1UKljmu+ix+BNJ1HS+qw== X-Received: by 2002:a17:90b:3a08:b0:2ee:edae:775 with SMTP id 98e67ed59e1d1-2f728dd351amr804769a91.3.1736892037932; Tue, 14 Jan 2025 14:00:37 -0800 (PST) Received: from ghost ([50.145.13.30]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f72c20abc4sm27371a91.34.2025.01.14.14.00.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jan 2025 14:00:36 -0800 (PST) Date: Tue, 14 Jan 2025 14:00:33 -0800 From: Charlie Jenkins To: Arnaldo Carvalho de Melo Cc: Peter Zijlstra , Ingo Molnar , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Paul Walmsley , Palmer Dabbelt , =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= , =?iso-8859-1?Q?G=FCnther?= Noack , Christian Brauner , Guo Ren , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Jonathan Corbet , Arnd Bergmann , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-riscv@lists.infradead.org, linux-security-module@vger.kernel.org, bpf@vger.kernel.org, linux-csky@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v6 00/16] perf tools: Use generic syscall scripts for all archs Message-ID: References: <20250108-perf_syscalltbl-v6-0-7543b5293098@rivosinc.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-20250114_140039_394990_A7701525 X-CRM114-Status: GOOD ( 43.87 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVHVlLCBKYW4gMTQsIDIwMjUgYXQgMTE6Mjc6MzBBTSAtMDgwMCwgQ2hhcmxpZSBKZW5raW5z IHdyb3RlOgo+IE9uIFR1ZSwgSmFuIDE0LCAyMDI1IGF0IDAyOjU4OjI2UE0gLTAzMDAsIEFybmFs ZG8gQ2FydmFsaG8gZGUgTWVsbyB3cm90ZToKPiA+IE9uIE1vbiwgSmFuIDEzLCAyMDI1IGF0IDEx OjU1OjA1QU0gLTAzMDAsIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyB3cm90ZToKPiA+ID4gT24g RnJpLCBKYW4gMTAsIDIwMjUgYXQgMTE6MzE6MDFBTSAtMDgwMCwgQ2hhcmxpZSBKZW5raW5zIHdy b3RlOgo+ID4gPiA+IE9uIFRodSwgSmFuIDA5LCAyMDI1IGF0IDAzOjAwOjU5UE0gLTA4MDAsIENo YXJsaWUgSmVua2lucyB3cm90ZToKPiA+ID4gPiA+IE9vaCBva2F5IEkgc2VlLCB0aGUgcXVpZXQg Y29tbWFuZHMgd2VyZSBiZWluZyBpZ25vcmVkIGFzLWlzLiBXZSBjb3VsZAo+ID4gPiA+ID4gYWRk IHRoZSBsaW5lcyB0byBoYW5kbGUgdGhpcyB0byBNYWtlZmlsZS5zeXNjYWxscywgYnV0IEkgdGhp bmsgdGhlCj4gPiA+ID4gPiBiZXR0ZXIgc29sdXRpb24gaXMgdG8gbW92ZSB0aGUgbGluZXMgZnJv bSBNYWtlZmlsZS5idWlsZCB0bwo+ID4gPiA+ID4gTWFrZWZpbGUucGVyZiB0byBiZSBtb3JlIGdl bmVyaWNhbGx5IGF2YWlsYWJsZS4gSGVyZSBpcyBhIHBhdGNoIGZvcgo+ID4gPiA+ID4gdGhhdC4g SSBhbHNvIGFkZGVkIHRoZSBjb21tZW50IGZyb20gdGhlIGtlcm5lbCBNYWtlZmlsZSBkZXNjcmli aW5nIHdoYXQKPiA+ID4gPiA+IHRoaXMgZG9lcy4KPiA+ID4gCj4gPiA+ID4gPiBGcm9tIDhkY2Vj N2Y1ZDkzN2VkZTNkMzNjNjg3NTczZGMyZjE2NTRkZGM1OWUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCj4gPiA+ID4gPiBGcm9tOiBDaGFybGllIEplbmtpbnMgPGNoYXJsaWVAcml2b3NpbmMuY29t Pgo+ID4gPiA+ID4gRGF0ZTogVGh1LCA5IEphbiAyMDI1IDE0OjM2OjQwIC0wODAwCj4gPiA+ID4g PiBTdWJqZWN0OiBbUEFUQ0hdIHBlcmYgdG9vbHM6IEV4cG9zZSBxdWlldC92ZXJib3NlIHZhcmlh YmxlcyBpbiBNYWtlZmlsZS5wZXJmCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRoZSB2YXJpYWJsZXMg dG8gbWFrZSBidWlsZHMgc2lsZW50L3ZlcmJvc2UgbGl2ZSBpbnNpZGUKPiA+ID4gPiA+IHRvb2xz L2J1aWxkL01ha2VmaWxlLmJ1aWxkLiBNb3ZlIHRob3NlIHZhcmlhYmxlcyB0byB0aGUgdG9wLWxl dmVsCj4gPiA+ID4gPiBNYWtlZmlsZS5wZXJmIHRvIGJlIGdlbmVyYWxseSBhdmFpbGFibGUuCj4g PiA+IAo+ID4gPiA8U05JUCBhcHBsaWVkIHBhdGNoPgo+ID4gPiAgCj4gPiA+ID4gTGV0IG1lIGtu b3cgaG93IHlvdSB3YW50IHRvIGhhbmRsZSB0aGlzLCBJIGNhbiBzZW5kIHRoaXMgb3V0IGFzIGEK PiA+ID4gPiBzZXBhcmF0ZSBwYXRjaCBpZiB0aGF0J3MgYmV0dGVyLgo+ID4gPiAKPiA+ID4gSSB1 c2VkIHRoZSBwYXRjaCB5b3UgcHJvdmlkZWQgYWJvdmUgYWZ0ZXIgaGFuZCBlZGl0aW5nIHRoZSBt ZXNzYWdlCj4gPiA+IGJlZm9yZSBmZWVkaW5nIGl0IHRvICdnaXQgYW0nLCBhZGRlZCB0aGVzZSBj b21tZW50czoKPiA+IAo+ID4gU29tZWhvdyB0aGlzIGlzIGNhdXNpbmcgc29tZSB0cm91YmxlOgo+ ID4gCj4gPiDirKIgW2FjbWVAdG9vbGJveCBwZXJmLXRvb2xzLW5leHRdJCBtYWtlIC1DIHRvb2xz L3BlcmYgYnVpbGQtdGVzdAo+ID4gbWFrZTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvaG9tZS9hY21l L2dpdC9wZXJmLXRvb2xzLW5leHQvdG9vbHMvcGVyZicKPiA+IC0gdGFycGtnOiAuL3Rlc3RzL3Bl cmYtdGFyZ3otc3JjLXBrZyAuCj4gPiAvYmluL3NoOiBsaW5lIDE6IEBtYWtlOiBjb21tYW5kIG5v dCBmb3VuZAo+ID4gbWFrZVs0XTogKioqIFtNYWtlZmlsZToyNzogY2xlYW4tYXNtX3B1cmVfbG9v cF0gRXJyb3IgMTI3Cj4gPiBtYWtlWzNdOiAqKiogW01ha2VmaWxlLnBlcmY6NzY0OiB0ZXN0cy1j b3Jlc2lnaHQtdGFyZ2V0cy1jbGVhbl0gRXJyb3IgMgo+ID4gbWFrZVsyXTogKioqIFtNYWtlZmls ZTo5NjogY2xlYW5dIEVycm9yIDIKPiA+IG1ha2VbMV06ICoqKiBbdGVzdHMvbWFrZTozMzA6IG1h a2Vfc3RhdGljXSBFcnJvciAyCj4gPiBtYWtlOiAqKiogW01ha2VmaWxlOjEwOTogYnVpbGQtdGVz dF0gRXJyb3IgMgo+ID4gbWFrZTogTGVhdmluZyBkaXJlY3RvcnkgJy9ob21lL2FjbWUvZ2l0L3Bl cmYtdG9vbHMtbmV4dC90b29scy9wZXJmJwo+ID4g4qyiIFthY21lQHRvb2xib3ggcGVyZi10b29s cy1uZXh0XSQKPiA+IAo+ID4gQ2FuIHlvdSBwbGVhc2UgdHJ5IGZpeGluZyBpdCBhcyBJJ20gYnVz eSBub3cgKEknbGwgYmUgb24gdmFjYXRpb24gZnJvbQo+ID4gdG9tb3Jyb3cgdGlsbCBlYXJseSBG ZWJydWFyeSk/IFRoaXMgaXMgd2hhdCBJIGV4dHJhY3RlZDoKPiAKPiBUaGVyZSB3YXMgYW4gZXJy b25lb3VzICQoUSkgaW4KPiB0b29scy9wZXJmL3Rlc3RzL3NoZWxsL2NvcmVzaWdodC9NYWtlZmls ZS4gUHJldmlvdXNseSBpdCB3b3VsZCBleHBhbmQgdG8KPiB0aGUgZW1wdHkgc3RyaW5nIHNvIHdv dWxkbid0IGNhdXNlIGFueSBwcm9ibGVtcywgYnV0IG5vdyBpdCdzIGluIHRoZQo+IG1pZGRsZSBv ZiBhbiBleHByZXNzaW9uIHNvIGhlbmNlIHRoZSBlcnJvci4gSSdsbCBzZW5kIGFuIHVwZGF0ZWQg cGF0Y2guCgpMZXQgbWUga25vdyBpZiB0aGlzIHdvcmtzIGFzIGV4cGVjdGVkISBJIHNlbnQgaXQg YXMgWzFdLgoKWzFdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI1MDExNC1wZXJmX21h a2VfdGVzdC12MS0xLWRlY2MxYzUxN2IxMUByaXZvc2luYy5jb20vCgo+IAo+ID4gCj4gPiBjb21t aXQgYzE5OWZkNzg1ZDE4MTIxZmZkMGJhNTc1OGUyM2E0MmJhMjk4NGUxMQo+ID4gQXV0aG9yOiBD aGFybGllIEplbmtpbnMgPGNoYXJsaWVAcml2b3NpbmMuY29tPgo+ID4gRGF0ZTogICBNb24gSmFu IDEzIDExOjUwOjU1IDIwMjUgLTAzMDAKPiA+IAo+ID4gICAgIHBlcmYgdG9vbHM6IEV4cG9zZSBx dWlldC92ZXJib3NlIHZhcmlhYmxlcyBpbiBNYWtlZmlsZS5wZXJmCj4gPiAgICAgCj4gPiAgICAg VGhlIHZhcmlhYmxlcyB0byBtYWtlIGJ1aWxkcyBzaWxlbnQvdmVyYm9zZSBsaXZlIGluc2lkZQo+ ID4gICAgIHRvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkLiBNb3ZlIHRob3NlIHZhcmlhYmxlcyB0 byB0aGUgdG9wLWxldmVsCj4gPiAgICAgTWFrZWZpbGUucGVyZiB0byBiZSBnZW5lcmFsbHkgYXZh aWxhYmxlLgo+ID4gICAgIAo+ID4gICAgIENvbW1pdHRlciB0ZXN0aW5nOgo+ID4gICAgIAo+ID4g ICAgIFNlZSB0aGUgU1lTQ0FMTCBsaW5lcywgbm93IHRoZXkgYXJlIGNvbnNpc3RlbnQgd2l0aCB0 aGUgb3RoZXIKPiA+ICAgICBvcGVyYXRpb25zIGluIG90aGVyIGxpbmVzOgo+ID4gICAgIAo+ID4g ICAgICAgU1lTVEJMICAvdG1wL2J1aWxkL3BlcmYtdG9vbHMtbmV4dC9hcmNoL3g4Ni9pbmNsdWRl L2dlbmVyYXRlZC9hc20vc3lzY2FsbHNfMzIuaAo+ID4gICAgICAgU1lTVEJMICAvdG1wL2J1aWxk L3BlcmYtdG9vbHMtbmV4dC9hcmNoL3g4Ni9pbmNsdWRlL2dlbmVyYXRlZC9hc20vc3lzY2FsbHNf NjQuaAo+ID4gICAgICAgR0VOICAgICAvdG1wL2J1aWxkL3BlcmYtdG9vbHMtbmV4dC9jb21tb24t Y21kcy5oCj4gPiAgICAgICBHRU4gICAgIC90bXAvYnVpbGQvcGVyZi10b29scy1uZXh0L2FyY2gv YXJtNjQvaW5jbHVkZS9nZW5lcmF0ZWQvYXNtL3N5c3JlZy1kZWZzLmgKPiA+ICAgICAgIFBFUkZf VkVSU0lPTiA9IDYuMTMucmMyLmczZDk0YmI2ZWQxZDAKPiA+ICAgICAgIEdFTiAgICAgcGVyZi1h cmNoaXZlCj4gPiAgICAgICBNS0RJUiAgIC90bXAvYnVpbGQvcGVyZi10b29scy1uZXh0L2p2bXRp Lwo+ID4gICAgICAgTUtESVIgICAvdG1wL2J1aWxkL3BlcmYtdG9vbHMtbmV4dC9qdm10aS8KPiA+ ICAgICAgIE1LRElSICAgL3RtcC9idWlsZC9wZXJmLXRvb2xzLW5leHQvanZtdGkvCj4gPiAgICAg ICBNS0RJUiAgIC90bXAvYnVpbGQvcGVyZi10b29scy1uZXh0L2p2bXRpLwo+ID4gICAgICAgR0VO ICAgICBwZXJmLWlvc3RhdAo+ID4gICAgICAgQ0MgICAgICAvdG1wL2J1aWxkL3BlcmYtdG9vbHMt bmV4dC9qdm10aS9saWJqdm10aS5vCj4gPiAgICAgICBDQyAgICAgIC90bXAvYnVpbGQvcGVyZi10 b29scy1uZXh0L2p2bXRpL2p2bXRpX2FnZW50Lm8KPiA+ICAgICAKPiA+ICAgICBSZXBvcnRlZC1i eTogQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQHJlZGhhdC5jb20+Cj4gPiAgICAgU2ln bmVkLW9mZi1ieTogQ2hhcmxpZSBKZW5raW5zIDxjaGFybGllQHJpdm9zaW5jLmNvbT4KPiA+ICAg ICBUZXN0ZWQtYnk6IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUByZWRoYXQuY29tPgo+ ID4gICAgIENjOiBBZHJpYW4gSHVudGVyIDxhZHJpYW4uaHVudGVyQGludGVsLmNvbT4KPiA+ICAg ICBDYzogQWxleGFuZGVyIFNoaXNoa2luIDxhbGV4YW5kZXIuc2hpc2hraW5AbGludXguaW50ZWwu Y29tPgo+ID4gICAgIENjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgo+ID4gICAgIENj OiBDaHJpc3RpYW4gQnJhdW5lciA8YnJhdW5lckBrZXJuZWwub3JnPgo+ID4gICAgIENjOiBHdW8g UmVuIDxndW9yZW5Aa2VybmVsLm9yZz4KPiA+ICAgICBDYzogR8O8bnRoZXIgTm9hY2sgPGdub2Fj a0Bnb29nbGUuY29tPgo+ID4gICAgIENjOiBJYW4gUm9nZXJzIDxpcm9nZXJzQGdvb2dsZS5jb20+ Cj4gPiAgICAgQ2M6IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgo+ID4gICAgIENjOiBK YW1lcyBDbGFyayA8amFtZXMuY2xhcmtAbGluYXJvLm9yZz4KPiA+ICAgICBDYzogSmlyaSBPbHNh IDxqb2xzYUBrZXJuZWwub3JnPgo+ID4gICAgIENjOiBKb2huIEdhcnJ5IDxqb2huLmcuZ2FycnlA b3JhY2xlLmNvbT4KPiA+ICAgICBDYzogSm9uYXRoYW4gQ29yYmV0IDxjb3JiZXRAbHduLm5ldD4K PiA+ICAgICBDYzogTGVvIFlhbiA8bGVvLnlhbkBsaW51eC5kZXY+Cj4gPiAgICAgQ2M6IE1hcmsg UnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+Cj4gPiAgICAgQ2M6IE1pY2thw6tsIFNhbGHD vG4gPG1pY0BkaWdpa29kLm5ldD4KPiA+ICAgICBDYzogTWlrZSBMZWFjaCA8bWlrZS5sZWFjaEBs aW5hcm8ub3JnPgo+ID4gICAgIENjOiBOYW1oeXVuZyBLaW0gPG5hbWh5dW5nQGtlcm5lbC5vcmc+ Cj4gPiAgICAgQ2M6IFBhbG1lciBEYWJiZWx0IDxwYWxtZXJAZGFiYmVsdC5jb20+Cj4gPiAgICAg Q2M6IFBhdWwgV2FsbXNsZXkgPHBhdWwud2FsbXNsZXlAc2lmaXZlLmNvbT4KPiA+ICAgICBDYzog UGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPgo+ID4gICAgIENjOiBXaWxsIERl YWNvbiA8d2lsbEBrZXJuZWwub3JnPgo+ID4gICAgIExpbms6IGh0dHA6Ly9sb3JlLmtlcm5lbC5v cmcvbGttbC9Ob25lCj4gPiAgICAgU2lnbmVkLW9mZi1ieTogQXJuYWxkbyBDYXJ2YWxobyBkZSBN ZWxvIDxhY21lQHJlZGhhdC5jb20+Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS90b29scy9idWlsZC9N YWtlZmlsZS5idWlsZCBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkCj4gPiBpbmRleCA1ZmIz ZmIzZDk3ZTBmZDExLi5lNzEwZWQ2N2ExYjQ5ZDlmIDEwMDY0NAo+ID4gLS0tIGEvdG9vbHMvYnVp bGQvTWFrZWZpbGUuYnVpbGQKPiA+ICsrKyBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkCj4g PiBAQCAtMTIsMjYgKzEyLDYgQEAKPiA+ICBQSE9OWSA6PSBfX2J1aWxkCj4gPiAgX19idWlsZDoK PiA+ICAKPiA+IC1pZmVxICgkKFYpLDEpCj4gPiAtICBxdWlldCA9Cj4gPiAtICBRID0KPiA+IC1l bHNlCj4gPiAtICBxdWlldD1xdWlldF8KPiA+IC0gIFE9QAo+ID4gLWVuZGlmCj4gPiAtCj4gPiAt IyBJZiB0aGUgdXNlciBpcyBydW5uaW5nIG1ha2UgLXMgKHNpbGVudCBtb2RlKSwgc3VwcHJlc3Mg ZWNob2luZyBvZiBjb21tYW5kcwo+ID4gLSMgbWFrZS00LjAgKGFuZCBsYXRlcikga2VlcCBzaW5n bGUgbGV0dGVyIG9wdGlvbnMgaW4gdGhlIDFzdCB3b3JkIG9mIE1BS0VGTEFHUy4KPiA+IC1pZmVx ICgkKGZpbHRlciAzLiUsJChNQUtFX1ZFUlNJT04pKSwpCj4gPiAtc2hvcnQtb3B0cyA6PSAkKGZp cnN0d29yZCAtJChNQUtFRkxBR1MpKQo+ID4gLWVsc2UKPiA+IC1zaG9ydC1vcHRzIDo9ICQoZmls dGVyLW91dCAtLSUsJChNQUtFRkxBR1MpKQo+ID4gLWVuZGlmCj4gPiAtCj4gPiAtaWZuZXEgKCQo ZmluZHN0cmluZyBzLCQoc2hvcnQtb3B0cykpLCkKPiA+IC0gIHF1aWV0PXNpbGVudF8KPiA+IC1l bmRpZgo+ID4gLQo+ID4gIGJ1aWxkLWRpciA6PSAkKHNyY3RyZWUpL3Rvb2xzL2J1aWxkCj4gPiAg Cj4gPiAgIyBEZWZpbmUgJChmaXhkZXApIGZvciBkZXAtY21kIGZ1bmN0aW9uCj4gPiBkaWZmIC0t Z2l0IGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5wZXJmIGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5wZXJm Cj4gPiBpbmRleCBhNDQ5ZDAwMTU1MzY0NDIyLi41NWQ2Y2U5ZWE1MmZiMmE1IDEwMDY0NAo+ID4g LS0tIGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5wZXJmCj4gPiArKysgYi90b29scy9wZXJmL01ha2Vm aWxlLnBlcmYKPiA+IEBAIC0xNjEsMTIgKzE2MSw0NyBAQCBleHBvcnQgVlBBVEgKPiA+ICBTT1VS Q0UgOj0gJChzaGVsbCBsbiAtc2YgJChzcmN0cmVlKS90b29scy9wZXJmICQoT1VUUFVUKS9zb3Vy Y2UpCj4gPiAgZW5kaWYKPiA+ICAKPiA+ICsjIEJlYXV0aWZ5IG91dHB1dAo+ID4gKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gPiArIwo+ID4gKyMgTW9zdCBvZiBidWlsZCBjb21tYW5kcyBpbiBLYnVp bGQgc3RhcnQgd2l0aCAiY21kXyIuIFlvdSBjYW4gb3B0aW9uYWxseSBkZWZpbmUKPiA+ICsjICJx dWlldF9jbWRfKiIuIElmIGRlZmluZWQsIHRoZSBzaG9ydCBsb2cgaXMgcHJpbnRlZC4gT3RoZXJ3 aXNlLCBubyBsb2cgZnJvbQo+ID4gKyMgdGhhdCBjb21tYW5kIGlzIHByaW50ZWQgYnkgZGVmYXVs dC4KPiA+ICsjCj4gPiArIyBlLmcuKQo+ID4gKyMgICAgcXVpZXRfY21kX2RlcG1vZCA9IERFUE1P RCAgJChNT0RMSUIpCj4gPiArIyAgICAgICAgICBjbWRfZGVwbW9kID0gJChzcmN0cmVlKS9zY3Jp cHRzL2RlcG1vZC5zaCAkKERFUE1PRCkgJChLRVJORUxSRUxFQVNFKQo+ID4gKyMKPiA+ICsjIEEg c2ltcGxlIHZhcmlhbnQgaXMgdG8gcHJlZml4IGNvbW1hbmRzIHdpdGggJChRKSAtIHRoYXQncyB1 c2VmdWwKPiA+ICsjIGZvciBjb21tYW5kcyB0aGF0IHNoYWxsIGJlIGhpZGRlbiBpbiBub24tdmVy Ym9zZSBtb2RlLgo+ID4gKyMKPiA+ICsjICAgICQoUSkkKE1BS0UpICQoYnVpbGQpPXNjcmlwdHMv YmFzaWMKPiA+ICsjCj4gPiArIyBUbyBwdXQgbW9yZSBmb2N1cyBvbiB3YXJuaW5ncywgYmUgbGVz cyB2ZXJib3NlIGFzIGRlZmF1bHQKPiA+ICsjIFVzZSAnbWFrZSBWPTEnIHRvIHNlZSB0aGUgZnVs bCBjb21tYW5kcwo+ID4gKwo+ID4gIGlmZXEgKCQoViksMSkKPiA+ICsgIHF1aWV0ID0KPiA+ICAg IFEgPQo+ID4gIGVsc2UKPiA+IC0gIFEgPSBACj4gPiArICBxdWlldD1xdWlldF8KPiA+ICsgIFE9 QAo+ID4gIGVuZGlmCj4gPiAgCj4gPiArIyBJZiB0aGUgdXNlciBpcyBydW5uaW5nIG1ha2UgLXMg KHNpbGVudCBtb2RlKSwgc3VwcHJlc3MgZWNob2luZyBvZiBjb21tYW5kcwo+ID4gKyMgbWFrZS00 LjAgKGFuZCBsYXRlcikga2VlcCBzaW5nbGUgbGV0dGVyIG9wdGlvbnMgaW4gdGhlIDFzdCB3b3Jk IG9mIE1BS0VGTEFHUy4KPiA+ICtpZmVxICgkKGZpbHRlciAzLiUsJChNQUtFX1ZFUlNJT04pKSwp Cj4gPiArc2hvcnQtb3B0cyA6PSAkKGZpcnN0d29yZCAtJChNQUtFRkxBR1MpKQo+ID4gK2Vsc2UK PiA+ICtzaG9ydC1vcHRzIDo9ICQoZmlsdGVyLW91dCAtLSUsJChNQUtFRkxBR1MpKQo+ID4gK2Vu ZGlmCj4gPiArCj4gPiAraWZuZXEgKCQoZmluZHN0cmluZyBzLCQoc2hvcnQtb3B0cykpLCkKPiA+ ICsgIHF1aWV0PXNpbGVudF8KPiA+ICtlbmRpZgo+ID4gKwo+ID4gK2V4cG9ydCBxdWlldCBRCj4g PiArCj4gPiAgIyBEbyBub3QgdXNlIG1ha2UncyBidWlsdC1pbiBydWxlcwo+ID4gICMgKHRoaXMg aW1wcm92ZXMgcGVyZm9ybWFuY2UgYW5kIGF2b2lkcyBoYXJkLXRvLWRlYnVnIGJlaGF2aW91cik7 Cj4gPiAgTUFLRUZMQUdTICs9IC1yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXJpc2N2Cg==