linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>,
	Logan Chien <loganchien@google.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
	"Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
	 Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	"David S . Miller" <davem@davemloft.net>,
	 Arnd Bergmann <arnd@arndb.de>,
	Nathan Chancellor <nathan@kernel.org>, Tom Rix <trix@redhat.com>,
	 sparkhuang <huangshaobo6@huawei.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	 Steven Rostedt <rostedt@goodmis.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	 Chen Zhongjin <chenzhongjin@huawei.com>,
	linux-arm-kernel@lists.infradead.org,
	 linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	 llvm@lists.linux.dev, Naresh Kamboju <naresh.kamboju@linaro.org>,
	 regressions@lists.linux.dev, lkft-triage@lists.linaro.org,
	 Linux Kernel Functional Testing <lkft@linaro.org>
Subject: Re: [PATCH v2] ARM: kprobes: move __kretprobe_trampoline to out of line assembler
Date: Wed, 28 Sep 2022 09:39:46 -0700	[thread overview]
Message-ID: <CAKwvOdkg5FccDAKMnBfX9uEw5YoEDpBvSYoBO4Y1dJT+hkGVVA@mail.gmail.com> (raw)
In-Reply-To: <YzN6rH6wOiC8a8sN@shell.armlinux.org.uk>

On Tue, Sep 27, 2022 at 3:35 PM Russell King (Oracle)
<linux@armlinux.org.uk> wrote:
>
> On Tue, Sep 27, 2022 at 03:28:51PM -0700, Nick Desaulniers wrote:
> > commit 1069c1dd20a3 ("ARM: 9231/1: Recover kretprobes return address for
> > EABI stack unwinder")
> > tickled a bug in clang's integrated assembler where the .save and .pad
> > directives must have corresponding .fnstart directives. The integrated
> > assembler is unaware that the compiler will be generating the .fnstart
> > directive.
>
> Has it been confirmed that gcc does generate a .fnstart for naked
> functions?

From what I can tell, the presence of __attribute__((naked)) makes no
difference with regards to the emission of the .fnstart directive for
GCC.

One thing I did notice though: https://godbolt.org/z/Mv5GEobc8
GCC will emit .fnstart directives when -fasynchronous-unwind-tables is
specified for C (omitting the directive otherwise), or regardless of
-fasynchronous-unwind-tables/-fno-asynchronous-unwind-tables for C++.
Clang will unconditionally emit .fnstart directives regardless of language mode.

I don't see -fasynchronous-unwind-tables being specified under
arch/arm/. But there are many instances of
UNWIND(.fnstart)
in various .S files under arch/arm/.

https://sourceware.org/binutils/docs/as/ARM-Unwinding-Tutorial.html
https://sourceware.org/binutils/docs/as/ARM-Directives.html#arm_005ffnstart


>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



--
Thanks,
~Nick Desaulniers

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-09-28 16:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-26 13:27 arch/arm/probes/kprobes/core.c:409:30: error: .fnstart must precede .save or .vsave directives Naresh Kamboju
2022-09-26 15:44 ` Nathan Chancellor
2022-09-26 15:46   ` Nathan Chancellor
2022-09-26 17:42     ` Nick Desaulniers
2022-09-26 18:02       ` Russell King (Oracle)
2022-09-26 18:17         ` Nick Desaulniers
2022-09-26 18:37           ` [PATCH] ARM: kprobes: move __kretprobe_trampoline to out of line assembler Nick Desaulniers
2022-09-26 18:42             ` Nick Desaulniers
2022-09-27 22:28               ` [PATCH v2] " Nick Desaulniers
2022-09-27 22:35                 ` Russell King (Oracle)
2022-09-28 16:39                   ` Nick Desaulniers [this message]
2022-10-05 22:59             ` [PATCH] " Ard Biesheuvel
2022-09-26 16:11 ` arch/arm/probes/kprobes/core.c:409:30: error: .fnstart must precede .save or .vsave directives Russell King (Oracle)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKwvOdkg5FccDAKMnBfX9uEw5YoEDpBvSYoBO4Y1dJT+hkGVVA@mail.gmail.com \
    --to=ndesaulniers@google.com \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=chenzhongjin@huawei.com \
    --cc=davem@davemloft.net \
    --cc=huangshaobo6@huawei.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lkft-triage@lists.linaro.org \
    --cc=lkft@linaro.org \
    --cc=llvm@lists.linux.dev \
    --cc=loganchien@google.com \
    --cc=mhiramat@kernel.org \
    --cc=naresh.kamboju@linaro.org \
    --cc=nathan@kernel.org \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=regressions@lists.linux.dev \
    --cc=rostedt@goodmis.org \
    --cc=trix@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).