This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2] Add VDSO version of sched_getcpu on powerpc


On Tue, Jan 8, 2013 at 1:45 PM, Roland McGrath <roland@hack.frob.com> wrote:
>>
>> +  __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux2615);
>>
>> Considering that __kernel_getcpu for powerpc went into the Linux
>> kernel last July (3.5), I believe this should be:
>>
>> PREPARE_VERSION (linux35, "LINUX_3.5", 61765365);
>> __vdso_getcpu = _dl_vdso_vsym ("__kernel_getcpu", &linux35);
>
> That would be the case if the kernel folks had used proper symbol
> versioning discipline for adding new features to the vDSO.  But they
> didn't.  The version set name has to match what's in the vDSO image,
> obviously.  The powerpc vDSO uses "LINUX_2.6.15".

Thanks for clearing that up Roland.  I was clawing my way through the
Linux kernel sources but this didn't stick out to me.

So, on a system that has a Linux 2.6.15 kernel but doesn't have the
__kernel_getcpu vDSO call available _dl_vdso_vsym should still resolve
this as null and the syscall fallback should be hit.

Darn, I wasted 20 minutes figuring out how to generate that elf hash
for Linux 3.5.  :-)

Thanks,

Ryan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]