Re: [GIT PULL] compiler-attributes for v5.3-rc8

From: Linus Torvalds
Date: Thu Sep 05 2019 - 16:53:34 EST


On Thu, Sep 5, 2019 at 12:41 PM Miguel Ojeda
<miguel.ojeda.sandonis@xxxxxxxxx> wrote:
>
> Nick, Linus: shouldn't we just simply go for no stringifying at all,
> i.e. changing it to:
>
> #define __section(S) __attribute__((__section__(S)))

That's probably what we should have done originally, avoiding all the
issues with "what if we have multi-part strings" etc.

But it's not what we did, probably because it looked slightly simpler
to do the stringification in the macro for the usual case.

So now we have (according to a quick grep) eight users that have a
constant string, and about one hundred users that use the unquoted
section name and expect the automatic stringification. I say "about",
because I didn't check if any of them might be doing tricks, I really
just did a stupid grep.

And we have that _one_ insane KENTRY thing that was apparently never
actually used.

So I think the minimal fix is to just accept that it's what it is,
remove the unnecessary quotes from the 8 existing users, and _if_
somebody wants to build the string by hand (like the KENTRY code
did), then just use "__attribute__((section(x)))" for that.

But yeah, we could just remove the stringification and make the users do it.

But for the current late rc (and presumably -stable?), I definitely
want the absolute minimal thing that fixes the oops.

Linus