[PATCH v7 0/9] ARM: VDSO
Ard Biesheuvel
ard.biesheuvel at linaro.org
Fri Jun 27 02:41:46 PDT 2014
On 27 June 2014 10:57, Russell King - ARM Linux <linux at arm.linux.org.uk> wrote:
> 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?
>
It appears that the EF_ARM_ABI_FLOAT_[SOFT|HARD] defines are just renames of
#define EF_ARM_SOFT_FLOAT 0x200
#define EF_ARM_VFP_FLOAT 0x400
so perhaps use those instead?
> 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.)
>
This is a host tool, so this is about the host libc not the target libc.
--
Ard.
> 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