Re: [PATCH 1/3] powerpc/64s: Fix build when !PPC_BARRIER_NOSPEC
Le 16/08/2021 à 10:24, Joel Stanley a écrit : When disabling PPC_BARRIER_NOSPEC the do_barrier_nospec_fixups_range definition is still included, as well as a stub in asm/setup.h: ../arch/powerpc/lib/feature-fixups.c:502:6: error: redefinition of ‘do_barrier_nospec_fixu> 502 | void do_barrier_nospec_fixups_range(bool enable, void *fixup_start, void *fixup_en> | ^~ In file included from ../arch/powerpc/lib/feature-fixups.c:23: ../arch/powerpc/include/asm/setup.h:70:20: note: previous definition of ‘do_barrier_nospec> 70 | static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *> |^~ I assume the intent was to put the just do_barrier_nospec_fixups behind PPC_BARRIER_NOSPEC and let the compiler drop _range when there are no users. (There is a caller in module.c, but this is behind PPC_BARRIER_NOSPEC). The compiler won't drop do_barrier_nospec_fixups_range() because it is not static. This makes PPC_BOOK3S_64 match how the PPC_FSL_BOOK3E build works. Signed-off-by: Joel Stanley --- arch/powerpc/include/asm/setup.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h index 6c1a7d217d1a..71012284c044 100644 --- a/arch/powerpc/include/asm/setup.h +++ b/arch/powerpc/include/asm/setup.h @@ -66,8 +66,6 @@ extern bool barrier_nospec_enabled; #ifdef CONFIG_PPC_BARRIER_NOSPEC void do_barrier_nospec_fixups_range(bool enable, void *start, void *end); -#else -static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *end) { } #endif #ifdef CONFIG_PPC_FSL_BOOK3E
[PATCH 1/3] powerpc/64s: Fix build when !PPC_BARRIER_NOSPEC
When disabling PPC_BARRIER_NOSPEC the do_barrier_nospec_fixups_range definition is still included, as well as a stub in asm/setup.h: ../arch/powerpc/lib/feature-fixups.c:502:6: error: redefinition of ‘do_barrier_nospec_fixu> 502 | void do_barrier_nospec_fixups_range(bool enable, void *fixup_start, void *fixup_en> | ^~ In file included from ../arch/powerpc/lib/feature-fixups.c:23: ../arch/powerpc/include/asm/setup.h:70:20: note: previous definition of ‘do_barrier_nospec> 70 | static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *> |^~ I assume the intent was to put the just do_barrier_nospec_fixups behind PPC_BARRIER_NOSPEC and let the compiler drop _range when there are no users. (There is a caller in module.c, but this is behind PPC_BARRIER_NOSPEC). This makes PPC_BOOK3S_64 match how the PPC_FSL_BOOK3E build works. Signed-off-by: Joel Stanley --- arch/powerpc/include/asm/setup.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h index 6c1a7d217d1a..71012284c044 100644 --- a/arch/powerpc/include/asm/setup.h +++ b/arch/powerpc/include/asm/setup.h @@ -66,8 +66,6 @@ extern bool barrier_nospec_enabled; #ifdef CONFIG_PPC_BARRIER_NOSPEC void do_barrier_nospec_fixups_range(bool enable, void *start, void *end); -#else -static inline void do_barrier_nospec_fixups_range(bool enable, void *start, void *end) { } #endif #ifdef CONFIG_PPC_FSL_BOOK3E -- 2.32.0