From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id C854D3858D32; Mon, 23 Jan 2023 17:26:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C854D3858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1674494795; bh=CX+B5cvNdWKzJ85h07k5tM91hjuJ20AxCvJKm5aBSA0=; h=From:To:Subject:Date:From; b=LgV45LwkdCfDnmP1LKVRqL3Qb2cyVoot3rFEkWPKXuCcjOGJzmdjsuEfYZmhEB0tc wS7Ik7httVSoMIH1TOnb2FeBTgiN0FXvjnRvu4ygF49ZCe8b2oEjDIEuYfVCE25hj1 RNDs1F0CW3bhi/hsf0V1JWpXlrTT7+ZD9kX4fJDk= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-5307] modula-2: Fix stack size request in initPreemptive [PR108405] X-Act-Checkin: gcc X-Git-Author: Iain Sandoe X-Git-Refname: refs/heads/master X-Git-Oldrev: b457cab64038cd9b7a8481594ff673f1822681f6 X-Git-Newrev: bcc023e2b4dd0dc1fd1fca3ea12664d5bdade4dc Message-Id: <20230123172635.C854D3858D32@sourceware.org> Date: Mon, 23 Jan 2023 17:26:35 +0000 (GMT) List-Id: https://gcc.gnu.org/g:bcc023e2b4dd0dc1fd1fca3ea12664d5bdade4dc commit r13-5307-gbcc023e2b4dd0dc1fd1fca3ea12664d5bdade4dc Author: Iain Sandoe Date: Sat Jan 14 10:20:47 2023 +0000 modula-2: Fix stack size request in initPreemptive [PR108405] As noted in the PR, the problem is that we make a request for additional stack that violates the constraints on some systems. This patch chooses a value that is divisible by common OS page sizes. TODO: the user value should be checked and then an exception thrown if it is not suitable. Signed-off-by: Iain Sandoe PR modula2/108405 gcc/m2/ChangeLog: * gm2-libs-iso/Preemptive.mod (initPreemptive): Use a value for extra space that is divisible by common OS pagesizes. Diff: --- gcc/m2/gm2-libs-iso/Preemptive.mod | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/m2/gm2-libs-iso/Preemptive.mod b/gcc/m2/gm2-libs-iso/Preemptive.mod index 53952e1c1cb..44aa62ba48a 100644 --- a/gcc/m2/gm2-libs-iso/Preemptive.mod +++ b/gcc/m2/gm2-libs-iso/Preemptive.mod @@ -33,6 +33,9 @@ FROM libc IMPORT printf ; CONST debugging = FALSE ; + (* The space we request becomes part of a stack request, which generally + has constraints on size and alignment. *) + extraWorkSpace = 10 * 1024 * 1024 ; (* timer - the timer process which runs at maximum scheduling priority with @@ -107,7 +110,7 @@ BEGIN IF NOT init THEN init := TRUE ; - Create (timer, 10000000, MAX (Urgency), NIL, timerId) ; + Create (timer, extraWorkSpace, MAX (Urgency), NIL, timerId) ; Activate (timerId) END END initPreemptive ;