From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 2/6] exec: simplify the compat syscall handling Date: Mon, 15 Jun 2020 17:09:26 +0200 Message-ID: <20200615150926.GA17108@lst.de> References: <20200615130032.931285-1-hch@lst.de> <20200615130032.931285-3-hch@lst.de> <20200615141239.GA12951@lst.de> <20200615144310.GA15101@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-mips-owner@vger.kernel.org To: Arnd Bergmann Cc: Christoph Hellwig , Al Viro , Luis Chamberlain , Linux ARM , the arch/x86 maintainers , "open list:BROADCOM NVRAM DRIVER" , Parisc List , linuxppc-dev , linux-s390 , sparclinux , Linux FS-devel Mailing List , linux-arch , "linux-kernel@vger.kernel.org" List-Id: linux-arch.vger.kernel.org On Mon, Jun 15, 2020 at 04:46:15PM +0200, Arnd Bergmann wrote: > How about this one: > > diff --git a/arch/x86/entry/syscall_x32.c b/arch/x86/entry/syscall_x32.c > index 3d8d70d3896c..0ce15807cf54 100644 > --- a/arch/x86/entry/syscall_x32.c > +++ b/arch/x86/entry/syscall_x32.c > @@ -16,6 +16,9 @@ > #undef __SYSCALL_X32 > #undef __SYSCALL_COMMON > > +#define __x32_sys_execve __x64_sys_execve > +#define __x32_sys_execveat __x64_sys_execveat > + arch/x86/entry/syscall_x32.c:19:26: error: ‘__x64_sys_execve’ undeclared here (not in a function); did you mean ‘__x32_sys_execve’? 19 | #define __x32_sys_execve __x64_sys_execve | ^~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execve’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:344:1: note: in expansion of macro ‘__SYSCALL_X32’ 344 | __SYSCALL_X32(520, sys_execve) | ^~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:20:28: error: ‘__x64_sys_execveat’ undeclared here (not in a function); did you mean ‘__x32_sys_execveat’? 20 | #define __x32_sys_execveat __x64_sys_execveat | ^~~~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execveat’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:369:1: note: in expansion of macro ‘__SYSCALL_X32’ 369 | __SYSCALL_X32(545, sys_execveat) | ^~~~~~~~~~~~~ make[2]: *** [scripts/Makefile.build:281: arch/x86/entry/syscall_x32.o] Error 1 make[1]: *** [scripts/Makefile.build:497: arch/x86/entry] Error 2 make[1]: *** Waiting for unfinished jobs.... kernel/exit.o: warning: objtool: __x64_sys_exit_group()+0x14: unreachable instruction make: *** [Makefile:1764: arch/x86] Error 2 make: *** Waiting for unfinished jobs.... 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=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 8443FC433E2 for ; Mon, 15 Jun 2020 15:22:25 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (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 E7EF7207D4 for ; Mon, 15 Jun 2020 15:22:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E7EF7207D4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 49lw724F5hzDqHx for ; Tue, 16 Jun 2020 01:22:22 +1000 (AEST) Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lst.de (client-ip=213.95.11.211; helo=verein.lst.de; envelope-from=hch@lst.de; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=lst.de Received: from verein.lst.de (verein.lst.de [213.95.11.211]) (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 49lvrC3P8SzDqTb for ; Tue, 16 Jun 2020 01:09:31 +1000 (AEST) Received: by verein.lst.de (Postfix, from userid 2407) id E658068B05; Mon, 15 Jun 2020 17:09:26 +0200 (CEST) Date: Mon, 15 Jun 2020 17:09:26 +0200 From: Christoph Hellwig To: Arnd Bergmann Subject: Re: [PATCH 2/6] exec: simplify the compat syscall handling Message-ID: <20200615150926.GA17108@lst.de> References: <20200615130032.931285-1-hch@lst.de> <20200615130032.931285-3-hch@lst.de> <20200615141239.GA12951@lst.de> <20200615144310.GA15101@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) 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: linux-arch , linux-s390 , Parisc List , the arch/x86 maintainers , "open list:BROADCOM NVRAM DRIVER" , "linux-kernel@vger.kernel.org" , Linux FS-devel Mailing List , Luis Chamberlain , Al Viro , sparclinux , linuxppc-dev , Christoph Hellwig , Linux ARM Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Mon, Jun 15, 2020 at 04:46:15PM +0200, Arnd Bergmann wrote: > How about this one: > > diff --git a/arch/x86/entry/syscall_x32.c b/arch/x86/entry/syscall_x32.c > index 3d8d70d3896c..0ce15807cf54 100644 > --- a/arch/x86/entry/syscall_x32.c > +++ b/arch/x86/entry/syscall_x32.c > @@ -16,6 +16,9 @@ > #undef __SYSCALL_X32 > #undef __SYSCALL_COMMON > > +#define __x32_sys_execve __x64_sys_execve > +#define __x32_sys_execveat __x64_sys_execveat > + arch/x86/entry/syscall_x32.c:19:26: error: ‘__x64_sys_execve’ undeclared here (not in a function); did you mean ‘__x32_sys_execve’? 19 | #define __x32_sys_execve __x64_sys_execve | ^~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execve’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:344:1: note: in expansion of macro ‘__SYSCALL_X32’ 344 | __SYSCALL_X32(520, sys_execve) | ^~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:20:28: error: ‘__x64_sys_execveat’ undeclared here (not in a function); did you mean ‘__x32_sys_execveat’? 20 | #define __x32_sys_execveat __x64_sys_execveat | ^~~~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execveat’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:369:1: note: in expansion of macro ‘__SYSCALL_X32’ 369 | __SYSCALL_X32(545, sys_execveat) | ^~~~~~~~~~~~~ make[2]: *** [scripts/Makefile.build:281: arch/x86/entry/syscall_x32.o] Error 1 make[1]: *** [scripts/Makefile.build:497: arch/x86/entry] Error 2 make[1]: *** Waiting for unfinished jobs.... kernel/exit.o: warning: objtool: __x64_sys_exit_group()+0x14: unreachable instruction make: *** [Makefile:1764: arch/x86] Error 2 make: *** Waiting for unfinished jobs.... From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Mon, 15 Jun 2020 15:09:26 +0000 Subject: Re: [PATCH 2/6] exec: simplify the compat syscall handling Message-Id: <20200615150926.GA17108@lst.de> List-Id: References: <20200615130032.931285-1-hch@lst.de> <20200615130032.931285-3-hch@lst.de> <20200615141239.GA12951@lst.de> <20200615144310.GA15101@lst.de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Arnd Bergmann Cc: Christoph Hellwig , Al Viro , Luis Chamberlain , Linux ARM , the arch/x86 maintainers , "open list:BROADCOM NVRAM DRIVER" , Parisc List , linuxppc-dev , linux-s390 , sparclinux , Linux FS-devel Mailing List , linux-arch , "linux-kernel@vger.kernel.org" On Mon, Jun 15, 2020 at 04:46:15PM +0200, Arnd Bergmann wrote: > How about this one: > > diff --git a/arch/x86/entry/syscall_x32.c b/arch/x86/entry/syscall_x32.c > index 3d8d70d3896c..0ce15807cf54 100644 > --- a/arch/x86/entry/syscall_x32.c > +++ b/arch/x86/entry/syscall_x32.c > @@ -16,6 +16,9 @@ > #undef __SYSCALL_X32 > #undef __SYSCALL_COMMON > > +#define __x32_sys_execve __x64_sys_execve > +#define __x32_sys_execveat __x64_sys_execveat > + arch/x86/entry/syscall_x32.c:19:26: error: ‘__x64_sys_execve’ undeclared here (not in a function); did you mean ‘__x32_sys_execve’? 19 | #define __x32_sys_execve __x64_sys_execve | ^~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execve’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:344:1: note: in expansion of macro ‘__SYSCALL_X32’ 344 | __SYSCALL_X32(520, sys_execve) | ^~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:20:28: error: ‘__x64_sys_execveat’ undeclared here (not in a function); did you mean ‘__x32_sys_execveat’? 20 | #define __x32_sys_execveat __x64_sys_execveat | ^~~~~~~~~~~~~~~~~~ arch/x86/entry/syscall_x32.c:22:39: note: in expansion of macro ‘__x32_sys_execveat’ 22 | #define __SYSCALL_X32(nr, sym) [nr] = __x32_##sym, | ^~~~~~ ./arch/x86/include/generated/asm/syscalls_64.h:369:1: note: in expansion of macro ‘__SYSCALL_X32’ 369 | __SYSCALL_X32(545, sys_execveat) | ^~~~~~~~~~~~~ make[2]: *** [scripts/Makefile.build:281: arch/x86/entry/syscall_x32.o] Error 1 make[1]: *** [scripts/Makefile.build:497: arch/x86/entry] Error 2 make[1]: *** Waiting for unfinished jobs.... kernel/exit.o: warning: objtool: __x64_sys_exit_group()+0x14: unreachable instruction make: *** [Makefile:1764: arch/x86] Error 2 make: *** Waiting for unfinished jobs.... 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=-5.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 E15C0C433E2 for ; Mon, 15 Jun 2020 15:09:31 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id B5AD12063A for ; Mon, 15 Jun 2020 15:09:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="n6RrlRTD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B5AD12063A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject: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=JhuV2I8FqjE5JiVZ8Idpo0KTSzgaxj1Sk2O30+rzrIE=; b=n6RrlRTDg5PNM4 Y1qfQVw3ZCkaOEJBSgZG1fPxzfZUg9Z+qP3wxM9zBEpxuvN0fr5eZyjEij1OeX57JIVz5a6RoXUxW q7rJjSJNeH+RNFXOeu/8uaWzUS5rn+Utn1ebkWL+lt34FPO9OqUzbJp2MBeueGY12XSFLdm/Ycmgt onXXHc/tF1AyG72pGrJAeEVg62VTfOuKWhXw82g3dwlEPdYRPa5nzpvfZjAWBhSELN4akUKaQtz/N pCAzboO9nTdYCzErpFoe+9KgnUL8g77ooh41t/MlzruMSxy5XdHHwpU8VpvvXKKXPENCM6CRAxu3u NHMELxrE7qfFOokvq3Uw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jkqjr-00043X-CZ; Mon, 15 Jun 2020 15:09:31 +0000 Received: from verein.lst.de ([213.95.11.211]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jkqjp-000439-6G for linux-arm-kernel@lists.infradead.org; Mon, 15 Jun 2020 15:09:30 +0000 Received: by verein.lst.de (Postfix, from userid 2407) id E658068B05; Mon, 15 Jun 2020 17:09:26 +0200 (CEST) Date: Mon, 15 Jun 2020 17:09:26 +0200 From: Christoph Hellwig To: Arnd Bergmann Subject: Re: [PATCH 2/6] exec: simplify the compat syscall handling Message-ID: <20200615150926.GA17108@lst.de> References: <20200615130032.931285-1-hch@lst.de> <20200615130032.931285-3-hch@lst.de> <20200615141239.GA12951@lst.de> <20200615144310.GA15101@lst.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200615_080929_378521_866940B2 X-CRM114-Status: UNSURE ( 9.10 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arch , linux-s390 , Parisc List , the arch/x86 maintainers , "open list:BROADCOM NVRAM DRIVER" , "linux-kernel@vger.kernel.org" , Linux FS-devel Mailing List , Luis Chamberlain , Al Viro , sparclinux , linuxppc-dev , Christoph Hellwig , Linux ARM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBKdW4gMTUsIDIwMjAgYXQgMDQ6NDY6MTVQTSArMDIwMCwgQXJuZCBCZXJnbWFubiB3 cm90ZToKPiBIb3cgYWJvdXQgdGhpcyBvbmU6Cj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Vu dHJ5L3N5c2NhbGxfeDMyLmMgYi9hcmNoL3g4Ni9lbnRyeS9zeXNjYWxsX3gzMi5jCj4gaW5kZXgg M2Q4ZDcwZDM4OTZjLi4wY2UxNTgwN2NmNTQgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYvZW50cnkv c3lzY2FsbF94MzIuYwo+ICsrKyBiL2FyY2gveDg2L2VudHJ5L3N5c2NhbGxfeDMyLmMKPiBAQCAt MTYsNiArMTYsOSBAQAo+ICAjdW5kZWYgX19TWVNDQUxMX1gzMgo+ICAjdW5kZWYgX19TWVNDQUxM X0NPTU1PTgo+IAo+ICsjZGVmaW5lIF9feDMyX3N5c19leGVjdmUgX194NjRfc3lzX2V4ZWN2ZQo+ ICsjZGVmaW5lIF9feDMyX3N5c19leGVjdmVhdCBfX3g2NF9zeXNfZXhlY3ZlYXQKPiArCgoKYXJj aC94ODYvZW50cnkvc3lzY2FsbF94MzIuYzoxOToyNjogZXJyb3I6IOKAmF9feDY0X3N5c19leGVj dmXigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhfX3gzMl9zeXNfZXhlY3Zl4oCZPwogICAxOSB8ICNkZWZpbmUgX194MzJfc3lzX2V4ZWN2ZSBf X3g2NF9zeXNfZXhlY3ZlCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4KYXJjaC94ODYvZW50cnkvc3lzY2FsbF94MzIuYzoyMjozOTogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmF9feDMyX3N5c19leGVjdmXigJkKICAgMjIgfCAjZGVmaW5lIF9f U1lTQ0FMTF9YMzIobnIsIHN5bSkgW25yXSA9IF9feDMyXyMjc3ltLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4vYXJjaC94ODYvaW5jbHVkZS9n ZW5lcmF0ZWQvYXNtL3N5c2NhbGxzXzY0Lmg6MzQ0OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhfX1NZU0NBTExfWDMy4oCZCiAgMzQ0IHwgX19TWVNDQUxMX1gzMig1MjAsIHN5c19l eGVjdmUpCiAgICAgIHwgXn5+fn5+fn5+fn5+fgphcmNoL3g4Ni9lbnRyeS9zeXNjYWxsX3gzMi5j OjIwOjI4OiBlcnJvcjog4oCYX194NjRfc3lzX2V4ZWN2ZWF04oCZIHVuZGVjbGFyZWQgaGVyZSAo bm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYX194MzJfc3lzX2V4ZWN2ZWF04oCZ PwogICAyMCB8ICNkZWZpbmUgX194MzJfc3lzX2V4ZWN2ZWF0IF9feDY0X3N5c19leGVjdmVhdAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgphcmNo L3g4Ni9lbnRyeS9zeXNjYWxsX3gzMi5jOjIyOjM5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYX194MzJfc3lzX2V4ZWN2ZWF04oCZCiAgIDIyIHwgI2RlZmluZSBfX1NZU0NBTExfWDMy KG5yLCBzeW0pIFtucl0gPSBfX3gzMl8jI3N5bSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgouL2FyY2gveDg2L2luY2x1ZGUvZ2VuZXJhdGVkL2Fz bS9zeXNjYWxsc182NC5oOjM2OToxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYX19T WVNDQUxMX1gzMuKAmQogIDM2OSB8IF9fU1lTQ0FMTF9YMzIoNTQ1LCBzeXNfZXhlY3ZlYXQpCiAg ICAgIHwgXn5+fn5+fn5+fn5+fgptYWtlWzJdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6 MjgxOiBhcmNoL3g4Ni9lbnRyeS9zeXNjYWxsX3gzMi5vXSBFcnJvciAxCm1ha2VbMV06ICoqKiBb c2NyaXB0cy9NYWtlZmlsZS5idWlsZDo0OTc6IGFyY2gveDg2L2VudHJ5XSBFcnJvciAyCm1ha2Vb MV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCmtlcm5lbC9leGl0Lm86IHdh cm5pbmc6IG9ianRvb2w6IF9feDY0X3N5c19leGl0X2dyb3VwKCkrMHgxNDogdW5yZWFjaGFibGUg aW5zdHJ1Y3Rpb24KbWFrZTogKioqIFtNYWtlZmlsZToxNzY0OiBhcmNoL3g4Nl0gRXJyb3IgMgpt YWtlOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=