Re: GCC 15 -fzero-init-padding-bits= option and redzone clobber

Linus Torvalds <[email protected]>
Newsgroups org.kernel.vger.linux-toolchains
Message-ID <CAHk-=witrc2d5T3Rb33yA63wfv9Ad_D6obdk3gX+NqS_mnRoUg@mail.gmail.com>
On Sat, 30 Nov 2024 at 14:21, Segher Boessenkool
<[email protected]> wrote:
>
>
> I have absolutely no idea what "conversion of the register variable to
> a global" would mean, so I cannot parse what this sentence is meant to
> mean.

That commit was for a clang issue, where clang was unhappy with a
local definition of the stack pointer register. gcc didn't care, clang
did.

So that commit changed it from a local register variable to a global
one, and the commit message talked about how gcc doesn't seem to care
any more as long as it's there.

> Yeah, and I don't see now.  If there was a full testcase I could take a
> look :-)

There was at the time, but that "at the time" was 10 years ago. The
gmane links no longer work, and unlike the more modern lore.kernel.org
archives, the link itself contains no useful information for me to try
to find it.

So this is not the kernel one, but a gcc test at the time you replied to:

  https://gcc.gnu.org/legacy-ml/gcc/2015-07/msg00079.html

> > But we technically still support those older gcc versions that require
> > the old format (we still support back to gcc-5.1, although IO think
> > we're about to make the jump up to 8.1 based on staid enterprise
> > distro people finally having left some of the ancient stuff behind).
>
> Why 8.1?

All our "we support this compiler version" tend to be about what
distros still have.

And "enterprise" in technology means "old and crappy, but some company
supports it".  So enterprise distros tend to use some god-awful 5+
year old setup, because the companies that pay the big bucks don't
like to see version changes.

> The problem is still not completely clear to me.  Maybe some other GCC
> people will do such a promise, but at least I won't.  Sorry.

So this is why we are sometimes forced to use hacks. You may not like
it, but to *us*, the important part is "this works and doesn't
generate buggy code", not "this is documented".

Guess why we have random unnecessary "asm volatile" things too? Yeah.
gcc bugs. They have been fixed, but not in older versions.

           Linus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.