From patchwork Fri Jun 23 04:44:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 111910 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp5527120vqr; Thu, 22 Jun 2023 21:45:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6o3MohYFIpqmyARQLOBAcfslpmHDfD2Bcz+vIPeOED8jE8oa0Yvjg08C/HKu4vlynu7PGT X-Received: by 2002:a17:907:70d:b0:979:65f0:cced with SMTP id xb13-20020a170907070d00b0097965f0ccedmr16419902ejb.17.1687495520675; Thu, 22 Jun 2023 21:45:20 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id dc26-20020a170906c7da00b009882f2a8aabsi1447654ejb.551.2023.06.22.21.45.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jun 2023 21:45:20 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=G0kNwui8; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3541E3858296 for ; Fri, 23 Jun 2023 04:45:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3541E3858296 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1687495514; bh=V68GljL/2h34Nv7lzdSIqJhuxtN03Qhhk12JUoTaVac=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=G0kNwui8FeOw6uQW5nkRUGsgOAA3PxwRam4p9jX3SCj0umgkqDpzBM3QY2XFPfBom 74GNRfgHq1UsSHDxvdUG1ptyGqABkaITSf/MAoZy4QPu2/j9WRAgL23do+72Ca9nt2 TdMe8QAvzBqq34S1hBsBsGptb5H50aoec4fVckI0= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 0AFB13858280 for ; Fri, 23 Jun 2023 04:45:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0AFB13858280 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35N4W11f005661 for ; Fri, 23 Jun 2023 04:45:04 GMT Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r93m3u9pn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Jun 2023 04:45:04 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35N1e4eR005820 for ; Fri, 23 Jun 2023 04:45:03 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r93989cgm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Jun 2023 04:45:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FzeqszsNh0KaS4Czb1e3sOr7wvG6IK9OEECb9w/4coQvSOb4qc2JvNs6VOt1WZpljTIQQ7U2ZZjtdx3NUxG5HNojVBwo+IBIBygJ2yeAQCVs2PfJwSbItP7icGxlFQRZ4UbM7bIJlrAFk5m2j3j0YIHUruEh1tMQbu9POzXjlQ5BtGjyLmfT0v+4HjmlUmMOSlgsPqHiVS8h09BQlEeGOSJH9CQ+ycFZituCCP/y4oq8jNPVblwePFYS2JOkrY2RoFwU0Q8lprJNLyB+3RHkhh+AqpGXFbXiJKVNkQX0/Ye8/JiOynDc4Nbh/uMeSgEN2clSTOCjSBGRHc9nSa7TEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=V68GljL/2h34Nv7lzdSIqJhuxtN03Qhhk12JUoTaVac=; b=DO8DR/pGUkvTA7GCEuyb9dNto/zpOLub43UCdAXT9SL38ii/XzoVQkyTN8EXlHu0MFeiCu3xIA6yM1r/HNCoKoX+DXJIJb6RveBjq4T0Sq8HwnMPRhGDrNgCk4+oT8UjCduGrU6Xpn2gC2Qg7lTc3sIc+eD16LVCYy1p3XrebjsYrE6LJGVVhWOeJGWVO7Du6RvAii2GKEanZB/uGZm+sPuoKRehSZ4qXkucYbOlpTSHx7CidbNB9+W13+ln+ZH62HFrvE4MtM8JcBodRgzJZKRzGTCmtU+00PAZV4mG1SKgInvmFOUIIwkJ9LKy9LF+rHXFWWLZyNJJ71b3kFsPcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by DM4PR10MB5966.namprd10.prod.outlook.com (2603:10b6:8:b2::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Fri, 23 Jun 2023 04:45:01 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44%4]) with mapi id 15.20.6521.026; Fri, 23 Jun 2023 04:45:01 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH 02/10] libsframe: remove sframe_get_funcdesc_with_addr API Date: Thu, 22 Jun 2023 21:44:40 -0700 Message-Id: <20230623044448.2617101-3-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230623044448.2617101-1-indu.bhagat@oracle.com> References: <20230623044448.2617101-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR04CA0189.namprd04.prod.outlook.com (2603:10b6:303:86::14) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|DM4PR10MB5966:EE_ X-MS-Office365-Filtering-Correlation-Id: d3a38a78-b096-46db-3f09-08db73a49abd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uzaRher5uTTgNhKnyxr5Z1FqlkYbsMXMSrVyHd62dUdZbc/VS8AC6liuFfyrWEJkCuEhNmhsI0bkJTRiSq97ZydhS5RccMrERBEwsH7a7Xbu+T/Tkd5D4X2WV7si2oaiX36rar631cXH+krNPONmtUEiCL2a1JoKDg8pwEtNk0tJBu3LJXCDEPq18Npe339xNqmro4WiVaSrr1dc9dS6pJ5PeJ7ZQrFtdEIxIT8COUdBw7gEj+HJjuNLoWXk0dtCgSU550bMHJIl5ypsCScNeLwgDWL08rVghIT+zvLAF6FxL9m7xTY+hWjXBAO5v+YxcShBKyWzjII01aGWNemEdJQfVYiItO05rkc+S+oTVHZpjphekB4diyhf5kc7oBklDNmSX3qMbihCI6NKb5Vj4gadEIBx0R+XYu3kpXZW826VclKYNpKLfcIQBZr5q5ukbdciLe7zNJldQeaPdNBVF9Fc/CBLh2xLLdNTwoaCMCWB6dUy83qWL+KwY60i1OZHNYRpN+2rehOaThx46NEA2XczudaOa4s+xtSGSZFuuzeWx1wNao8/af12tgBHmLoI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1001MB2158.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(136003)(346002)(366004)(39860400002)(376002)(451199021)(2906002)(478600001)(38100700002)(2616005)(36756003)(6666004)(5660300002)(6486002)(66946007)(66556008)(66476007)(83380400001)(316002)(6916009)(86362001)(41300700001)(44832011)(8936002)(8676002)(4326008)(6506007)(6512007)(1076003)(107886003)(186003)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZkNE7sF7HYeZk3d2HW5IRSl6NVUmLB93osbxXNXoWIOVgSLjYSnfcZfTCzr70VP/koAZ2yfW38a8GxgH7Toza6S3FxgYPTfl/cwJCzeVfRpMfTgBYB+tyWqmG6uZihJXHJdNZzZFmLuSLC1cW/nbcxoppJLiHffQX4Zh2w5zSVe9jjiHA0ud4ZmrI6yT5mS7WiiWmhohOwTQXKXPi6tNzgYw7ag7PegxpRAUNCZTc8vhg9Pc6P94bVDm+/ea8f3XKx9gIn5zRbiMwLRtA5zY1vse1ThOMs33xgS12K+YRV2azJOc8QMG7+8IaIrfZ6x+I+RPOGB5PoxzVkSOUuT/WPKETKM4H7S4h2OT/OpzI+iQH77NTp5zczcCeQ3ESAMu8f06otdGdIzA1NWxLgIfJ6AqXPzLjMGMVr+1H1j4SWZgzWmG/cjhKJ9tIsvqM21mRU+kBd4HDJ3lh61m+TtlLhzVpKe2Ar0TlEe4maqefSeXe3FBF+At9OznsDwqbaFJdx4LhyG0r3+7Jjmnb9LbXGFcRRP96jVQLBxtWzhtwPVU8F88IDaNKakp4LON/i4vZiC00xnPywSofUFJvYIGcEToWVfL+UbD5JW8XRy9LkWy5VBzkLjwN3cLdEPSuv5I5J5q2Sl1INqSXSEuQJhTdwxwO9bJLaP1galhEwX70TjzVuYknZ7GgjQn7copOZkNuLVdzVY2V9SyzFjuY8omZnOEhezSa46LiXJL4YgUCpxhPn71a9VMlMh4vUZTjdM8kHqlIBG/95VLHTIZ/9GeU7Ek6P+QWNEmGyD+my4+Bmk6kfa09AQL8z1IuKGldR1RsmLFDgCZlHqvYc7MOur+DST5nmGzknki0VN8P9JHONvcK1enklJd8L8BuxnmvIBciGKKof5pqkE+ohvzo5nROoSEGOTeiRx4TQoMht2wik3xcE1e/GGCc5g9GDca6nF5f5vPjXRnI/I2WZqAgM69jz4NLczuAoZ328dObUtHAjI0GeUd0NYpyg0tPnorwa6738jn4e5wAydwVr/looONTr9iLz1YA+puYJ0baCnSjPYTrvXUMXNdq/YwxaWvtu+/9ctc9Ycc9hQr/8iUPQtTR4mnauBo08F7BC+VerCVtjWMI1Su9qKEds2PlvvYC5ewpOpstsT/WNkRrWsP7pjSYbUy+zJqtNDcxMClnsq4jIO8V+NSPRwZ7wxwkiXiB6qcjqOrRKK0GzKPXVhjkF9sKS9NK/gkDs+kfVq8ghUmWwKaHhSEU960CDlmE83cToxvSIy4wZkhWCC9ivzHZ8qw3cA90bIKEGkD794YNg2GqJLdmuSH/mLsgl8H+cS7vkLP2aFXzqOCxzUWomOIA8Yz6vUfaToiRWGIXbkmx+q4pRvgwM5TfzFfBKk6RjyhLrXubhctp1M65Krl0PEFINR81TtjVuG4RqhTwDCmXMVWg1fN4EBCdq8ucXBnSNmQljymKkyHWEqvyE8SoJS32oNCtpn3WS/QXG1pnPUFtZFQZfIYdvPK8/bNavZsMrONmIUscOQeGiVrFNTOETNYLF38ij5Ob7Lcpz3lhmdU6enZURWVSfjxp5rJSiu4jZKAKleL X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fXEopYol+9B1yZeNR/lkL35okT83AWebCYeM70VndT9pmQH/7gZZPv6PA5Lx5G/k/TL//b3V4h5fXpsOFqepRBmfKmCIder+9ENOUakTx1MBBhfdeai/ufO2mngFWEZEypl1JfMAKA5ckCcqlrpPZI1bDkp1jcFXtHY+1REujfO1GKOjN0mg5Q0KaUmwaKOry5iNs2Wu3PlBECx9Pb5lc+Oh/dQu3p2P5bo5IJOLScc74eKDBv5nEErl9YSH81wxsBzwW2AlrBlx7vdcBkkZX7UjsIlDU+65MQ8VC68XyTcgVRDMUBFUi+SlPilauer5fsp6hjd73K4/+BX7XPrXYO+FTRr4NDnBm7t4vvslXx1QwabM79iRQtJqmZR8E4wppzZZSKGAr6odVfYZ7WLYe/f6umITwEismjUe0xYy1U7F3H+0+MUqu5kgVSSlvss82d6SkuzSsFR+zBAVb9Gida0RSU7nCh/276ntIETsjKIdzyxRYHDSdTlywj2Qfs+Wz9zKsQud9+aCmU6E80WeV6qD+NiX7E6msQayNv+DuRgH1MoqlR8Sry40iJFoX0BANmIiclpIixNQf/WGR3guPiyRu/38xZUluHEr78hEK7cZli3w0xl9IkRfXrWUfJvWTGnWFTzijAMezVLTjm3Qiri/97cXrlc7JC96ydt1dHivSnN6daDlge6K+UcfeOm1+yKu4t7N12+INeYESFp3TkuGzlR0cG6dJylJ9ocInDTLd5Zp689p9I5T8qDKIjWu X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3a38a78-b096-46db-3f09-08db73a49abd X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2023 04:45:01.2034 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XYHKGedcmryr4Z7QhObsuGQ1dzb4Gr4HaUfGCJ1Qy6hE3Qhu4+DrFOKRFxgd9w4cVFWrk9TnSPNP1PBa+mkp1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB5966 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-06-23_02,2023-06-22_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=966 adultscore=0 spamscore=0 bulkscore=0 malwarescore=0 phishscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306230041 X-Proofpoint-GUID: MIWMntNC7AVERUK5ETpQByxSHhrnogKl X-Proofpoint-ORIG-GUID: MIWMntNC7AVERUK5ETpQByxSHhrnogKl X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Indu Bhagat via Binutils From: Indu Bhagat Reply-To: Indu Bhagat Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769467302841268277?= X-GMAIL-MSGID: =?utf-8?q?1769467302841268277?= This is an incompatible ABI change in libsframe. The interface provided by this function is not a healthy abstraction to expose: the return type sframe_func_desc_entry, which is defined in include/sframe.h (the SFrame binary format definition). This ties up the library in a undesirable way. Most importantly, this function should technically not be directly necessary for a stack tracer. A stack tracer will likely only need to do a sframe_find_fre (). Rename the API to continue to use the functionality internally in the library. bfd/linker does not use this function. Change the return type of the previous definition and make a note about its planned deprecation. include/ * sframe-api.h: Change return type of sframe_get_funcdesc_with_addr. Add comment for intention to deprecate. libsframe/ *sframe.c (sframe_get_funcdesc_with_addr): Change return type and set error code. This API is deprecated. (sframe_get_funcdesc_with_addr_internal): New definition for internal use. (sframe_find_fre): Use sframe_get_funcdesc_with_addr_internal instead. --- include/sframe-api.h | 11 +++++++---- libsframe/sframe.c | 20 ++++++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/include/sframe-api.h b/include/sframe-api.h index df1f5ccef4c..a00303a3598 100644 --- a/include/sframe-api.h +++ b/include/sframe-api.h @@ -133,10 +133,13 @@ sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *dctx); extern int8_t sframe_decoder_get_fixed_ra_offset (sframe_decoder_ctx *dctx); -/* Find the function descriptor entry which contains the specified address. */ -extern sframe_func_desc_entry * -sframe_get_funcdesc_with_addr (sframe_decoder_ctx *dctx, - int32_t addr, int *errp); +/* Find the function descriptor entry which contains the specified address. + + Note: This function is deprecated and will be removed from future release + X+2 of the library. */ +extern void * +sframe_get_funcdesc_with_addr (sframe_decoder_ctx *dctx, int32_t addr, + int *errp); /* Find the SFrame Frame Row Entry which contains the PC. Returns SFRAME_ERR if failure. */ diff --git a/libsframe/sframe.c b/libsframe/sframe.c index 7308a45ce88..8837f878fb0 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -950,12 +950,24 @@ sframe_decoder_get_fixed_ra_offset (sframe_decoder_ctx *ctx) return dhp->sfh_cfa_fixed_ra_offset; } +/* Find the function descriptor entry which contains the specified address + ADDR. + This function is deprecated and will be removed from libsframe.so.2. */ + +void * +sframe_get_funcdesc_with_addr (sframe_decoder_ctx *ctx __attribute__ ((unused)), + int32_t addr __attribute__ ((unused)), + int *errp) +{ + return sframe_ret_set_errno (errp, SFRAME_ERR_INVAL); +} + /* Find the function descriptor entry starting which contains the specified address ADDR. */ -sframe_func_desc_entry * -sframe_get_funcdesc_with_addr (sframe_decoder_ctx *ctx, - int32_t addr, int *errp) +static sframe_func_desc_entry * +sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr, + int *errp) { sframe_header *dhp; sframe_func_desc_entry *fdp; @@ -1053,7 +1065,7 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc, return sframe_set_errno (&err, SFRAME_ERR_INVAL); /* Find the FDE which contains the PC, then scan its fre entries. */ - fdep = sframe_get_funcdesc_with_addr (ctx, pc, &err); + fdep = sframe_get_funcdesc_with_addr_internal (ctx, pc, &err); if (fdep == NULL || ctx->sfd_fres == NULL) return sframe_set_errno (&err, SFRAME_ERR_DCTX_INVAL);