[PATCH v7 0/9] ARM: VDSO

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Jun 27 01:57:06 PDT 2014


On Fri, Jun 27, 2014 at 10:51:27AM +0200, Jan Glauber wrote:
> On Sun, Jun 22, 2014 at 10:11:49PM -0500, Nathan Lynch wrote:
> > Provide fast userspace implementations of gettimeofday and
> > clock_gettime on systems that implement the generic timers extension
> > defined in ARMv7.  This follows the example of arm64 in conception but
> > significantly differs in some aspects of the implementation (C vs
> > assembly, mainly).
> 
> Hi Nathan,
> 
> applying your patches I get the following compile error under Ubuntu 12.04:
> 
>   CC      arch/arm/kernel/vdso.o
>   LDS     arch/arm/kernel/vdso/vdso.lds
>   CC      arch/arm/kernel/vdso/vgettimeofday.o
>   AS      arch/arm/kernel/vdso/datapage.o
>   VDSOL   arch/arm/kernel/vdso/vdso.so.raw
>   HOSTCC  arch/arm/kernel/vdso/vdsomunge
> arch/arm/kernel/vdso/vdsomunge.c: In function ‘main’:
> arch/arm/kernel/vdso/vdsomunge.c:152:16: error: ‘EF_ARM_ABI_FLOAT_HARD’ undeclared (first use in this function)
> arch/arm/kernel/vdso/vdsomunge.c:152:16: note: each undeclared identifier is reported only once for each function it appears in
> arch/arm/kernel/vdso/vdsomunge.c:156:34: error: ‘EF_ARM_ABI_FLOAT_SOFT’ undeclared (first use in this function)
> make[2]: *** [arch/arm/kernel/vdso/vdsomunge] Error 1
> make[1]: *** [arch/arm/kernel/vdso] Error 2
> make: *** [arch/arm/kernel] Error 2
> 
> Looks like the libc dev is too old (EF_ARM_ABI_FLOAT_* not in
> /usr/include/elf.h). On a more recent Ubuntu it compiles fine.
> Not sure how to solve this, maybe disable vdso if the libc is too old?

This is what really concerns me about the VDSO.  It adds an additional
dependence on the C library in order to build the kernel.  What if you
don't have a C library in your cross-build setup (I don't.)

Until that is solved, the VDSO support is not going in, as it will
effectively render the kernel unbuildable for me.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.



More information about the linux-arm-kernel mailing list