From patchwork Wed Jun 7 23:57:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 104777 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp558712vqr; Wed, 7 Jun 2023 16:58:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5S2oZncePvjNIVIABR9gwB9Qsq6poNMpGsqdhJ8tXIHPiWqLv4KaAbgkH67QqJZPKAZUIY X-Received: by 2002:a05:6402:1105:b0:50c:52d:7197 with SMTP id u5-20020a056402110500b0050c052d7197mr4837943edv.2.1686182301544; Wed, 07 Jun 2023 16:58:21 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id g21-20020a056402181500b0050bc5ffdee1si8173153edy.462.2023.06.07.16.58.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 16:58:21 -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=RlhQSc7t; 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 1AE40385734A for ; Wed, 7 Jun 2023 23:58:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1AE40385734A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1686182300; bh=saZHYpv+cS7ynKpg8kxvG1HwseLw0sRoL+m8GqFgvPI=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=RlhQSc7tDdtcArgmaCXUAcQ/qn4M7T61kA3zkjmt1xud8giX4YIqNSfpGnDzcuTht DGyDOhgO5F/cWJPXPuDBoAqrSorz4rzqb644udyxw1hUkwakef54ENAfXlvrE9NAYN s4FjMr1Yn1vd/7BVcj4xhb6jwo7iyMO2nU9T9+NY= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id A64413858C54 for ; Wed, 7 Jun 2023 23:58:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A64413858C54 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 357MAw5d001922 for ; Wed, 7 Jun 2023 23:58:09 GMT Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r2a6u303s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 07 Jun 2023 23:58:09 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 357L7pqk037367 for ; Wed, 7 Jun 2023 23:58:08 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3r2a6hw98v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 07 Jun 2023 23:58:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F1TkBvz/mFesAz06iP5WOn8eRmzRJQKKWd955ax1UTINcvAJx8wy/MZ3B8h09tB4VDcCNZR/F+ioBasTQ1ZIyLYLv5PpB2uQK4zzsXSR9mO2xH9ekLPv952vSYQGVnlq92Xyj6K/AoOaT7dfFjvQ6ULZt1KNp6WXl685dkYafYTzbLyrg4aBguLUh7j14eXsmnvmCiOmLp8/qvvT6QuLPaigKLS0KgnuwtewgPZx+xNb3IJxpwsFLadR90VK87ZQEaQMvNWQHUYAaiVfob7Zo/bLZYmp9AAomDcEevjrQCki9IMAlsWKgnSwOSh8eOYqnxPPSWYsleYuWRlZZTw4Xg== 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=saZHYpv+cS7ynKpg8kxvG1HwseLw0sRoL+m8GqFgvPI=; b=jy/PF1thqjkn5zFpI7d4ZHHuj27XxL3yRurjrAzDv/GGiyxubQ/qI8m/nE78rOiHVKMWHQPCb24Mnqt35g3ONcgUlWpNpfScIx3xNyFAU5soEnc6PjkjlgfnXHSKg0DGq8x0GlQZO5zcrAILEFoDvxUGOoC9o8P1aDXXtqT4maJOvXyHnQ6ps5q823C+NF01+lrQv4phQG4R03deG5vLNsVz8R/DZeYO2pjI7t336rffy78nSirt1pzlJhQMe6yqckdcLclmBUCSel7YeyZVW0bb5+E972AODb6znPRYrtRhDS+Ptg0n/8iLc+b4UJVmQPV0i1+Alv5wKsbh1WsHyw== 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 DM6PR10MB4267.namprd10.prod.outlook.com (2603:10b6:5:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Wed, 7 Jun 2023 23:58:06 +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.6455.028; Wed, 7 Jun 2023 23:58:06 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [COMMITTED] libsframe: reuse static function sframe_decoder_get_funcdesc_at_index Date: Wed, 7 Jun 2023 16:57:57 -0700 Message-Id: <20230607235757.4174552-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: MW3PR05CA0005.namprd05.prod.outlook.com (2603:10b6:303:2b::10) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|DM6PR10MB4267:EE_ X-MS-Office365-Filtering-Correlation-Id: d56df155-7dec-4ae1-53ac-08db67b309ce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FAvVy2+bP+TCH2ZkXaDNbxCNeouq0c9yl+RG3F1gOGS1VRMtCtJ46c2lJ31nPbPiagI6QtPIa3vedGaLQOTu0G/6DIwEVXrpA29rk5MYfU11RpzmAEtoLUTo8sZZEhWTxcwSNiBXEvJ+t66MuchsXn8DsYJGI3Oy4o45QG8z1cYEDFymxHsEzR6K007vhhd4eMOavpulCKhdrrAPaQ8ftsuH9vaCV9z4tS7nVWH2sebQFFzrDLdDXEYUAzWcQ1Loq99K7w6N49YYwazqSxy2yDTWJ/XG7Iz4yQx6rsjQx32w9X9YE9QcErLHwcm4UFVz+xSPkdN0P7rC+WRIMKZKTTiSVZQq5Pu2fmnrZg/XEWkHa8yN2u1Mhnz9Z/4iklf0CIV2elITS7eJ8Ot8d4O6AiUUAzvw3FLGKLsV8WYCoii93c334JXAcHpMZ7Z951B48KUiR/7CMDZl+szLa5xog4YEqZqxZ1HbWtOkEe8rdgPj3b1UxtNsFxluwu1s7uLhygd5EPdcC9VSq5ANxsUSBnAS7gL8+nVWyMbdhjmaeNsDVp5Q+W7Hqo3KVC93JGn0 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)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199021)(83380400001)(2906002)(2616005)(36756003)(86362001)(38100700002)(41300700001)(6486002)(316002)(6666004)(5660300002)(107886003)(8936002)(8676002)(478600001)(66556008)(6916009)(66946007)(6506007)(4326008)(6512007)(66476007)(26005)(1076003)(186003)(44832011); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FNoaE4PimlmW7wNRy5yD3eIdFlYYGYEYV9zWxQ2FzbtYIXZiMNaDewWq0eq+kEli92VPLBRSWcatHXl0gjPTrLrcNJvfgEXiDhbNGCI0VVo1rQ+jDKZEX5QqjC9QqULBPvMxGZxa45HcQkGnut/JYqSYl9XKs2NyBwQ2Wk9seoKQNL0yQi/kp++dZWpZILJB3Ku5naRNazidcc8wZi/9EEhMM32Q1KhA/zjSHonIGyW6Vuj0/44vDyllbZWbIi+l7uEmNCTGCuR3nKWmufczRVc2E3ToekdNRU72v2VTynW45rcR74ISo5srqs6K9mS0UAYBZtCZwlKpvESZxjB3mpQEJPABua7SSE+fjiHUF27MsWu41n0Ai3H4SrIr+bsMT87NUUSZ2+SGOu5ojSO1C8kiEQCD4IDgBDo7Myhr1Pbe2VwLNIOOSI+qb+wsdfLeH+Pn13vo9+r9juTc46AZnj/GWGYkT/pALaX/0fXN1C669QOih3x7CR1otoxx0OzKl9fQobQ1Ggh6On4zTsulkWWaxi//89+XZ+WY0e6xERhLdz4hBDaV3A3QEx0Gutw74B/vQyh83TlX43AK8+yYGXV8pMwNPX28tQF9Hq89rc7VNm0qb+x0bTU5AnX8JyPP7lrzNOLTEo6SCc67Fq+GUSCO4lOXqYJnTP5Tvpa8UXIMmNYS0ov6MRuwuy8YacfSF9qOYwkdAw0DqVxM93YoFjBIhntRJXRd3SWm+28+gXLzUNqHXrId9H9niugZJQq/x5F9BaOzh2RHJxblrFLBZzNZJrx9DHUEmhUH39wL8ucTOESDIDtJQCV91FjeT3DMtcZmwT+5aSdbTv4AcAX0Snt4mh10T29TVG3Had2S8kRhCzi3IL7L2ftBdUUL8moGAJyPi7x/fHGN9njyW/t3LlF+d2QSELIvFMh8fxoHzaN/LV3spGFQ1ZChNezHyVF1HNBS9C7Fnf1tWu0IXSKY4P6vkkzKL9se/lMb3sqJFjnfSIS1r+7ZnZmLNToZMK8Gjsb7A2aCngPw8yL9YTGqGWAGk2DHPiQVRtoEGRloHzrmU9sItAERUrsLX8YswW/JWO06Zvkqyon9ebIz77CIUWHOMnLd9jYbdku+ubYkfbG1fKf7v2e0S/pggAINOK5o16lGyRCVVUSZ/VZk3lkHdA63FlvzT10CZY6oCpXY+BkFm6mnDDvQOazOGhGvqF5hFtLEPXdzbxWQFfjXxy/Xq4ZpsUlntr8GNECnwpJ9WuZzgAAh5ziotc9IrQzRiV7AJssRNRrFxHJqJiBUy6Xm3giGS9IUqlwSVQJvlrrckCn3lyim6nBps/i7dHenTCHo8ykEps2PXdW2RnjJTXdB+iT2CQz6Bx85xATwFUdBCx6ezw6+SETb9mGsdDpzp5zk5k9Y+mOgbOWwlWdxg8kF4S1eLEzZxk1x6oXNzM/WyMSsMlhaIEMcArH58VW8QLwK9mJdE22+Xt0s6neG+HuQHhc4fgNAmCQUlET0wN2K7Q/9hcQXiK/U1enhr/GvmGgjeRwo0pkyKiY4mdmAYGU7CI10OiXmsHPbDtIutCLLBJWDZAOXkTUDMlcY1oVopWo1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: C7xaicf3b78yjVs3SIyOxztZyT2g4vrktltPOd6QfrpuxUez3ID4CAf+M2NFsjfJ3RP5yk4Y5ZiGuytYcLpJTsvMfpBApg2TP+9zX/qfGBvMF3hyw33Fl65u2gaPFoI1i2vhfwEd1nPgRknSyM/HvRFe5j5U5L0nrzVNnLHim4PBvF4AVvMNYMmet/usHZlEYHgIIOL2gUN0R0h6PLK/LWIv1Fxy5igzYiDzFMJ4o4osKgUpibCb/5+3DEaOiwFyd1/Q+vJWhBTVsKprsyHYw0rtEfAoK2MEAsTc70rN7L/24BHdelw9/dqn1flo1mqKwQ+PHNKpXlUrhC03tVxAnFNNWiv17m/JUbAmvTQrrFoh1Rz4FmTpQTYC+fkb4Y3ByGtNsemGe8PFdxvEpFwNfLiMSBPuTlTP6VjBtUR+6wwA7bKwLxo0TRPyRdc1AZWHSTgev6A/Ai/qcBSp6vOS2xTsshUZpsyROFuBuheOgczU6u0f7Ez6ZSuXTWXGCr4nTrqrnoWw1NhXR/yMEDf2YjhC/54SDMu6Tthny8dKu5NtKtrQ9GYcTTBew0TNS8ONxFg+iPl23ZGTq6ZEJxTlCGbY5TrhutdlHP+fRR9fieMnvfqZswy4qwm46pP9eD1VlPVIZKLA3YHH/Lj08AOJpcrlZQGHK+cUupck35v2YpxMSwwvb3IADAHqZBjFmcV/7pF5N8iwunwRhqXj1ywIyz8wNZGlHxls1PvQ1XDKXiEoJ2vY03xOXan/2HdORsQD X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d56df155-7dec-4ae1-53ac-08db67b309ce X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2023 23:58:06.6714 (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: QUzDitw1Yxs20WGAhhK7o+X9GPzCDlITiQju8hSSOHZTryz7Dh8nAvzYlYlShI7/qr7rxloITyeTo+W8r1t0YQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4267 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-07_12,2023-06-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 mlxscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306070207 X-Proofpoint-GUID: 20e78oB_oW2kmttBs0Ska_Nh2qd58k8q X-Proofpoint-ORIG-GUID: 20e78oB_oW2kmttBs0Ska_Nh2qd58k8q 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?1768090293152756590?= X-GMAIL-MSGID: =?utf-8?q?1768090293152756590?= sframe_decoder_get_funcdesc_at_index () is the function to access SFrame FDEs in the SFrame decoder context. Use it consistently. Avoid unnecessary type cast and include minor enhancements as the code is moved around. libsframe/ * sframe.c (sframe_decoder_get_funcdesc_at_index): Move some checks here. Move the static function definition before the new use. (sframe_decoder_get_funcdesc): Use sframe_decoder_get_funcdesc_at_index instead. --- libsframe/sframe.c | 48 ++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/libsframe/sframe.c b/libsframe/sframe.c index a7615329767..a5f4a7f6519 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -341,6 +341,27 @@ sframe_fre_entry_size (sframe_frame_row_entry *frep, unsigned int fre_type) + sframe_fre_offset_bytes_size (fre_info)); } +/* Get the function descriptor entry at index FUNC_IDX in the decoder + context CTX. */ + +static sframe_func_desc_entry * +sframe_decoder_get_funcdesc_at_index (sframe_decoder_ctx *ctx, + uint32_t func_idx) +{ + sframe_func_desc_entry *fdep; + unsigned int num_fdes; + int err; + + num_fdes = sframe_decoder_get_num_fidx (ctx); + if (num_fdes == 0 + || func_idx >= num_fdes + || ctx->sfd_funcdesc == NULL) + return sframe_ret_set_errno (&err, SFRAME_ERR_DCTX_INVAL); + + fdep = &ctx->sfd_funcdesc[func_idx]; + return fdep; +} + static int flip_fre (char *fp, unsigned int fre_type, size_t *fre_size) { @@ -1103,20 +1124,17 @@ sframe_decoder_get_funcdesc (sframe_decoder_ctx *ctx, unsigned char *func_info) { sframe_func_desc_entry *fdp; - unsigned int num_fdes; int err = 0; if (ctx == NULL || func_start_address == NULL || num_fres == NULL || func_size == NULL) return sframe_set_errno (&err, SFRAME_ERR_INVAL); - num_fdes = sframe_decoder_get_num_fidx (ctx); - if (num_fdes == 0 - || i >= num_fdes - || ctx->sfd_funcdesc == NULL) - return sframe_set_errno (&err, SFRAME_ERR_DCTX_INVAL); + fdp = sframe_decoder_get_funcdesc_at_index (ctx, i); + + if (fdp == NULL) + return sframe_set_errno (&err, SFRAME_ERR_FDE_NOTFOUND); - fdp = (sframe_func_desc_entry *) ctx->sfd_funcdesc + i; *num_fres = fdp->sfde_func_num_fres; *func_start_address = fdp->sfde_func_start_address; *func_size = fdp->sfde_func_size; @@ -1125,22 +1143,6 @@ sframe_decoder_get_funcdesc (sframe_decoder_ctx *ctx, return 0; } -/* Get the function descriptor entry at index FUNC_IDX in the decoder - context CTX. */ - -static sframe_func_desc_entry * -sframe_decoder_get_funcdesc_at_index (sframe_decoder_ctx *ctx, - uint32_t func_idx) -{ - /* Invalid argument. No FDE will be found. */ - if (func_idx >= sframe_decoder_get_num_fidx (ctx)) - return NULL; - - sframe_func_desc_entry *fdep; - fdep = (sframe_func_desc_entry *) ctx->sfd_funcdesc; - return fdep + func_idx; -} - /* Get the FRE_IDX'th FRE of the function at FUNC_IDX'th function descriptor entry in the SFrame decoder CTX. Returns error code as applicable. */