gah, must have had a `-a` in my `git commit --amend`...sorry, will send a v2... On Tue, Sep 29, 2020 at 12:22 PM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> 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> > --- > arch/arm/Kconfig | 1 + > arch/arm/mm/Kconfig | 11 +++++++++++ > include/linux/srcutree.h | 2 +- > 3 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index fe2f17eb2b50..51200e371faf 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -358,6 +358,7 @@ config ARCH_EBSA110 > > config ARCH_EP93XX > bool "EP93xx-based" > + depends on !LD_IS_LLD > select ARCH_SPARSEMEM_ENABLE > select ARM_AMBA > imply ARM_PATCH_PHYS_VIRT > diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig > index 65e4482e3849..c06787c9bb48 100644 > --- a/arch/arm/mm/Kconfig > +++ b/arch/arm/mm/Kconfig > @@ -9,6 +9,7 @@ comment "Processor Type" > config CPU_ARM7TDMI > bool > depends on !MMU > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_LV4T > select CPU_CACHE_V4 > @@ -23,6 +24,7 @@ config CPU_ARM7TDMI > # ARM720T > config CPU_ARM720T > bool > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_LV4T > select CPU_CACHE_V4 > @@ -43,6 +45,7 @@ config CPU_ARM720T > config CPU_ARM740T > bool > depends on !MMU > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_LV4T > select CPU_CACHE_V4 > @@ -61,6 +64,7 @@ config CPU_ARM740T > config CPU_ARM9TDMI > bool > depends on !MMU > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_NOMMU > select CPU_CACHE_V4 > @@ -75,6 +79,7 @@ config CPU_ARM9TDMI > # ARM920T > config CPU_ARM920T > bool > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_EV4T > select CPU_CACHE_V4WT > @@ -94,6 +99,7 @@ config CPU_ARM920T > # ARM922T > config CPU_ARM922T > bool > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_EV4T > select CPU_CACHE_V4WT > @@ -114,6 +120,7 @@ config CPU_ARM922T > # ARM925T > config CPU_ARM925T > bool > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_EV4T > select CPU_CACHE_V4WT > @@ -153,6 +160,7 @@ config CPU_ARM926T > # FA526 > config CPU_FA526 > bool > + depends on !LD_IS_LLD > select CPU_32v4 > select CPU_ABRT_EV4 > select CPU_CACHE_FA > @@ -172,6 +180,7 @@ config CPU_FA526 > config CPU_ARM940T > bool > depends on !MMU > + depends on !LD_IS_LLD > select CPU_32v4T > select CPU_ABRT_NOMMU > select CPU_CACHE_VIVT > @@ -278,6 +287,7 @@ config CPU_ARM1026 > # SA110 > config CPU_SA110 > bool > + depends on !LD_IS_LLD > select CPU_32v3 if ARCH_RPC > select CPU_32v4 if !ARCH_RPC > select CPU_ABRT_EV4 > @@ -299,6 +309,7 @@ config CPU_SA110 > # SA1100 > config CPU_SA1100 > bool > + depends on !LD_IS_LLD > select CPU_32v4 > select CPU_ABRT_EV4 > select CPU_CACHE_V4WB > diff --git a/include/linux/srcutree.h b/include/linux/srcutree.h > index 9cfcc8a756ae..9de652f4e1bd 100644 > --- a/include/linux/srcutree.h > +++ b/include/linux/srcutree.h > @@ -124,7 +124,7 @@ struct srcu_struct { > # define __DEFINE_SRCU(name, is_static) \ > is_static struct srcu_struct name; \ > struct srcu_struct * const __srcu_struct_##name \ > - __section("___srcu_struct_ptrs") = &name > + __section(___srcu_struct_ptrs) = &name > #else > # define __DEFINE_SRCU(name, is_static) \ > static DEFINE_PER_CPU(struct srcu_data, name##_srcu_data); \ > -- > 2.28.0.709.gb0816b6eb0-goog > -- Thanks, ~Nick Desaulniers