From patchwork Thu Jun 29 23:53:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 114494 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9989004vqr; Thu, 29 Jun 2023 16:54:33 -0700 (PDT) X-Google-Smtp-Source: APBJJlEJbJZY/IQz7mXWaVBlZ2+8ZGESZzdysVR1ggYPUS6Z5clwQJmdz6vrnhkMxmHXV5leEIRb X-Received: by 2002:ac2:4ec7:0:b0:4f8:680a:68f8 with SMTP id p7-20020ac24ec7000000b004f8680a68f8mr950338lfr.41.1688082873314; Thu, 29 Jun 2023 16:54:33 -0700 (PDT) Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id j18-20020a50ed12000000b0051a20be5886si7453187eds.114.2023.06.29.16.54.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jun 2023 16:54:33 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=u2w+UMFu; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 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 381403858C33 for ; Thu, 29 Jun 2023 23:54:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 381403858C33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1688082862; bh=UcNYvBFUFPmG5VC2EQk0tCnU+veIHwRvkechnxFuFIc=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=u2w+UMFuDj43WhJrsCo69VG18pNE2gNHExiEyWuNsU0o68x7PPS6yx4Cqj0yK+gmJ v3xKdcQcDmQvmIworz2NVFUnyAIPZEvtjnP7d9YsJ7LtDijIXtBy4JqzH+DAnrE68t X7rgI4ElmBxm9LykcBtfQq0VJOVNaSK0J3KeXpyA= 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 4EB643857C5A for ; Thu, 29 Jun 2023 23:54:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4EB643857C5A 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 35TJ3v44020435 for ; Thu, 29 Jun 2023 23:54:08 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3rdq93ege0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 29 Jun 2023 23:54:07 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35TMGAfJ013205 for ; Thu, 29 Jun 2023 23:53:53 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3rdpx8aygs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 29 Jun 2023 23:53:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FdV/Lqa4snm5IgdZPWfqX02BjDKuQ+95G92R9C1fuVoVE/ujYGd+rYR9f0ycSlOAJdwaTaC0F01WVYyoC/TsSYz6Y7RSM1pnSF2uUcy0y4WQVEOFr3OqqeZ4eacSSg1R9RG7xrDB6Porcow8KO54WXKh0N6GmNG0+VvOFRpiRP0kEAOMjWnTtDL6c5cOCcpjHwEqoTkVs4jh7eIGCHSVmfNAcp0s8iSycfGyWwoNQDuwCvrqUCcMcqDOu9lA3QMwD4vkPrxqz9tFadUH7Ed2kwuMli8T0gkCkQ5PTzE8HqQQR2t+w5hykvEBGPuae2WROJ3sSqbAlNCCoVVJ3/EAsA== 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=UcNYvBFUFPmG5VC2EQk0tCnU+veIHwRvkechnxFuFIc=; b=aFPUzzITgDULLs4VqAjqyxx/YnPcNg9zHXSE7NWeiGcr498Gu61wJtTYx8r3ShEGYf8vwLuy5ziCYvnQWV/pxycMInmyTLgIZk0G+BYAiNlHzTIx0VEoxmLZS+FRC2as8iB/KODRP/DGZt501FlTT3nHAdYX2QX3imci7kMl/MMcnqR+iLufvOu+8G/JPEoyNVTw9ZKz5VQnYjelDtGWI6USxIERh0G/2ayFl5IkDKNvpH2sKuyJ9mKI5Ti1i51wJFQouQ5oZmQ0LOm28cipynm6fKzqYBbySK8pe73XEWIlLiCFlpdcsxkzC9U/ze9SXOHaz6g/5zwU6ZYHu/WcwA== 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 CY5PR10MB6165.namprd10.prod.outlook.com (2603:10b6:930:33::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Thu, 29 Jun 2023 23:53:32 +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; Thu, 29 Jun 2023 23:53:32 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [COMMITTED] libsframe: add new APIs to get SFrame version Date: Thu, 29 Jun 2023 16:53:23 -0700 Message-Id: <20230629235326.1167898-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: MW4PR02CA0005.namprd02.prod.outlook.com (2603:10b6:303:16d::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_|CY5PR10MB6165:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a5615b9-f56c-4527-3e3a-08db78fc0b9f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zzVzfRzAVZS2ghqIYTPIEWSglqhA01yTG8wVUjsnBNFU7tA+g10ATbxKolwkhZdrOqLC7f/kI4izcQn8LnWSCJ8j5fQfA0gTfGMhpLl8iHwE6WsnZ5KPq6JfMs76UAdnCGP4WbyJoGJhtr8oSjavTVQb4IczFPoWCTRzbfDVmbxbBE59bvoQzXQBHK4bPTLoFEBIFn8a5eUZXm8V+Dwk1XEzCON3wfuEHoI+/wlSsvVNUZ+2X7MxXl7Bdqvg05QhEuBHTKgmQDi2Ab+CWcx5VEsODixdRkK9dfzX5Ejo3j5styRxGsQ8FwMgmsN1oHAL004npLRel4jLTmQ4Jpf0uTLf5ds4l2YqN+PHPAmKBgTW7VCH/WwA4ogjvzNhnMD4NxTpbN3lDkkx3AK+X0skLrwTaeKkqHwOXwL9RBuz/oeZ+js3hjgCCxyLlAkMJ5gSV+k+msgu7p1Cix/8Uzp7IDjyaNxCmsBjpBpukkTHchkLRlUqG51+iIHfiydrj4svuXX54cLienBe2yVIbsQ7nuLvHpK6NsLqjsJFD6aWoc7ze5DFzMacVCzbzfdtqjyK 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)(376002)(136003)(366004)(346002)(396003)(39860400002)(451199021)(6512007)(6666004)(2906002)(186003)(6486002)(86362001)(107886003)(38100700002)(83380400001)(2616005)(26005)(6506007)(1076003)(41300700001)(478600001)(316002)(36756003)(66556008)(4326008)(66946007)(66476007)(6916009)(5660300002)(44832011)(8676002)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: J6nrfUkK2f7Bac302t4/MIyCQFdsiQwp12NLpwR7yxyDheVSwKzoqlVfeKOg0bGe8KuTCCA6vq3Wfmz/zS3+BrgKACjkG0s0EOOKFXakO7++MtROAYYSYmKJ9MHX56bjl5/fl6P6U59+fOrnAZrt+MjuBtlQicKN54Phg/3QOpbYqpT0cTcyt+csIOnEsruSWZkwEjjkkjHCsKW7E74ULqJgl1Dp0c9NEbnDQbQ8dtA2B1gTifI63GCXRWi5bau6AaJC8e3Do5cSH28q6wCOuz+0P0IXptPGC3wCXpWx5L8ySCaLglgLb+PYIdQJEKh4DNvH1bgL6hpgWS+pYS3smDrKkmaIZ/ZZiku5RDtf01eKvJRHHgSD0SrzRkyEEy+jFeZGVSJ+rYUc0OmelejTcPGtAteFQkLkr+/lvs64RE8oybw+2Ohr5IlTfKbk5VYCvcG4SxofQgyWCVz8uBCNSj5KwZDDGtOwLLn8GhGNcCcXlJOJa/wP4YmPuj7exzobjn2uxiVNqZDMS80MEqitwgmZoXu7C/LyDoeKAjO3laCOSyB3axLuA21t8IY2s6DuP8hk5IIyskycd3a23s78ulcSvlbYL4uBJnz2nVFG8IlJG7aa/dWhtZQT5oDZcMYQR7qJz63GQMTIkvkM3ORQ4HYT29HJ6drbra3lvFZAxvkFSBiNFDN5SZ6mLS8EL+K2NZsGagDDapLfwsxNs5Q9cNxg1f6oRbHCRUq5FZR4PDR199HcBlBkdues9QYHHxg/mJglOjuCqf8dr2pdxFjsScXfefXE0RoQx+LT3Jw/lSDMaXuz5rqJqDBH8e5/0hGz6Ql1Ofho6+0tfYRdwOwA05sxp5Onv3GkPYxNDaScok1KIHk33ADnNcgLtvgLYRhOeNhXXBBH2yXwDRvq3WZRTILhxxGixGbtrPzSKvJxqynnDe3OMwYEkBccGk8XV+pNYuMm4oaBXxuhvWvwm50V2/CePYw4VFTEhRMpZL7gEg7M+PINdx7FZna4q/N/NI7dQSpuxeyZUbTGNWY+h7Wtup1b7+HcmkmrNcR12QdAjSYSe4KVsfTRTGEY+WYmvojAuvIv73QR4xYlK+a19UjbqKzvEVNgbNmqU0F2Sj61Vw0ut7vEIb79Zjp8BUG7CqEbxgCyXau6xcqmm1kiXsu40d2sZhf023HVoxwdiUqx+55I+lbvZhP4teAlcB2LbJm1VfDvgSJi6Cers6RCiszHK/SDXFR/66I2SJMcyDJyN/j0jGQ1ManKu/W9blqp8U/02WuLxZUcMKxuSSQZJJr+FrbtNWLv/yUIXkltoSi723SWurPmVGaG51KpmW45BJdLmLYSAIEKqbbEJPKB+AMXtEhUfHaVYMThv61/6G8LqLS7VcpO24D0DKOaP3dqyaSZUT6j5q/XxAMQ8EOzvezYMZt3P8QouUJPE9adtGoamnEoTSFX4DXldH9mDUqmxfjSM7jX2r3mvLGXcM07XcXcbRyPR3czBKDBX0hN+HVCkbdF+qm//l/zXccCThpUNhazdXwe7g9LZtTFTFjCy3QNcKyPBBgzj+5WK7LlM5bcPDZtRezuxoyQAk9Vx1daw3Pz X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NpM1sKt9qv0249qKSpkEH8C457cY7RtC5+yywNIFLV/AI7jZb4HY0dqGnRaluFBPO4stgi8icVgD0L0lx5MiO3VReqFuBdJXjvAptjKbvce8j5IfHn5GVGgcL/I3AAouXmmEXdnc+cvCFuNtYIowaPwlAv1HNm+i7Sb3wis/y3++mu1WU9W7uKZ3Rrl9hRDfGq9gJRjW0hPHbFmP4KNWFx4ElmaBidfqCyOEqnD7PIzllJiksMatGGdEuRDbRM47px5TCkOLtWIrD5I96jY3Au1WGpJ+wu7pveXdYFq5vEEJl3PhNkJOv0hQ9tyBpo7hPA6h8cRltvEUeAwHTOWgqbG3sm9u9pbQUIqW+RCTezw+DiD8hGmIXA/La1bCI6QZcaN9GaRQpTIGr3dK3e0R90dQ6lkC7WFfq5lGohobMHPSaEpIasI99m0UlNYPF7Ng9+7vru4x95pWKnIrA/2y1l4CHpH0jE5q0aTUEuZa6c3Mil/OWxrGuWAYoJayrDQwPvIG3W+xs2whKizb4NL/k78EUvOd2yqlltaTd9+EshBUIN0j7JssTQIzmj5gPIpEon0PLhPJ7nDqGztjh67IGvN8E03+yPXtLmhBl3PLAloT/DvXSWu1AmBFT/zO9+WGHQbne+HM2lm+Wd9R338ykuu/STg2SfKmq1OXm0VlttFEMJli1VrntKbFz2bGvqVpR+ZofvKAIJepUmLkfLHBBs/dS/5Zp7vOSo6PX62dQg3MXG4qBHIJijKDBET1JdQzfiei1uLI0bKN1/B+88fpPA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a5615b9-f56c-4527-3e3a-08db78fc0b9f X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2023 23:53:32.6542 (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: avsXhZ2J2IlhCSmSI30zqJhken4aiuBlE46CJFd770J1UaQqEYIfDXWfvqexjDHsnfJjqGbhcxZmyZFCVBfwAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6165 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-29_10,2023-06-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 malwarescore=0 mlxlogscore=873 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306290217 X-Proofpoint-ORIG-GUID: Q8OFgdbvImHsTQn_548--wTRqnQ2z1Q5 X-Proofpoint-GUID: Q8OFgdbvImHsTQn_548--wTRqnQ2z1Q5 X-Spam-Status: No, score=-13.2 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?1770083186952197859?= X-GMAIL-MSGID: =?utf-8?q?1770083186952197859?= While the SFrame preamble is guaranteed to not change between versions, providing these access APIs from the SFrame decoder and encoder APIs is for convenience only. The linker may want to use these APIs as the format evolves. include/ * sframe-api.h (sframe_decoder_get_version): New declaration. (sframe_encoder_get_version): Likewise. libsframe/ * libsframe/libsframe.ver: Add new APIs. * libsframe/sframe.c (sframe_decoder_get_version): New definition. (sframe_encoder_get_version): Likewise. --- include/sframe-api.h | 8 ++++++++ libsframe/libsframe.ver | 2 ++ libsframe/sframe.c | 20 ++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/include/sframe-api.h b/include/sframe-api.h index 7594011a48f..7883b668e31 100644 --- a/include/sframe-api.h +++ b/include/sframe-api.h @@ -120,6 +120,10 @@ sframe_decoder_get_hdr_size (sframe_decoder_ctx *dctx); extern uint8_t sframe_decoder_get_abi_arch (sframe_decoder_ctx *dctx); +/* Get the format version from the SFrame decoder context DCTX. */ +extern uint8_t +sframe_decoder_get_version (sframe_decoder_ctx *dctx); + /* Return the number of function descriptor entries in the SFrame decoder DCTX. */ extern uint32_t @@ -217,6 +221,10 @@ sframe_encoder_get_hdr_size (sframe_encoder_ctx *encoder); extern uint8_t sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder); +/* Get the format version from the SFrame encoder context ENCODER. */ +extern uint8_t +sframe_encoder_get_version (sframe_encoder_ctx *encoder); + /* Return the number of function descriptor entries in the SFrame encoder ENCODER. */ extern uint32_t diff --git a/libsframe/libsframe.ver b/libsframe/libsframe.ver index 2c2081f311a..3e2a5695e93 100644 --- a/libsframe/libsframe.ver +++ b/libsframe/libsframe.ver @@ -13,6 +13,7 @@ LIBSFRAME_1.0 { sframe_decode; sframe_decoder_get_hdr_size; sframe_decoder_get_abi_arch; + sframe_decoder_get_version; sframe_decoder_get_fixed_fp_offset; sframe_decoder_get_fixed_ra_offset; sframe_get_funcdesc_with_addr; @@ -24,6 +25,7 @@ LIBSFRAME_1.0 { sframe_encoder_free; sframe_encoder_get_hdr_size; sframe_encoder_get_abi_arch; + sframe_encoder_get_version; sframe_encoder_get_num_fidx; sframe_encoder_add_fre; sframe_encoder_add_funcdesc; diff --git a/libsframe/sframe.c b/libsframe/sframe.c index fd966cfffd4..cb73a0ca87f 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -988,6 +988,16 @@ sframe_decoder_get_abi_arch (sframe_decoder_ctx *dctx) return sframe_header->sfh_abi_arch; } +/* Get the format version from the SFrame decoder context DCTX. */ + +uint8_t +sframe_decoder_get_version (sframe_decoder_ctx *dctx) +{ + sframe_header *dhp; + dhp = sframe_decoder_get_header (dctx); + return dhp->sfh_preamble.sfp_version; +} + /* Get the SFrame's fixed FP offset given the decoder context CTX. */ int8_t sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *ctx) @@ -1368,6 +1378,16 @@ sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder) return abi_arch; } +/* Get the format version from the SFrame encoder context ENCODER. */ + +uint8_t +sframe_encoder_get_version (sframe_encoder_ctx *encoder) +{ + sframe_header *ehp; + ehp = sframe_encoder_get_header (encoder); + return ehp->sfh_preamble.sfp_version; +} + /* Return the number of function descriptor entries in the SFrame encoder ENCODER. */