From patchwork Fri Apr 12 14:47:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Remus X-Patchwork-Id: 88425 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C1699384AB5F for ; Fri, 12 Apr 2024 14:49:42 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id DB7A83858C33 for ; Fri, 12 Apr 2024 14:47:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB7A83858C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DB7A83858C33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712933256; cv=none; b=FxGViexR2KMqoaxrNoU3Zrhc5g5aT/gVVo/fJ0rRf3usjHS1/OvbFqaodWgyPOle5uWXREH0ZDB1I0iTlbTzks7mWex6uCo7IHtP0O6+DwaDnyYGfambBIVJMp1dhNNC3VnUkZVZFXy6FSI9HXor0tn0F4bYfC9Db7zN2gOuh3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712933256; c=relaxed/simple; bh=eLEZW7tTFmOxYygmHCljoZjJbqzcxuYDAFaYJvTnTAI=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Rh7vCdbGPxdTE5ZoQwx5RmODzyky3ZepmtU5TAXd1/Nd37w19E0T0s+L7C7gzgBgAU9lpAwHupQAJQ3i/+0Rooco1HLGcZICi9Mlh6CiN2IDj3WzJuPhe1H4i9B6jGo0rAgo40K+q7TzaUlodTm0U9GAPVKcbLHdkXp1C+qDiYM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353724.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43CEfpYG022962; Fri, 12 Apr 2024 14:47:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=z1dSKVSy8HEg7AJFWRPhPMqjVqd/tPZSpcQeGEeYqYM=; b=bLNYs9kfMbTX/Zkn3NczhDrBed4x28LA1aieTg2BuoY22Ed1CYUyQID3T6hX0Z0Uce8p eMU4pT+9mQGFmgAUug3r2iUHnrvKfg3Zcz3zgEDAuEs4jCOR+5fQmfd+pNTsB62pUCBQ FJn+NfjQaTD9c/layfVLVAXX59lji/qLIPuh71wyHFNSknTW2CrCpM9DzFycTb+Xvqg7 7ZVCHcHO1DVaHHdyxjfyty0Z5hpB8j9P06nSOnfhWzaLanGVChGpoAxv56BZVxl1Ve6v c5DqIXqkGO9Xr0CLuZ5uJ6/DhMJuMDoABVf3poxyMQL70sS8R/kKDU8wqT7lwoKwSRt6 7Q== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xf5gug6wa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 Apr 2024 14:47:32 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 43CDuxm0019082; Fri, 12 Apr 2024 14:47:29 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3xbh40tjte-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 Apr 2024 14:47:29 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 43CElOrJ28770734 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 Apr 2024 14:47:26 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2A65620070; Fri, 12 Apr 2024 14:47:24 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 058BE20043; Fri, 12 Apr 2024 14:47:24 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 12 Apr 2024 14:47:23 +0000 (GMT) From: Jens Remus To: binutils@sourceware.org, Indu Bhagat Cc: Jens Remus , Andreas Krebbel Subject: [PATCH v3 12/15] gas: Don't skip SFrame FDE if .cfi_register specifies RA w/o tracking Date: Fri, 12 Apr 2024 16:47:15 +0200 Message-Id: <20240412144718.4191286-13-jremus@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240412144718.4191286-1-jremus@linux.ibm.com> References: <20240412144718.4191286-1-jremus@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: YO_783Jt8AiUEynDxnxjrkfeZGMUYO7l X-Proofpoint-ORIG-GUID: YO_783Jt8AiUEynDxnxjrkfeZGMUYO7l X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-12_11,2024-04-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404120107 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Do not skip SFrame FDE if .cfi_register specifies RA register without RA tracking being actually used. Without RA tracking the register contents can always be restored from the stack using the fixed RA offset from CFA. gas/ * gen-sframe.c (sframe_xlate_do_register): Do not skip SFrame FDE if .cfi_register specifies RA register without RA tracking being used. Signed-off-by: Jens Remus --- Notes (jremus): Changes v2 -> v3: - New patch. gas/gen-sframe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gas/gen-sframe.c b/gas/gen-sframe.c index 98166de8cc01..61c846f214ee 100644 --- a/gas/gen-sframe.c +++ b/gas/gen-sframe.c @@ -1160,7 +1160,7 @@ sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED, stack trace information. */ if (cfi_insn->u.rr.reg1 == SFRAME_CFA_SP_REG #ifdef SFRAME_FRE_RA_TRACKING - || (cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG) + || (sframe_ra_tracking_p () && cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG) #endif || cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG) {