From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7850) id 16F6F3858D35; Thu, 29 Jun 2023 23:42:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 16F6F3858D35 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Indu Bhagat To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org Subject: [binutils-gdb] libsframe: add new APIs to get SFrame version X-Act-Checkin: binutils-gdb X-Git-Author: Indu Bhagat X-Git-Refname: refs/heads/master X-Git-Oldrev: 3169b734cf07ec8800436b2c5298897aa993d2be X-Git-Newrev: 9f71b60bd45a93e25ea8dd3d8dc47f9ebd7d00d1 Message-Id: <20230629234231.16F6F3858D35@sourceware.org> Date: Thu, 29 Jun 2023 23:42:31 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2023 23:42:31 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D9f71b60bd45a= 93e25ea8dd3d8dc47f9ebd7d00d1 commit 9f71b60bd45a93e25ea8dd3d8dc47f9ebd7d00d1 Author: Indu Bhagat Date: Thu Jun 29 16:28:56 2023 -0700 libsframe: add new APIs to get SFrame version =20 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. =20 include/ * sframe-api.h (sframe_decoder_get_version): New declaration. (sframe_encoder_get_version): Likewise. =20 libsframe/ * libsframe/libsframe.ver: Add new APIs. * libsframe/sframe.c (sframe_decoder_get_version): New definition. (sframe_encoder_get_version): Likewise. Diff: --- 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); =20 +/* 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 *encod= er); extern uint8_t sframe_encoder_get_abi_arch (sframe_encoder_ctx *encoder); =20 +/* 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; } =20 +/* Get the format version from the SFrame decoder context DCTX. */ + +uint8_t +sframe_decoder_get_version (sframe_decoder_ctx *dctx) +{ + sframe_header *dhp; + dhp =3D 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 *enc= oder) return abi_arch; } =20 +/* Get the format version from the SFrame encoder context ENCODER. */ + +uint8_t +sframe_encoder_get_version (sframe_encoder_ctx *encoder) +{ + sframe_header *ehp; + ehp =3D sframe_encoder_get_header (encoder); + return ehp->sfh_preamble.sfp_version; +} + /* Return the number of function descriptor entries in the SFrame encoder ENCODER. */