From patchwork Wed Jul 29 16:34:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Remus X-Patchwork-Id: 140179 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0DA274BB58B4 for ; Wed, 29 Jul 2026 16:35:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0DA274BB58B4 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=nP0QsRno 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 6DB834BB3BDB for ; Wed, 29 Jul 2026 16:34:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6DB834BB3BDB 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 6DB834BB3BDB Authentication-Results: sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785342892; cv=none; b=oSavZKNoTauT53kzp0lC0ZkzAe0HN4/aTlDkuB6/78dOfZd0HN7BZsLz5Zk7pL4LWriOhWOm+7JWh7XJbFwbEOawzDO+FIrrEYjTSGG9vM5+tw5+yLsd1fI09AQpW+JE7bzF04wgSB7Hi1FVKBAauH3kNwfjcF6qKlG6RFUVVb0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785342892; c=relaxed/simple; bh=tqBoWZfDKEW79BdeK/Zu64p0+jpMcP1V1P7cJzB0DJ8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=OTzPp2m2jniUz+HUg0+yH47jJ/fZ1SvjJvGL4QRJFLmqWCOSIRzC08f06+Rs86lUNfD92na6p6BFSmOgCd1dWWxhASibXIxQPyS4vl8yMIwAIkRkWXPqK9XIzeR17bwUAdzJra3scRA2ZD3QojAnpiMRorbC+1l3MDw+kTE2boc= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=nP0QsRno DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6DB834BB3BDB Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66TFHtUv283157; Wed, 29 Jul 2026 16:34:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=0XYd5Y5OE9/kWXKgx l+gjhegSJBoo0ztVbmBiBz41ls=; b=nP0QsRnoW5Wc9rr0VX5rJ2ZXdhIe9HfYa XplKinRggkNHLItg/DeA5qiiVo+0rFMpezVMr9CXXEyKWZDnaGPsz/cm29MxcNXE ctDCoh+kpU7U8FdBnW4g60hI6Gq5DJJWcG2Tq8daS8fhEH+lxVMuXkFo/Pbfvqr9 NQgjDcZEVuIOU73WlTiHrEKygrk7+sCB6qSyFv8NTPe/kT7vLpJ29j77Vnj3PYG7 gEIZ74pi6OXpriv2/Kq99cSzmWG7mMWjQpAbtj/9SvuPVao2SqzM8coYvIPJoL8r ZRMh9DmIyonwE/p7cL3TwnQDIaYGX2WObvumiocuQOQvObuSMaG8Q== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fmv0ntv2v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2026 16:34:49 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 66TGQIG6010685; Wed, 29 Jul 2026 16:34:49 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4fn9pgfanv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2026 16:34:49 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 66TGYlWN30343788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Jul 2026 16:34:47 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 212802004B; Wed, 29 Jul 2026 16:34:47 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 049D42004E; Wed, 29 Jul 2026 16:34:47 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 29 Jul 2026 16:34:46 +0000 (GMT) From: Jens Remus To: binutils@sourceware.org, Indu Bhagat , Nick Clifton Cc: Jens Remus Subject: [PATCH 1/2] gas: sframe: Fix non-SP/FP CFA base register if flexible FDE Date: Wed, 29 Jul 2026 18:34:44 +0200 Message-ID: <20260729163445.2563223-2-jremus@linux.ibm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260729163445.2563223-1-jremus@linux.ibm.com> References: <20260729163445.2563223-1-jremus@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI5MDEyOSBTYWx0ZWRfX8gxAOHqLrr4c h1axqC6vjgZGqq8XyfoWwtZ9gFZT+0VmqmDMuJMdLbDE6faPj6voHQZOx6zxZxLGXh3xJMg5d/5 Ki8YxYXLthVv8kejhip5/BDU0T2sryA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI5MDEyOSBTYWx0ZWRfX7g1oP5MzsdUv NlGaNZkGSTy8ncfSJ8nX1U6UB2OimEhJIMbpdNzfttlyq7gO5TrsgP/mioId9GkSq+AsSfA7EJa jYf3PSwn+lAWaOP8EqLTMHz9qT6BwcLw8kk1nYo1Pw1wWFhB3U8RmgYonZTZpQTFyd/kyPjnKyT 9Fd3T8O1076vyqTdFWjMjJX2xcejhwv5VViOnEGzdeS74z8rpZ8NfXv2cNTFSw+v9yby2goGhh1 ro7QyFWFqiNuZqGTEx2QvnKSexlzb6TGE71ry6K1C/XW1Bz0waVy0ybPpzSIE4CiRfezEzvkOQT /KMURBeJEpMcyFwSLgR9NlJdQxn0nd1qI5OLpg+PYsDqbOeX5xLDBmyzQAz8wN17qxLYcXrjTse k6vtMUa/J9xMeKgHA4wXp4vsE1Gs4pQjsc4pXIVPr5bYc9ptAylKxDNA8jMzYuec2j2r+mPXXpj IjvQIhLJZ7gRpK6nxGA== X-Authority-Analysis: v=2.4 cv=b5WCJNGx c=1 sm=1 tr=0 ts=6a6a2baa cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=RAioF0-LDSMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8 a=sAr-RzG-ESrth5eDQlMA:9 X-Proofpoint-GUID: A5RUhDi84d_TvsvjaokIB5_KD91f-qJ- X-Proofpoint-ORIG-GUID: pvY-BqMHorvHFQ6QyZpeiXYuTrqVu37Y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-29_06,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 adultscore=0 malwarescore=0 impostorscore=0 bulkscore=0 phishscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607290129 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_PBL, SPF_HELO_NONE, SPF_PASS, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on 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 If a target supports SFrame V3 flexible FDE, a non-SP/FP CFA base register can be represented. Do not warn and skip generating FDE, if .cfi_def_cfa_offset with a non-SP/FP register in effect, if target supports flexible FDE. gas/ * gen-sframe.c (sframe_xlate_do_def_cfa_offset): Allow non-SP/FP CFA base register if flexible FDE. gas/testsuite/ * gas/cfi-sframe/common-empty-2.d: Skip test on targets that support SFrame V3 flexible FDE. Signed-off-by: Jens Remus --- Notes (jremus): Why does sframe_xlate_do_def_cfa_offset care about the CFA base register at all? With SFrame V3 it could test cur_cfa_reg for SFRAME_FRE_REG_INVALID. But wouldn't the following be valid DWARF CFI: .cfi_startproc simple .cfi_def_cfa_offset 0 .cfi_def_cfa_register ... .cfi_endproc to express the same as: .cfi_startproc simple .cfi_def_cfa , 0 ... .cfi_endproc gas/gen-sframe.c | 3 ++- gas/testsuite/gas/cfi-sframe/common-empty-2.d | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gas/gen-sframe.c b/gas/gen-sframe.c index b5c8f649beac..f0576869579a 100644 --- a/gas/gen-sframe.c +++ b/gas/gen-sframe.c @@ -1360,7 +1360,8 @@ sframe_xlate_do_def_cfa_offset (struct sframe_xlate_ctx *xlate_ctx, /* Define the current CFA rule to use the provided offset (but to keep the old register). However, if the old register is not FP/SP, skip creating SFrame stack trace info for the function. */ - if (cur_cfa_reg == SFRAME_CFA_FP_REG || cur_cfa_reg == SFRAME_CFA_SP_REG) + if (cur_cfa_reg == SFRAME_CFA_FP_REG || cur_cfa_reg == SFRAME_CFA_SP_REG + || sframe_support_flex_fde_p ()) { if (sframe_fre_stack_offset_bound_p (cfi_insn->u.i, true)) { diff --git a/gas/testsuite/gas/cfi-sframe/common-empty-2.d b/gas/testsuite/gas/cfi-sframe/common-empty-2.d index c80ea50c75f9..ce13d5ef055a 100644 --- a/gas/testsuite/gas/cfi-sframe/common-empty-2.d +++ b/gas/testsuite/gas/cfi-sframe/common-empty-2.d @@ -2,6 +2,7 @@ #warning: \.cfi_def_cfa_offset without CFA base register in effect #objdump: --sframe=.sframe #name: SFrame supports only FP/SP based CFA +#notarget: s390x-*-* x86_64-*-* #... Contents of the SFrame section .sframe: From patchwork Wed Jul 29 16:34:45 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Remus X-Patchwork-Id: 140180 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 35D844BB58AD for ; Wed, 29 Jul 2026 16:36:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 35D844BB58AD Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=NoJseQLf X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id CB9AD4BB3BE8 for ; Wed, 29 Jul 2026 16:34:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CB9AD4BB3BE8 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 CB9AD4BB3BE8 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785342894; cv=none; b=qgyfJ/ABr6foIWIo51hEHRQO015xTZCbwBJAFeOgj7FH+e5IJ3z5gnJpgds8ZtgFj9arRbV+HVdQaxilTm3wCB06oXmGJVEPJgbKkcOVqaEaPS/I9bH78IAaopalUCj3IZd/CJdbUXE0cI8SgOJ3uK9A+sK4Q8EE8AX4P0+oAc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1785342894; c=relaxed/simple; bh=/5lx3kLTGPiQUyScovvaJFhbSuwxLpV3s4jUBJ791zc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=IKvuiIqoK/WqsLsdcWAFbC7akR29rR2chTbCdm4IUa+4a3kJvyZ5oqFm2lKzcpUY1Eza/xZs6ILumRTtYIRjlEy/XlrsFXn7f/feAS4WH8/P0m8pDOQtXnq+Opx1+994vP3a2It0nbqiookNUR7rLNnucQU7A5FMr+yEGDDO5MU= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256 header.s=pp1 header.b=NoJseQLf DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB9AD4BB3BE8 Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66TFHZhU2684325; Wed, 29 Jul 2026 16:34:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=3W7IIBqNzMFcelOF4 OVZZyC12Lyy4VZipw52fs6pchQ=; b=NoJseQLfC7w1vVkjDKWsrt2nBZIV4rTdj gKcMf9BrvpkAQXxzLOgbl/D8Yu43sQHizW4FQkz/UsBbaB0ioLg+8tf8anZeotOx uSPnesIvybj5BI10NeDSLvz5jmKV8CxUdYr3qx9M/eunOyeRv/CFUq6rzYNtu8UM 7yzm15NTSzzIjOxjI4iJDXO0B8oYvahnS07+cpov6D9v0w5QI1owlfXalELs7LAC d0Qa1Jy9Wp8nmvGLH2vsgIF49IInZ/1tjTtMMLaPVh2SdISe3xtXuPfQ0qqCpED3 5f5RNbD+Kqu7cVC9kQ5aeVmodyxJGK92OhPYgAG/fXq9qy/qL5rJQ== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fmuyckm7w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2026 16:34:50 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 66TGQGiu023771; Wed, 29 Jul 2026 16:34:49 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4fn8fk7h0v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jul 2026 16:34:49 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 66TGYlqH17236388 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Jul 2026 16:34:47 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 36F6C20043; Wed, 29 Jul 2026 16:34:47 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 275F72004F; Wed, 29 Jul 2026 16:34:47 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 29 Jul 2026 16:34:47 +0000 (GMT) From: Jens Remus To: binutils@sourceware.org, Indu Bhagat , Nick Clifton Cc: Jens Remus Subject: [PATCH 2/2] gas: sframe: Add test for signal frame with unsupported CFI Date: Wed, 29 Jul 2026 18:34:45 +0200 Message-ID: <20260729163445.2563223-3-jremus@linux.ibm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260729163445.2563223-1-jremus@linux.ibm.com> References: <20260729163445.2563223-1-jremus@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: YDF8xVttdPvIPo9tm-5pFMGylkiqwEka X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI5MDEyOSBTYWx0ZWRfX4+aFSkZVXDay sfaEtDkoQl2danOvXap5QWlcJLLuPykRQbtLCylPuaBkXHmAPn04xPasXHfoC5mDLCiKFZXqiAG cDAx3qXk75xNxcOfpMW/hcfNukUQ0lCFkplOhnSupRRNDnWVgr29Rm+xjhbgRe8dJC0gGFgluRL OxlRG9mGmDJX7ehacqz1eKBz6KZJpgRlEZvApvbtgvF/qfM3uJfx+8VsK7KVJF7MEqjZbaAF/Py araA/k8eWm8bTRlFnoI2WrJ/7iB5wjItlKUcjyu0fm4AYsfeNViJKcs/ogWBxngHdthCiKHv97e sGvdOrvnQfoP9Q3DgFMB4bfkBphMmQV/DBN2L8RAyZR1r2tWGQoouOlSmS1YrJsuEMDhzPTi9eh WgAFDFU3ZQTACa1a6qFQ7bmlZYI7TPaAXURBqx6zghtYjNbqOe01Z9hPnHouHQtjgZRyNuoaXKu vhTq4bfawzG19t+MiBQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI5MDEyOSBTYWx0ZWRfX+k+jOkPY61f2 iuxjOLLoZ9ZMRlHztyA1hllLVVGxbLDm3gPJk1ho0n1FcLm972dDkrw9fHEZKlCLy6L3LW1viNe X1EnBBOKmtrVYc3Wxb+k5jdjJSK0hms= X-Authority-Analysis: v=2.4 cv=AZeB2XXG c=1 sm=1 tr=0 ts=6a6a2bab cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=RAioF0-LDSMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=5YmrO_9mMmnuq_GnESkA:9 X-Proofpoint-GUID: _TSbAYQSp8pTdwb0T_J1ATc4rB1Z18qN X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-29_06,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607290129 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, RCVD_IN_PBL, SPF_HELO_NONE, SPF_PASS, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on 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 Usually if the generation of SFrame from CFI directives encounters unsupported CFI the generation of SFrame FDE is skipped. For signal frames (.cfi_signal_frame) an "empty" FDE without any FREs is generated instead. gas/testsuite/ * gas/cfi-sframe/cfi-sframe.exp (cfi-sframe-common-14): Run new common test. * gas/cfi-sframe/cfi-sframe-common-14.d: New common test for signal frame with unsupported CFI. gas/cfi-sframe/cfi-sframe-common-14.s: Likewise. Signed-off-by: Jens Remus --- Notes (jremus): Note that this test triggers a segfault unless sframe_xlate_ctx_cleanup clears all struct sframe_xlate_ctx fields. Nick has a fix for that. .../gas/cfi-sframe/cfi-sframe-common-14.d | 20 +++++++++++++++++++ .../gas/cfi-sframe/cfi-sframe-common-14.s | 8 ++++++++ gas/testsuite/gas/cfi-sframe/cfi-sframe.exp | 1 + 3 files changed, 29 insertions(+) create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.d create mode 100644 gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.s diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.d new file mode 100644 index 000000000000..673dc684c099 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.d @@ -0,0 +1,20 @@ +#as: --gsframe +#objdump: --sframe=.sframe +#name: Signal Frame with unsupported CFI +#warning: \.cfi_def_cfa_offset with unsupported offset value +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_3 + Flags: SFRAME_F_FDE_FUNC_START_PCREL +#? CFA fixed FP offset: \-?\d+ +#? CFA fixed RA offset: \-?\d+ + Num FDEs: 1 + Num FREs: 0 + + Function Index : + func idx \[0\]: pc = 0x0, size = 8 bytes, attr = \"S\" + STARTPC + CFA + FP + RA + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.s new file mode 100644 index 000000000000..2c9b28ba8315 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-14.s @@ -0,0 +1,8 @@ + .cfi_startproc + .cfi_signal_frame + .cfi_def_cfa_register 1 + .long 0 + .cfi_def_cfa_register 2 + .long 0 + .cfi_def_cfa_offset 1099511627808 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp index ba6cbc13f72a..d7418726f274 100644 --- a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp @@ -50,6 +50,7 @@ if { ([istarget "x86_64-*-*"] || [istarget "aarch64*-*-*"] run_dump_test "cfi-sframe-common-11" run_dump_test "cfi-sframe-common-12" run_dump_test "cfi-sframe-common-13" + run_dump_test "cfi-sframe-common-14" run_dump_test "common-empty-2" run_dump_test "common-empty-3"