[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANiq72kHEhTm3-7WbZwmoKQV5Qn9fD_sk+yrVrdj_K0AqT6dNQ@mail.gmail.com>
Date: Tue, 29 Sep 2020 23:33:10 +0200
From: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
To: Nick Desaulniers <ndesaulniers@...gle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Luc Van Oostenryck <luc.vanoostenryck@...il.com>,
Nathan Chancellor <natechancellor@...il.com>,
linux-sparse@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>
Subject: Re: [PATCH] compiler.h: avoid escaped section names
Hi Nick,
On Tue, Sep 29, 2020 at 9:43 PM Nick Desaulniers
<ndesaulniers@...gle.com> wrote:
>
> The stringification operator, `#`, in the preprocessor escapes strings.
> For example, `# "foo"` becomes `"\"foo\""`. GCC and Clang differ in how
> they treat section names that contain \".
>
> The portable solution is to not use a string literal with the
> preprocessor stringification operator.
>
> In this case, since __section unconditionally uses the stringification
> operator, we actually want the more verbose
> __attribute__((__section__())).
Let's add a comment about this in the code -- otherwise we/someone
will convert it back without noticing. Also we could add another on
`__section` itself warning about this.
> Link: https://bugs.llvm.org/show_bug.cgi?id=42950
Is there a link / have we opened a bug on GCC's side too?
Thanks!
Cheers,
Miguel
Powered by blists - more mailing lists