[PATCH, RESEND 3/4] libsframe: remove old sframe_encoder_add_funcdesc, make it internal

Indu Bhagat indu.bhagat@oracle.com
Mon Nov 3 20:02:25 GMT 2025


sframe_decoder_add_funcdesc () was added for SFRAME_VERSION_1.  This has
since been obsoleted by introduction of SFRAME_VERSION_2 and its
corresponding sframe_decoder_add_funcdesc_v2 API.

Also remove from the version script file as well.  We will bump the
version of the library before release, and consolidate the entries into
a new LIBSFRAME_3.0 node soon for SFrame V3 release.

Keep the API as an internal one: sframe_encoder_add_funcdesc_internal
(). Ensure it returns the error code for the caller to take necessary
action or pass to user.

include/
        * sframe-api.h (sframe_encoder_add_funcdesc): Remove.

libsframe/
        * libsframe.ver: Likewise.
        * sframe.c (sframe_encoder_add_funcdesc): Rename to
	sframe_encoder_add_funcdesc_internal.
        (sframe_encoder_add_funcdesc_v2): Use the new internal API.
---
 include/sframe-api.h    |  9 ---------
 libsframe/libsframe.ver |  1 -
 libsframe/sframe.c      | 26 +++++++++++---------------
 3 files changed, 11 insertions(+), 25 deletions(-)

diff --git a/include/sframe-api.h b/include/sframe-api.h
index 7084a4377bf..375e1decf5e 100644
--- a/include/sframe-api.h
+++ b/include/sframe-api.h
@@ -277,15 +277,6 @@ sframe_encoder_add_fre (sframe_encoder_ctx *encoder,
 			unsigned int func_idx,
 			sframe_frame_row_entry *frep);
 
-/* Add a new function descriptor entry with START_ADDR, FUNC_SIZE and NUM_FRES
-   to the encoder.  */
-extern int
-sframe_encoder_add_funcdesc (sframe_encoder_ctx *encoder,
-			     int32_t start_addr,
-			     uint32_t func_size,
-			     unsigned char func_info,
-			     uint32_t num_fres);
-
 /* Add a new function descriptor entry with START_ADDR, FUNC_SIZE, FUNC_INFO
    and REP_BLOCK_SIZE to the encoder.  */
 extern int
diff --git a/libsframe/libsframe.ver b/libsframe/libsframe.ver
index 15a5de4725d..85628c09b2c 100644
--- a/libsframe/libsframe.ver
+++ b/libsframe/libsframe.ver
@@ -31,7 +31,6 @@ LIBSFRAME_2.0 {
     sframe_encoder_get_offsetof_fde_start_addr;
     sframe_encoder_get_num_fidx;
     sframe_encoder_add_fre;
-    sframe_encoder_add_funcdesc;
     sframe_encoder_add_funcdesc_v2;
     sframe_encoder_write;
     dump_sframe;
diff --git a/libsframe/sframe.c b/libsframe/sframe.c
index 146b6d8fd0f..c09a736e88a 100644
--- a/libsframe/sframe.c
+++ b/libsframe/sframe.c
@@ -1729,24 +1729,20 @@ bad:
 }
 
 /* Add a new function descriptor entry with START_ADDR, FUNC_SIZE and NUM_FRES
-   to the encoder.  */
+   to the ENCODER.  Caller must make sure ENCODER exists.  */
 
-int
-sframe_encoder_add_funcdesc (sframe_encoder_ctx *encoder,
-			     int32_t start_addr,
-			     uint32_t func_size,
-			     unsigned char func_info,
-			     uint32_t num_fres ATTRIBUTE_UNUSED)
+static int
+sframe_encoder_add_funcdesc_internal (sframe_encoder_ctx *encoder,
+				      int32_t start_addr,
+				      uint32_t func_size,
+				      unsigned char func_info,
+				      uint32_t num_fres ATTRIBUTE_UNUSED)
 {
   sframe_header *ehp;
   sf_fde_tbl *fd_info;
   size_t fd_tbl_sz;
   int err = 0;
 
-  /* FIXME book-keep num_fres for error checking.  */
-  if (encoder == NULL)
-    return sframe_set_errno (&err, SFRAME_ERR_INVAL);
-
   fd_info = encoder->sfe_funcdesc;
   ehp = sframe_encoder_get_header (encoder);
 
@@ -1804,7 +1800,7 @@ bad:
     free (fd_info);
   encoder->sfe_funcdesc = NULL;
   ehp->sfh_num_fdes = 0;
-  return -1;
+  return err;
 }
 
 /* Add a new function descriptor entry with START_ADDR, FUNC_SIZE, FUNC_INFO
@@ -1827,10 +1823,10 @@ sframe_encoder_add_funcdesc_v2 (sframe_encoder_ctx *encoder,
       || sframe_encoder_get_version (encoder) == SFRAME_VERSION_1)
     return sframe_set_errno (&err, SFRAME_ERR_INVAL);
 
-  err = sframe_encoder_add_funcdesc (encoder, start_addr, func_size, func_info,
-				     num_fres);
+  err = sframe_encoder_add_funcdesc_internal (encoder, start_addr, func_size,
+					      func_info, num_fres);
   if (err)
-    return SFRAME_ERR;
+    return err;
 
   fd_info = encoder->sfe_funcdesc;
   fd_info->entry[fd_info->count-1].sfde_func_rep_size = rep_block_size;
-- 
2.43.0



More information about the Binutils mailing list