From patchwork Fri May 23 16:59:10 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 351974 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id AE26F140092 for ; Sat, 24 May 2014 02:59:23 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; q=dns; s=default; b=wNObfWbiPifDR243V3FpgrsfbFQOozeYYg+sLC4jopv 0qXjfHkJxHehUea9dltwRTgjVAeQVxtHXBOw7Q+mnO8XJerSZMYbQnSonxh88BQ8 pcRbnJo77Bz6iJ7nrgm/52rv4JTey+4YChpU8Ja0f3tHp9k/pPH9BBeLTRCVtYME = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=default; bh=NT1bMZffUFUm+c8800kTAnKBpb0=; b=vG1TyZoqdCRA0KYED hfGWOugqIhz7o8S1qdoU5G4qytiinYcJHnZGG55tK1Ol4l09RiddQZNtc+SPa+Nz ssxQD/uQZbFntDLjkYvK+0e695tFi9rxkQNEih1sbwCrnDazqEOL9QauWGcoJfrR 8djmLWesLfn4+aL6T3AsLCrKYM= Received: (qmail 12426 invoked by alias); 23 May 2014 16:59:18 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 12415 invoked by uid 89); 23 May 2014 16:59:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qc0-f172.google.com X-Received: by 10.140.95.164 with SMTP id i33mr8264231qge.6.1400864354418; Fri, 23 May 2014 09:59:14 -0700 (PDT) Message-ID: <537F7E5E.2030500@twiddle.net> Date: Fri, 23 May 2014 09:59:10 -0700 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: libc-alpha Subject: Fwd: non-ifunc pt-vfork References: <537F75A9.6070503@twiddle.net> In-Reply-To: <537F75A9.6070503@twiddle.net> X-Forwarded-Message-Id: <537F75A9.6070503@twiddle.net> Grr. Forgot libc-alpha... r~ -------- Original Message -------- Subject: non-ifunc pt-vfork Date: Fri, 23 May 2014 09:22:01 -0700 From: Richard Henderson To: Roland McGrath CC: Joseph Myers After falling into the trap of the new nptl/pt-vfork.c on alpha, I wonder if it's better to apply this patch or to remove the non-ifunc portion of this file entirely. It does seem like this sort of thing is going to have to be decided on a host-by-host basis, and at least unavailable ifunc will error out at compile-time. Alternately, we could drop this tail call stuff and just include vfork.os in libpthread.so. It's not like it's a gigantic object file... Thoughts? r~ diff --git a/nptl/pt-vfork.c b/nptl/pt-vfork.c index 81d1b71..72fc528 100644 --- a/nptl/pt-vfork.c +++ b/nptl/pt-vfork.c @@ -56,6 +56,9 @@ vfork_ifunc (void) # else +/* WARNING: If the compiler cannot turn this into a tail call, + then this mechanism will fail. The parent will save a return + address on the stack which will be clobbered by the child. */ attribute_hidden pid_t vfork_compat (void)