This is the mail archive of the libc-alpha@sources.redhat.com 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: ppc64 vDSO in mainline


On Wed, 2005-03-23 at 20:25 -0800, Roland McGrath wrote:
> > > But if the descriptors are going to be synthesized by the dynamic linker
> > > anyway, then it is indeed quite simple to make them with whatever address
> > > you like.
> > 
> > Yes, though where does the dynamic linker itself will find this value ?
> > another AT_* entry ?
> 
> It's not some random other address you want to get at, it's part of the
> contiguous vDSO image, right?  So there are all sorts of things you can
> decide are the address, that are readily at hand in the dynamic linker.

It's the page after the vdso .so "file" in the mapped fragment. But I'm
not sure the dynamic libc has a good way to know where it is, as it
doesn't know the size of the mapping the kernel did. In fact, I see no
way for the dynamic linker to know where this data page is, unless the
vDSO or the kernel exposes it in a way ... I could hack a symbol to
contain the offset to it at kernel boot though (I already patch symbols
for some functions that have different implementations on different
CPUs). 

> > Also, that would be different between 32 and 64 bits vDSO which I'm
> > trying to keep as much in sync as possible... but that isn't that much
> > of a problem.
> 
> Those machines have very different ABIs (i.e. function descriptors).
> That's just a fact that means things will be different.

True.

Ben.



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