From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) by sourceware.org (Postfix) with ESMTPS id B3C4A3858D28 for ; Mon, 8 Jan 2024 11:50:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B3C4A3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B3C4A3858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::22f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704714606; cv=none; b=MFhya1qAE5g7JXEdyUrzN/WCa2DtxD0Q1YI1eKIwFqxwmwoCwVMcvhxkoYG6mQKq9WI2IpOAP1s1FL1/a9OKX038GHnd4zYETzsD7+5rXfBg3Ezgq/2IygII5KD2J5GTewFjBCrjaH/uG9sPVnzBDa6Ddi0JdEUjxdwtxx9iDJU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704714606; c=relaxed/simple; bh=k1G75wN5hseSwUeJXUohGFoVcbPQ37rtJaTtEVKjcrE=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=VTNPEy49zoJIZ86HdVzKLSKVqoUBqlYSPllBrom0QfepiRMgEQNu8/hSYL9UP6r9dli4x+PKUOgb6KXt0Kt4yvWKmjdwJT4HyY7r1+REzaLz/veliRg7iz6SEkY8TZ/SAyIOn/n+RYNFnCd8ruBjzB/52MeD8JMEldsybqxhE34= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2cc7d2c1ff0so18375321fa.3 for ; Mon, 08 Jan 2024 03:50:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704714602; x=1705319402; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Lx+uNlPZOJlMegloRsGFfYsYZgEaFh2s6cQpa2V6j+0=; b=k18YPoEZgT3V7KIibplJ/SN4IK+uH/XUYnozp5lMzxoRoTukmNP4cThjs3YGaGE5Ke QxUsaMvujMeqnSOc/WKX/UMZdiVoanSwq++xnd3sTypqQRUWUIwQhef0Kf7wCbiwG9JM f938QqfsUHK5ZS/Argo/G7lL0ySK0ZyD9Up1mmSxa9UDk0gngAlMiDLYAKcXdNNzk2vB s1JImm2cQEz9HKFAjeo/XYrRQ4zHvbpxvSojuXc2V972ovRMTS1OWoBc3pjKhiuWrDVh r57eY7YjaTuodFAFKgb5U27Ht1ZBNQ0DWAZAPuX5gS7vcX5lmnDdejMUURjWWO2waiam S9+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704714602; x=1705319402; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lx+uNlPZOJlMegloRsGFfYsYZgEaFh2s6cQpa2V6j+0=; b=sl8qk9sS0ahhQWSd34qKb7ALY9ArhxfiuDm13XXhP/tSdijcP+Y0TWRECzvD3znMvy p3zxo7Eney13xOoBubdTPW+A3yf4cDbkqfnQjnLDcvJnbb4Ctrgxvzqw5y4ziEjajazi Dv3gf/h4AWfVKT4/XEY+aE/bI7/ysuK3hmwXuKWpqQcQzvvs376qdXtjclRrI0Bkw0K/ svGm7zdZZO8Yh1kr+uNFw2flHmPysVB89s6U3PVI8Nkly+s54o2oSgfjvMzlae+gK12W W7q4Jq2mGCR/XQpfFaAgFIaj5zfvP1BzThvCEmLg4ONqf8a6I9HB1mRNwXz24ZXO0HS8 SyQg== X-Gm-Message-State: AOJu0Yymzpb02jJYugMsgr+aGMhS+OACVi72O8KQijM4whhYXmOiN3+c iATt4syPno4B5Cwapjl8YNgmucdW2qoFifMKjD0= X-Google-Smtp-Source: AGHT+IFsRmvwCMg3wQ9HRPnCc0GLJaGDiDlLjno57YVFP0W/ZLTEcn0qOWhD0qU58N97zgwmbNsZhiBMQ7iinfeY9V4= X-Received: by 2002:a2e:92c9:0:b0:2cc:2025:5bd5 with SMTP id k9-20020a2e92c9000000b002cc20255bd5mr1587065ljh.51.1704714602046; Mon, 08 Jan 2024 03:50:02 -0800 (PST) MIME-Version: 1.0 References: <91d2c107-0168-791b-b5fa-de21c2345f84@linux.ibm.com> In-Reply-To: <91d2c107-0168-791b-b5fa-de21c2345f84@linux.ibm.com> From: Richard Biener Date: Mon, 8 Jan 2024 12:44:51 +0100 Message-ID: Subject: Re: [PATCH] strub: Only unbias stack point for SPARC_STACK_BOUNDARY_HACK [PR113100] To: "Kewen.Lin" Cc: GCC Patches , Alexandre Oliva , Jakub Jelinek , Peter Bergner , Segher Boessenkool , Jeff Law , Richard Sandiford Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: On Mon, Jan 8, 2024 at 3:35=E2=80=AFAM Kewen.Lin wrot= e: > > Hi, > > As PR113100 shows, the unbiasing introduced by r14-6737 can > cause the scrubbing to overrun and screw some critical data > on stack like saved toc base consequently cause segfault on > Power. > > By checking PR112917, IMHO we should keep this unbiasing > guarded under SPARC_STACK_BOUNDARY_HACK (TARGET_ARCH64 && > TARGET_STACK_BIAS), similar to some existing code special > treating SPARC stack bias. > > Bootstrapped and regtested on x86_64-redhat-linux and > powerpc64{,le}-linux-gnu. All reported failures in > PR113100 are gone. I also expect the culprit commit can > affect those ports with nonzero STACK_POINTER_OFFSET. > > Is it ok for trunk? OK > BR, > Kewen > ----- > PR middle-end/113100 > > gcc/ChangeLog: > > * builtins.cc (expand_builtin_stack_address): Guard stack point > adjustment with SPARC_STACK_BOUNDARY_HACK. > --- > gcc/builtins.cc | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/gcc/builtins.cc b/gcc/builtins.cc > index 125ea158ebf..9bad1e962b4 100644 > --- a/gcc/builtins.cc > +++ b/gcc/builtins.cc > @@ -5450,6 +5450,7 @@ expand_builtin_stack_address () > rtx ret =3D convert_to_mode (ptr_mode, copy_to_reg (stack_pointer_rtx)= , > STACK_UNSIGNED); > > +#ifdef SPARC_STACK_BOUNDARY_HACK > /* Unbias the stack pointer, bringing it to the boundary between the > stack area claimed by the active function calling this builtin, > and stack ranges that could get clobbered if it called another > @@ -5476,7 +5477,9 @@ expand_builtin_stack_address () > (caller) function's active area as well, whereas those pushed or > allocated temporarily for a call are regarded as part of the > callee's stack range, rather than the caller's. */ > - ret =3D plus_constant (ptr_mode, ret, STACK_POINTER_OFFSET); > + if (SPARC_STACK_BOUNDARY_HACK) > + ret =3D plus_constant (ptr_mode, ret, STACK_POINTER_OFFSET); > +#endif > > return force_reg (ptr_mode, ret); > } > -- > 2.39.3