On Wed, 2020-09-30 at 18:41 +0200, Sedat Dilek wrote: > On Tue, Sep 29, 2020 at 9:25 PM 'Nick Desaulniers' via Clang Built > Linux <clang-built-linux@xxxxxxxxxxxxxxxx> 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. > > > > Link: https://bugs.llvm.org/show_bug.cgi?id=42950 > > Fixes: commit fe15b50cdeee ("srcu: Allocate per-CPU data for DEFINE_SRCU() in modules") > > Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > > Puh, remember one year ago an overnight bisecting to catch the root > cause for "escaped section names". > > The two patches I see - this here and "export.h: fix section name for > CONFIG_TRIM_UNUSED_KSYMS for Clang" were new cases? > > Do we have a check-script to catch/avoid such cases (Joe Perches?)? Try the script that removes #S from #define __section(S) https://lore.kernel.org/lkml/0e582a7f5144a33f465978d97701f9b3dcc377f3.camel@xxxxxxxxxxx/