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 B8664C433EF for ; Thu, 3 Feb 2022 16:10:52 +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=MO7vIySHs2x1fVgzt0IIqQ382dGcI+OIVLygn6UkxF0=; b=D4y2fa2jzKwcAJ ZKm9X4gkyPlX8ctozd9JwdxgcCJILvieADX4vVMalmNtK5czvqLRWm3lXH7LrZOuk/nOLJJ1Knboj VwNtw6OHJz4FO1FM7su5QQhVuBtaEy1Lpwrq3G5lQ+vDDWZK65BNpQ1i2j5jXEfwtLBpJCO55gHKT rRIPMxliNZ5q5qMz3jTsbg/1spBEHQ2ULAukQ2bBnFeOY3P3N1AcmYUee7JN2wK/bjqM238LAY6kH UkYTgaOJsswnVJ6yUqiwvRFT/Zp2CtnJs61C90ZSDQq68C9OcYLmoP0y3A5WXtI0JDvKO19dfoCnB mQH0dKbY/rFwTSEXOJeA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nFefZ-001wuI-VQ; Thu, 03 Feb 2022 16:09:14 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nFefV-001wsv-LU for linux-arm-kernel@lists.infradead.org; Thu, 03 Feb 2022 16:09:11 +0000 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 ams.source.kernel.org (Postfix) with ESMTPS id 5A918B8342F; Thu, 3 Feb 2022 16:09:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97640C340E8; Thu, 3 Feb 2022 16:09:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643904547; bh=f7ZMwjYEJTqClDXjHxioODH3jFbCL5bONOU5w9+hVQk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sCwO9SIsBJYcDb8eSj+XpHs5+iMFdV5vZW0Fuyld6ACGxWZrUdYqSfn2fNQ2RHrcZ RYTPibWDx8+Pp0H6/wJsBVg4NfkjKPZIjy5g5LTUCpBRTeV+LPSfZeoW4sdlWycpH3 zwgLVksVi4BXcS4jIDggvW/aGOV7+/YhWWQb2SkwepfhYxrAuSQ8cHPhy5U4SpYghr j6jbBMxRL7bAAgT/muhGUrDGZELHsBoYLVsrJimq9UY+u5sz55wbwMdTd4nu9+uEt9 hQHTZ6wtymhZ0GQxh2K43XjYjkNRTzqiUKPFG8HUYc+WIRS0UevTXAK945oTW7TOCo T2LN0p9J5rCiA== Date: Thu, 3 Feb 2022 09:09:01 -0700 From: Nathan Chancellor To: Arnd Bergmann Cc: Ard Biesheuvel , Russell King - ARM Linux , Linux ARM , Steven Rostedt , Sudeep Holla , Cristian Marussi , Nick Desaulniers , Linus Walleij , Masami Hiramatsu Subject: Re: [PATCH v3 08/13] ARM: ftrace: enable the graph tracer with the EABI unwinder Message-ID: References: <20220203082204.1176734-1-ardb@kernel.org> <20220203082204.1176734-9-ardb@kernel.org> 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-20220203_080909_865949_8FBECA11 X-CRM114-Status: GOOD ( 27.35 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Feb 03, 2022 at 10:16:57AM +0100, Arnd Bergmann wrote: > On Thu, Feb 3, 2022 at 9:21 AM Ard Biesheuvel wrote: > > > > Enable the function graph tracer in combination with the EABI unwinder, > > so that Thumb2 builds or Clang ARM builds can make use of it. > > > > This involves using the unwinder to locate the return address of an > > instrumented function on the stack, so that it can be overridden and > > made to refer to the ftrace handling routines that need to be called at > > function return. > > > > Given that for these builds, it is not guaranteed that the value of the > > link register is stored on the stack, fall back to the stack slot that > > will be used by the ftrace exit code to restore LR in the instrumented > > function's execution context. > > > > Signed-off-by: Ard Biesheuvel > > Reviewed-by: Steven Rostedt (Google) > > > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug > > index 07055a503022..cc7523f44be4 100644 > > --- a/arch/arm/Kconfig.debug > > +++ b/arch/arm/Kconfig.debug > > @@ -65,7 +65,7 @@ config UNWINDER_FRAME_POINTER > > > > config UNWINDER_ARM > > bool "ARM EABI stack unwinder" > > - depends on AEABI && !FUNCTION_GRAPH_TRACER > > + depends on AEABI > > # https://github.com/ClangBuiltLinux/linux/issues/732 > > depends on !LD_IS_LLD || LLD_VERSION >= 110000 > > select ARM_UNWIND > > What are the remaining tradeoffs between the two unwinders > on EABI kernels? Since we require llvm-11 as the minimum > toolchain now, we can probably drop the LLD_VERSION > check here as well, so UNWINDER_ARM should finally work > for any EABI kernel. For what it's worth, that check was eliminated in the same series as bumping the minimum version: e1ab4182ca11 ("Revert "ARM: 9070/1: Make UNWINDER_ARM depend on ld.bfd or ld.lld 11.0.0+"") Cheers, Nathan _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel