Linux kbuild/kconfig development
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Matthias Klose <doko@debian.org>
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-kbuild@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Nathan Chancellor <nathan@kernel.org>,
	Nicolas Schier <nicolas.schier@linux.dev>,
	Binutils <binutils@sourceware.org>
Subject: Re: [RFC] Don't create sframes during build
Date: Thu, 4 Sep 2025 18:34:04 +0200	[thread overview]
Message-ID: <20250904163404.QMU7nfbA@linutronix.de> (raw)
In-Reply-To: <b3db475e-e84d-4056-9420-bc0acc8b9fe5@debian.org>

On 2025-09-04 16:02:42 [+0200], Matthias Klose wrote:
> [ CCing binutils@sourceware.org ]
> 
> On 9/4/25 15:18, Sebastian Andrzej Siewior wrote:
> > Hi,
> > 
> > gcc in Debian, starting with 15.2.0-2, 14.3.0-6 enables sframe
> > generation. Unless options like -ffreestanding are passed. Since this
> > isn't done, there are a few warnings during compile
> 
> If there are other options when sframe shouldn't be enabled, please tell.

No, I think this is okay.

…
> > We could drop the sframe during the final link but this does not get rid
> > of the objtool warnings so we would have to ignore them. But we don't
> > need it. So what about the following:
> > 
> > diff --git a/Makefile b/Makefile
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -886,6 +886,8 @@ ifdef CONFIG_CC_IS_GCC
> >   KBUILD_CFLAGS	+= $(call cc-option,--param=allow-store-data-races=0)
> >   KBUILD_CFLAGS	+= $(call cc-option,-fno-allow-store-data-races)
> >   endif
> > +# No sframe generation for kernel if enabled by default
> > +KBUILD_CFLAGS	+= $(call cc-option,-Xassembler --gsframe=no)
> >   ifdef CONFIG_READABLE_ASM
> >   # Disable optimizations that make assembler listings hard to read.
> This is what I chose for package builds that need disablement of sframe.

I think this would work for now. Longterm we would have to allow sframe
creation and keep section if an architecture decides to use it for its
backtracing. While orc seems fine on x86, there are arm64 patches to use
for as a stack unwinder.

Sebastian

  parent reply	other threads:[~2025-09-04 16:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-04 13:18 [RFC] Don't create sframes during build Sebastian Andrzej Siewior
2025-09-04 14:02 ` Matthias Klose
2025-09-04 16:26   ` Matthias Klose
2025-09-04 16:34   ` Sebastian Andrzej Siewior [this message]
2025-09-04 17:14     ` Josh Poimboeuf
2026-01-24 12:04       ` Sven Joachim
2026-01-24 19:08         ` Indu
2026-01-27 18:22           ` Indu Bhagat
2026-01-29  9:13   ` Jens Remus
2026-01-29 22:23     ` Nathan Chancellor
2026-01-30  0:58       ` Indu Bhagat

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=20250904163404.QMU7nfbA@linutronix.de \
    --to=bigeasy@linutronix.de \
    --cc=arnd@arndb.de \
    --cc=binutils@sourceware.org \
    --cc=doko@debian.org \
    --cc=jpoimboe@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nathan@kernel.org \
    --cc=nicolas.schier@linux.dev \
    --cc=peterz@infradead.org \
    /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