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: 1104 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx21.g.dreamhost.com (peon2454.g.dreamhost.com [208.113.200.127]) by wilcox.dreamhost.com (Postfix) with ESMTP id 4A386360073 for ; Fri, 23 May 2014 09:59:21 -0700 (PDT) Received: by homiemail-mx21.g.dreamhost.com (Postfix, from userid 14307373) id D67A5175342F; Fri, 23 May 2014 09:59:20 -0700 (PDT) X-Original-To: glibc@patchwork.siddhesh.in Delivered-To: x14307373@homiemail-mx21.g.dreamhost.com 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 homiemail-mx21.g.dreamhost.com (Postfix) with ESMTPS id 85A591749E9D for ; Fri, 23 May 2014 09:59:20 -0700 (PDT) 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=GnC+BXsWQk/DGJN/nOxyJgeeHkQZujqYx5IzzmUWNZE SKflL/lbHLvb3Vm/7UJrvhzN4HAFjBQUahj69oFdhN4EKlPxqKs6TfIUqdoxmd/g vTydy5O21XFTUvs1iidFA2SxSRlrcBttHBfU6KfeFnOD0lapZK1oTuakdz0GTnxA = 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=sz10ecWgmDJs4T0ie z8nJZZbusapxGuFOvD5vhb6dnMUUUAMzbaqv/oP8kqRpMiVDfmNyZZ+sOrnmBDn4 J1FXXwP593bDUzGQzQ4Rt2RX6sSIDiSwb1FSnUKANRvjGq5GLN0wCKxcmboPOy11 OQ7eWpqR6UAtLAMUIygnILLBYo= 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> X-DH-Original-To: glibc@patchwork.siddhesh.in 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)