[PATCH] Fix bug with popen/pthread_create
Andreas Schwab
schwab@suse.de
Fri Feb 7 10:11:00 GMT 2003
Jakub Jelinek <jakub@redhat.com> writes:
|> --- libc/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S.jj 2003-01-09 15:27:26.000000000 -0500
|> +++ libc/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S 2003-02-06 13:31:43.000000000 -0500
|> @@ -31,7 +31,19 @@ ENTRY (__vfork)
|>
|> #ifdef __NR_vfork
|>
|> - SINGLE_THREAD_P
|> +# ifdef SHARED
|> +# if !defined HAVE_HIDDEN || !USE___THREAD
|> + SETUP_PIC_REG (cx)
|> +# else
|> + call __i686.get_pc_thunk.cx
|> +# endif
|> + addl $_GLOBAL_OFFSET_TABLE_, %ecx
|> + cmpl $0, __libc_pthread_functions@GOTOFF(%ecx)
|> +# else
|> + .weak __pthread_fork
|> + movl $__pthread_fork, %eax
|> + testl %eax, %eax
|> +# endif
|> jne HIDDEN_JUMPTARGET (__fork)
|>
|> /* Pop the return PC value into ECX. */
Shouldn't that be moved outside of #ifdef __NR_vfork, so that __fork is
used even if compiling with kernel headers that do not define vfork? The
minimum for i386 is still 2.0.10.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libc-hacker
mailing list