[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87tv4zq9dc.fsf@nanos.tec.linutronix.de>
Date: Mon, 13 Jan 2020 23:28:31 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Vincenzo Frascino <vincenzo.frascino@....com>,
linux-arch@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org,
linux-kselftest@...r.kernel.org
Cc: catalin.marinas@....com, will@...nel.org, paul.burton@...s.com,
salyzyn@...roid.com, 0x7f454c46@...il.com, luto@...nel.org
Subject: Re: [PATCH v2 2/8] lib: vdso: Build 32 bit specific functions in the right context
Vincenzo Frascino <vincenzo.frascino@....com> writes:
> clock_gettime32 and clock_getres_time32 should be compiled only with a
> 32 bit vdso library.
>
> Exclude these symbols when BUILD_VDSO32 is not defined.
This breaks the ARM build with:
arch/arm/vdso/vgettimeofday.c: In function ‘__vdso_clock_gettime’:
arch/arm/vdso/vgettimeofday.c:15:9: error: implicit declaration of function ‘__cvdso_clock_gettime32’; did you mean ‘__cvdso_clock_gettime’? [-Werror=implicit-function-declaration]
return __cvdso_clock_gettime32(clock, ts);
^~~~~~~~~~~~~~~~~~~~~~~
__cvdso_clock_gettime
arch/arm/vdso/vgettimeofday.c: In function ‘__vdso_clock_getres’:
arch/arm/vdso/vgettimeofday.c:33:9: error: implicit declaration of function ‘__cvdso_clock_getres_time32’; did you mean ‘__cvdso_clock_getres_common’? [-Werror=implicit-function-declaration]
return __cvdso_clock_getres_time32(clock_id, res);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
__cvdso_clock_getres_common
cc1: some warnings being treated as errors
The patch below 'fixes' at least the build. Can someone please confirm
the correctness?
Thanks,
tglx
8<----------------
--- a/arch/arm/vdso/Makefile
+++ b/arch/arm/vdso/Makefile
@@ -14,7 +14,7 @@ targets := $(obj-vdso) vdso.so vdso.so.d
obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
ccflags-y := -fPIC -fno-common -fno-builtin -fno-stack-protector
-ccflags-y += -DDISABLE_BRANCH_PROFILING
+ccflags-y += -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO32
ldflags-$(CONFIG_CPU_ENDIAN_BE8) := --be8
ldflags-y := -Bsymbolic --no-undefined -soname=linux-vdso.so.1 \
Powered by blists - more mailing lists