public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* Questions about VDSO
@ 2004-11-04 22:11 Steve Munroe
  2004-11-04 23:18 ` Roland McGrath
  0 siblings, 1 reply; 3+ messages in thread
From: Steve Munroe @ 2004-11-04 22:11 UTC (permalink / raw)
  To: libc-hacker; +Cc: Paul Mackerras

I am (finally) starting to look at enabling the GLIBC side of VDSO for 
PPC/PPC64 but have some questions about the details.

It looks like I need to define NEED_DL_SYSINFO in dl-sysdep.h  to set up 
the basic processing of AT_SYSINFO and AT_SYSINFO_EHDR. But looking at the 
i386 and ia64 examples it is not obvious what is needed for the general 
concept and what is specific to those platforms. For example I don't think 
PPC needs USE_DL_SYSINFO, DL_SYSINFO_DEFAULT, or DL_SYSINFO_IMPLEMENTATION 
because we are not changing the syscall mechanism for powerpc. Am I 
missing something?

Also there does not seem to be any kernel_feature specific enable for 
VDSO. So can I assume that a NEED_DL_SYSINFO GLIBC can run safely on a 
none VDSO kernel?

Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Questions about VDSO
  2004-11-04 22:11 Questions about VDSO Steve Munroe
@ 2004-11-04 23:18 ` Roland McGrath
  2004-11-05 16:13   ` Steve Munroe
  0 siblings, 1 reply; 3+ messages in thread
From: Roland McGrath @ 2004-11-04 23:18 UTC (permalink / raw)
  To: Steve Munroe; +Cc: libc-hacker, Paul Mackerras

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Questions about VDSO
  2004-11-04 23:18 ` Roland McGrath
@ 2004-11-05 16:13   ` Steve Munroe
  0 siblings, 0 replies; 3+ messages in thread
From: Steve Munroe @ 2004-11-05 16:13 UTC (permalink / raw)
  To: Roland McGrath
  Cc: libc-hacker, Benjamin Herrenschmidt, Alan Modra, libc-alpha

Roland McGrath <roland@redhat.com> wrote on 11/04/2004 05:18:12 PM:

> 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.
> 

OK I'll work up a patch to enable AT_SYSINFO_EHDR only support of 
starters. Then enable powerpc32/powerpc64 to use it.

Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-11-05 16:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-04 22:11 Questions about VDSO Steve Munroe
2004-11-04 23:18 ` Roland McGrath
2004-11-05 16:13   ` Steve Munroe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).