From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14461 invoked by alias); 10 Mar 2004 15:06:22 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 14440 invoked from network); 10 Mar 2004 15:06:21 -0000 Received: from unknown (HELO Cantor.suse.de) (195.135.220.2) by sources.redhat.com with SMTP; 10 Mar 2004 15:06:21 -0000 Received: from hermes.suse.de (Hermes.suse.de [195.135.221.8]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by Cantor.suse.de (Postfix) with ESMTP id 673412CBB70; Wed, 10 Mar 2004 16:06:21 +0100 (CET) To: Jakub Jelinek Cc: Ulrich Drepper , Glibc hackers Subject: Re: [PATCH] getpid/vfork/raise fix References: <404BDA36.6000202@redhat.com> <200403080237.i282bXG6004322@magilla.sf.frob.com> <20040308110105.GN3822@sunsite.ms.mff.cuni.cz> <404D76CA.4010500@redhat.com> <20040309115038.GO3822@sunsite.ms.mff.cuni.cz> <20040310101515.GS3822@sunsite.ms.mff.cuni.cz> <20040310125148.GU3822@sunsite.ms.mff.cuni.cz> From: Andreas Schwab X-Yow: .. my NOSE is NUMB! Date: Wed, 10 Mar 2004 15:06:00 -0000 In-Reply-To: <20040310125148.GU3822@sunsite.ms.mff.cuni.cz> (Jakub Jelinek's message of "Wed, 10 Mar 2004 13:51:48 +0100") Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-SW-Source: 2004-03/txt/msg00047.txt.bz2 Jakub Jelinek writes: > On Wed, Mar 10, 2004 at 03:33:05PM +0100, Andreas Schwab wrote: >> That doesn't seem to work, though. I'm getting p3 != p4 in the posix >> vfork tests. Or do you see any error in my implementation? > > Yes. > >> ENTRY(__vfork) >> alloc r2=ar.pfs,0,0,2,0 >> adds r14=PID,r13 >> ;; >> ld4 r16=[r14] >> ;; >> sub r15=0,r16 >> cmp.eq p0,p6=0,r16 > > This line should read > cmp.eq p6,p0=0,r16 > instead. > You want to set ->pid to 0x80000000 if ->pid has been previously 0, not > non-zero. You're right, of course. Strange it didn't fail with my old version. > With this change both tst-vfork1.c and tst-vfork2.c pass for me /me too. Thanks, Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."