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=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 8187AC2D0CE for ; Tue, 21 Jan 2020 18:06:50 +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 5680224656 for ; Tue, 21 Jan 2020 18:06:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="V7eqQQtX"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="PM5WHoDB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5680224656 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+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=55C1Jl6zhR9EZC85yJoBfooEZmofRKoxPqGj0TVY+3M=; b=V7eqQQtXYCC5qg AfgoWhcHlg9q9E40PuOjj0gu9+pfslhjyuMlfD+PipJc6Z1KwqGBDNUcKoKB0urWBZ5cQZZZOb+6+ UTc1RLWE06Qbb7lZAceIchBcxISpj6AwkVEjH0CDNAc6W57vwv7gjlJm6Oz7eMrRPcGTwWlfKg8xm /URfAeMLsm4YFfX2I9A4rZlWULPAfCgRDDpVQsgwnTWTKaicV0hbswgOflR/5/mEblWJCpAXcRb9u yPqLf1OS9ndSTRGbW0D48ruH7RH7giWxKC/BrhF6u2hmRDGQKHFD4mOoUz308g2+3VoScihB+mpcZ crRuZIZJR2878PvpmDog==; 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 1itxvK-0005iZ-KM; Tue, 21 Jan 2020 18:06:46 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1itxvD-0005fo-Ua for linux-arm-kernel@lists.infradead.org; Tue, 21 Jan 2020 18:06:45 +0000 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8E08622522; Tue, 21 Jan 2020 18:06:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579629999; bh=h8gel9+ZWFI2KSlFXQlpEwZFOgZtFp2KVYnNAC0U2o8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=PM5WHoDBv54h3MGiQW20dJ1ybQfHW8zwo+pvOYn/uL+C4NA9y4LrlTFIJ4MK6v4Q1 0yhc4cUeQXFU6N7qgJWi6TR1LZCsbZwJ0LExBXT/bzFaceBw9ZVoIJy0MSj9ADP4Iu HWnCah0wdkJ0WMr9Ri5owCsQjGH9/VqIBIdgyETc= Date: Tue, 21 Jan 2020 18:06:34 +0000 From: Will Deacon To: Nick Desaulniers Subject: Re: [RFC v5 00/57] objtool: Add support for arm64 Message-ID: <20200121180632.GA13592@willie-the-truck> References: <20200109160300.26150-1-jthierry@redhat.com> <20200112084258.GA44004@ubuntu-x2-xlarge-x86> <20200121103101.GE11154@willie-the-truck> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200121_100640_030183_3CC694AC X-CRM114-Status: GOOD ( 24.71 ) 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: Julien Thierry , Peter Zijlstra , Catalin Marinas , LKML , clang-built-linux , raphael.gault@arm.com, Josh Poimboeuf , Nathan Chancellor , Linux ARM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Jan 21, 2020 at 09:08:29AM -0800, Nick Desaulniers wrote: > On Tue, Jan 21, 2020 at 2:31 AM Will Deacon wrote: > > > > On Mon, Jan 13, 2020 at 07:57:48AM +0000, Julien Thierry wrote: > > > On 1/12/20 8:42 AM, Nathan Chancellor wrote: > > > > The 0day bot reported a couple of issues with clang with this series; > > > > the full report is available here (clang reports are only sent to our > > > > mailing lists for manual triage for the time being): > > > > > > > > https://groups.google.com/d/msg/clang-built-linux/MJbl_xPxawg/mWjgDgZgBwAJ > > > > > > > > > > Thanks, I'll have a look at those. > > > > > > > The first obvious issue is that this series appears to depend on a GCC > > > > plugin? I'll be quite honest, objtool and everything it does is rather > > > > over my head but I see this warning during configuration (allyesconfig): > > > > > > > > WARNING: unmet direct dependencies detected for GCC_PLUGIN_SWITCH_TABLES > > > > Depends on [n]: GCC_PLUGINS [=n] && ARM64 [=y] > > > > Selected by [y]: > > > > - ARM64 [=y] && STACK_VALIDATION [=y] > > > > > > > > Followed by the actual error: > > > > > > > > error: unable to load plugin > > > > './scripts/gcc-plugins/arm64_switch_table_detection_plugin.so': > > > > './scripts/gcc-plugins/arm64_switch_table_detection_plugin.so: cannot > > > > open shared object file: No such file or directory' > > > > > > > > If this plugin is absolutely necessary and can't be implemented in > > > > another way so that clang can be used, seems like STACK_VALIDATION > > > > should only be selected on ARM64 when CONFIG_CC_IS_GCC is not zero. > > > > > > > > > > So currently the plugin is necessary for proper validation. One option can > > > be to just let objtool output false positives on files containing jump > > > tables when the plugin cannot be used. But overall I guess it makes more > > > sense to disable stack validation for non-gcc builds, for now. > > > > Alternatively, could we add '-fno-jump-tables' to the KBUILD_CFLAGS if > > STACK_VALIDATION is selected but we're not using GCC? Is that sufficient > > to prevent generation of these things? > > Surely we wouldn't want to replace jump tables with long chains of > comparisons just because objtool couldn't validate jump tables without > a GCC plugin for aarch64 for some reason, right? objtool validation > is valuable, but tying runtime performance to a GCC plugin used for > validation seems bad. I'm only suggesting it if STACK_VALIDATION is selected. It's off by default, and lives in Kconfig.debug. I'd prefer that to "cross your fingers are do nothing differently", which is what the other option seems to be. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel