Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Re: getpid after vfork broken in recent glibc
@ 2004-03-09 18:53 Ulrich Weigand
  0 siblings, 0 replies; 6+ messages in thread
From: Ulrich Weigand @ 2004-03-09 18:53 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Eli Zaretskii, Daniel Jacobowitz, cagney, gdb





Andreas Schwab wrote:

>Eli Zaretskii <eliz@elta.co.il> writes:
>
>> How about if glibc did us a small favor and invalidated its cached
>> PID on a vfork?
>
>This is about to be fixed now.

OK, thanks.  I'll ask Martin to provide the s390 pieces ...


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 6+ messages in thread
* getpid after vfork broken in recent glibc
@ 2004-03-08 19:17 Ulrich Weigand
  2004-03-09  2:41 ` Andrew Cagney
  0 siblings, 1 reply; 6+ messages in thread
From: Ulrich Weigand @ 2004-03-08 19:17 UTC (permalink / raw)
  To: gdb





Hello,

in fork_inferior (fork-child.c), gdb uses vfork () to spawn a child
process, and then calls getpid () (within gdb_setpgid) from within
that child process, before doing the execve ().

With current glibc CVS builds, this doesn't work any more, since
glibc caches the PID in thread-local memory, and memory is shared
between vfork parent and child.  (In fact, what happens is that
all subsequent getpid calls in gdb return the pid of the initial
child that was spawned ...)  This causes various breakage.

Now, according to this libc-hacker thread:
http://sources.redhat.com/ml/libc-hacker/2004-03/msg00014.html
gdb's behaviour is actually not standards-compliant, as it is not
permitted to call getpid () between the vfork and the exec.

Can this be fixed in gdb?


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


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

end of thread, other threads:[~2004-03-09 18:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-09 18:53 getpid after vfork broken in recent glibc Ulrich Weigand
  -- strict thread matches above, loose matches on Subject: below --
2004-03-08 19:17 Ulrich Weigand
2004-03-09  2:41 ` Andrew Cagney
2004-03-09  2:53   ` Daniel Jacobowitz
2004-03-09  6:36     ` Eli Zaretskii
2004-03-09 13:14       ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox