This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] Add VDSO version of sched_getcpu on powerpc
On Tue, Jan 8, 2013 at 1:56 PM, Ryan S. Arnold <ryan.arnold@gmail.com> wrote:
> 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.
So the original patch is correct and complete. I'm going to run one
more regression test and check this in unless there's any opposition.
Ryan