Messages in this thread Patch in this message | | | Subject | Re: "arm64: vdso: Substitute gettimeofday() with C implementation" breaks clang build | From | Vincenzo Frascino <> | Date | Tue, 25 Jun 2019 15:54:37 +0100 |
| |
Hi Qian,
...
> > but clang 7.0 is still use in many distros by default, so maybe this commit can > be fixed by adding a conditional check to use "small" if clang version < 8.0. >
Could you please verify that the patch below works for you?
Thanks, Vincenzo
--->8----
From 0546f3bbea910cd26df8c2ff9ed1a59945bb1bec Mon Sep 17 00:00:00 2001 From: Vincenzo Frascino <vincenzo.frascino@arm.com> Date: Tue, 25 Jun 2019 15:49:37 +0100 Subject: [PATCH] arm64: vdso: Fix compilation with clang < 8
clang versions previous to 8 do not support -mcmodel=tiny.
Add a check to the vDSO Makefile for arm64 to remove the flag when these versions of the compiler are detected.
Reported-by: Qian Cai <cai@lca.pw> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> --- arch/arm64/kernel/vdso/Makefile | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile index ec81d28aeb5d..c11cbf71073f 100644 --- a/arch/arm64/kernel/vdso/Makefile +++ b/arch/arm64/kernel/vdso/Makefile @@ -38,6 +38,11 @@ else CFLAGS_vgettimeofday.o = -O2 -mcmodel=tiny -include $(c-gettimeofday-y) endif +# Clang versions less than 8 do not support -mcmodel=tiny +ifeq ($(shell test $(CONFIG_CLANG_VERSION) -lt 80000; echo $$?),0) +CFLAGS_REMOVE_vgettimeofday.o = -mcmodel=tiny +endif + # Disable gcov profiling for VDSO code GCOV_PROFILE := n -- 2.22.0
| |