This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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: Questions about VDSO


There is no configuration that requires a vdso.  
That's what DL_SYSINFO_DEFAULT is for.

If you are not providing a syscall entry point, then you should not define
AT_SYSINFO at all, since its meaning (as used so far) is to be the syscall
entry point.  You have a vdso with no syscall entry point, just define
AT_SYSINFO_EHDR.

The libc code as it is does not have conditionals to distinguish just
loading the vdso from the use for the syscall entry point.  We can easily
make that distinction, but it's only worthwhile when there is actually code
to do something else by loading the vdso.  I suppose if you use it for
signal trampolines then needing the unwind info for that is reason enough.

Most of what NEED_DL_SYSINFO controls is stuff you don't need.  Even for a
new platform that does put a syscall entry point in the vdso, not all of
that code may be required.  It includes storing a copy of the pointer in
every thread structure, which is only the right thing to do if loading off
the thread pointer is cheaper than a vanilla global access to a hidden symbol.


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