As Arnd points out:
gcc-4.8 already supported -march=armv8, and we require gcc-5.1 now, so
both this #if/#else construct and the corresponding
"cc32-option,-march=armv8-a" check should be obsolete now.
Link: https://lore.kernel.org/lkml/CAK8P3a3UBEJ0Py2ycz=rHfgog8g3mCOeQOwO0Gmp-iz6Uxkapg@mail.gmail.com/
Suggested-by: Arnd Bergmann <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
---
arch/arm64/include/asm/vdso/compat_barrier.h | 7 -------
arch/arm64/kernel/vdso32/Makefile | 8 +-------
2 files changed, 1 insertion(+), 14 deletions(-)
diff --git a/arch/arm64/include/asm/vdso/compat_barrier.h b/arch/arm64/include/asm/vdso/compat_barrier.h
index fb60a88b5ed4..3ac35f4a667c 100644
--- a/arch/arm64/include/asm/vdso/compat_barrier.h
+++ b/arch/arm64/include/asm/vdso/compat_barrier.h
@@ -20,16 +20,9 @@
#define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory")
-#if __LINUX_ARM_ARCH__ >= 8
#define aarch32_smp_mb() dmb(ish)
#define aarch32_smp_rmb() dmb(ishld)
#define aarch32_smp_wmb() dmb(ishst)
-#else
-#define aarch32_smp_mb() dmb(ish)
-#define aarch32_smp_rmb() aarch32_smp_mb()
-#define aarch32_smp_wmb() dmb(ishst)
-#endif
-
#undef smp_mb
#undef smp_rmb
diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 89299a26638b..1407516e041e 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -65,13 +65,7 @@ endif
# From arm vDSO Makefile
VDSO_CAFLAGS += -fPIC -fno-builtin -fno-stack-protector
VDSO_CAFLAGS += -DDISABLE_BRANCH_PROFILING
-
-
-# Try to compile for ARMv8. If the compiler is too old and doesn't support it,
-# fall back to v7. There is no easy way to check for what architecture the code
-# is being compiled, so define a macro specifying that (see arch/arm/Makefile).
-VDSO_CAFLAGS += $(call cc32-option,-march=armv8-a -D__LINUX_ARM_ARCH__=8,\
- -march=armv7-a -D__LINUX_ARM_ARCH__=7)
+VDSO_CAFLAGS += -march=armv8-a
VDSO_CFLAGS := $(VDSO_CAFLAGS)
VDSO_CFLAGS += -DENABLE_COMPAT_VDSO=1
--
2.33.0.1079.g6e70778dc9-goog
On Tue, Oct 19, 2021 at 03:36:44PM -0700, Nick Desaulniers wrote:
> As Arnd points out:
> gcc-4.8 already supported -march=armv8, and we require gcc-5.1 now, so
> both this #if/#else construct and the corresponding
> "cc32-option,-march=armv8-a" check should be obsolete now.
>
> Link: https://lore.kernel.org/lkml/CAK8P3a3UBEJ0Py2ycz=rHfgog8g3mCOeQOwO0Gmp-iz6Uxkapg@mail.gmail.com/
> Suggested-by: Arnd Bergmann <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
> ---
> arch/arm64/include/asm/vdso/compat_barrier.h | 7 -------
> arch/arm64/kernel/vdso32/Makefile | 8 +-------
> 2 files changed, 1 insertion(+), 14 deletions(-)
>
> diff --git a/arch/arm64/include/asm/vdso/compat_barrier.h b/arch/arm64/include/asm/vdso/compat_barrier.h
> index fb60a88b5ed4..3ac35f4a667c 100644
> --- a/arch/arm64/include/asm/vdso/compat_barrier.h
> +++ b/arch/arm64/include/asm/vdso/compat_barrier.h
> @@ -20,16 +20,9 @@
>
> #define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory")
>
> -#if __LINUX_ARM_ARCH__ >= 8
> #define aarch32_smp_mb() dmb(ish)
> #define aarch32_smp_rmb() dmb(ishld)
> #define aarch32_smp_wmb() dmb(ishst)
> -#else
> -#define aarch32_smp_mb() dmb(ish)
> -#define aarch32_smp_rmb() aarch32_smp_mb()
> -#define aarch32_smp_wmb() dmb(ishst)
> -#endif
> -
>
> #undef smp_mb
> #undef smp_rmb
> diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
> index 89299a26638b..1407516e041e 100644
> --- a/arch/arm64/kernel/vdso32/Makefile
> +++ b/arch/arm64/kernel/vdso32/Makefile
> @@ -65,13 +65,7 @@ endif
> # From arm vDSO Makefile
> VDSO_CAFLAGS += -fPIC -fno-builtin -fno-stack-protector
> VDSO_CAFLAGS += -DDISABLE_BRANCH_PROFILING
> -
> -
> -# Try to compile for ARMv8. If the compiler is too old and doesn't support it,
> -# fall back to v7. There is no easy way to check for what architecture the code
> -# is being compiled, so define a macro specifying that (see arch/arm/Makefile).
> -VDSO_CAFLAGS += $(call cc32-option,-march=armv8-a -D__LINUX_ARM_ARCH__=8,\
> - -march=armv7-a -D__LINUX_ARM_ARCH__=7)
> +VDSO_CAFLAGS += -march=armv8-a
>
> VDSO_CFLAGS := $(VDSO_CAFLAGS)
> VDSO_CFLAGS += -DENABLE_COMPAT_VDSO=1
> --
> 2.33.0.1079.g6e70778dc9-goog
>
>
On 10/20/21 12:36 AM, Nick Desaulniers wrote:
> As Arnd points out:
> gcc-4.8 already supported -march=armv8, and we require gcc-5.1 now, so
> both this #if/#else construct and the corresponding
> "cc32-option,-march=armv8-a" check should be obsolete now.
>
> Link: https://lore.kernel.org/lkml/CAK8P3a3UBEJ0Py2ycz=rHfgog8g3mCOeQOwO0Gmp-iz6Uxkapg@mail.gmail.com/
> Suggested-by: Arnd Bergmann <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>
Reviewed-by: Vincenzo Frascino <[email protected]>
> ---
> arch/arm64/include/asm/vdso/compat_barrier.h | 7 -------
> arch/arm64/kernel/vdso32/Makefile | 8 +-------
> 2 files changed, 1 insertion(+), 14 deletions(-)
>
> diff --git a/arch/arm64/include/asm/vdso/compat_barrier.h b/arch/arm64/include/asm/vdso/compat_barrier.h
> index fb60a88b5ed4..3ac35f4a667c 100644
> --- a/arch/arm64/include/asm/vdso/compat_barrier.h
> +++ b/arch/arm64/include/asm/vdso/compat_barrier.h
> @@ -20,16 +20,9 @@
>
> #define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory")
>
> -#if __LINUX_ARM_ARCH__ >= 8
> #define aarch32_smp_mb() dmb(ish)
> #define aarch32_smp_rmb() dmb(ishld)
> #define aarch32_smp_wmb() dmb(ishst)
> -#else
> -#define aarch32_smp_mb() dmb(ish)
> -#define aarch32_smp_rmb() aarch32_smp_mb()
> -#define aarch32_smp_wmb() dmb(ishst)
> -#endif
> -
>
> #undef smp_mb
> #undef smp_rmb
> diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
> index 89299a26638b..1407516e041e 100644
> --- a/arch/arm64/kernel/vdso32/Makefile
> +++ b/arch/arm64/kernel/vdso32/Makefile
> @@ -65,13 +65,7 @@ endif
> # From arm vDSO Makefile
> VDSO_CAFLAGS += -fPIC -fno-builtin -fno-stack-protector
> VDSO_CAFLAGS += -DDISABLE_BRANCH_PROFILING
> -
> -
> -# Try to compile for ARMv8. If the compiler is too old and doesn't support it,
> -# fall back to v7. There is no easy way to check for what architecture the code
> -# is being compiled, so define a macro specifying that (see arch/arm/Makefile).
> -VDSO_CAFLAGS += $(call cc32-option,-march=armv8-a -D__LINUX_ARM_ARCH__=8,\
> - -march=armv7-a -D__LINUX_ARM_ARCH__=7)
> +VDSO_CAFLAGS += -march=armv8-a
>
> VDSO_CFLAGS := $(VDSO_CAFLAGS)
> VDSO_CFLAGS += -DENABLE_COMPAT_VDSO=1
>
--
Regards,
Vincenzo