From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 14A403858D28 for ; Wed, 24 May 2023 19:08:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 14A403858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1684955291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=TWAvNIJippv06AgaPERxKMVerGVCc9465kgkY8wJdXU=; b=CxP2tm/5oXd3SLQE+TZozVCDarUbKfGAl9xNFPsAtfXSg7mcj8R0fkJl8mhda00LLz75Dj Zg1GQRsW9CGP5aw6JD/cKmBBbKt8dPt9gvTw0dhL2nTGMnFOOdaCaIlVJgamm/Uq2OTVPg omstsyIjHhKhSPH8kADq91MdoZmU6Gs= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-168-UdE6jhksMrmbK4XiYhfkSA-1; Wed, 24 May 2023 15:08:08 -0400 X-MC-Unique: UdE6jhksMrmbK4XiYhfkSA-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5340C185A792; Wed, 24 May 2023 19:08:08 +0000 (UTC) Received: from oldenburg.str.redhat.com (unknown [10.2.16.16]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4B620492B00; Wed, 24 May 2023 19:08:07 +0000 (UTC) From: Florian Weimer To: Manjunath Matti via Libc-alpha Cc: Manjunath Matti , rajis@linux.ibm.com Subject: Re: [PATCH] powerpc: Use sysconf (_SC_SIGSTKSZ) to set SIGSTKSZ and MINSIGSTKSZ. References: <20230516111140.2585699-1-mmatti@linux.ibm.com> Date: Wed, 24 May 2023 21:08:05 +0200 In-Reply-To: <20230516111140.2585699-1-mmatti@linux.ibm.com> (Manjunath Matti via Libc-alpha's message of "Tue, 16 May 2023 07:11:40 -0400") Message-ID: <877csxtune.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: * Manjunath Matti via Libc-alpha: > diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/sigstksz.h b/sysdeps/unix/sysv/linux/powerpc/bits/sigstksz.h > new file mode 100644 > index 0000000000..399a49c1b0 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/bits/sigstksz.h > @@ -0,0 +1,33 @@ > +#ifndef _SIGNAL_H > +# error "Never include directly; use instead." > +#endif > + > +#if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE > +# include > + > +/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */ > +# undef SIGSTKSZ > +# define SIGSTKSZ sysconf (_SC_SIGSTKSZ) > + > +/* Minimum stack size for a signal handler: SIGSTKSZ/4. */ > +# undef MINSIGSTKSZ > +# define MINSIGSTKSZ (SIGSTKSZ >> 2) > +#endif I'm not sure if it is a good idea to hard-code that constant 4 here. Similarly, it's not great to encode the constant 1 in the default case. This is a subtle portability hazard because with these changes, MINSIGSTKSZ is not enough on POWER to do anything on the signal stack (because it's exactly the kernel supplied value). On other architectures, it's at least possible to do some minor stuff and call e.g. siglongjmp (at least if lazy binding is not required). The factor 4 in the implementation is somewhat x86-64-specific because it accounts for the fact that we do a signal-like context switch (pushing XSAVE data on the stack) in the lazy binding trampoline. Thanks, Florian