[PATCH,V2 2/3] libsframe: bump version to 2.0

Indu Bhagat indu.bhagat@oracle.com
Wed Jul 9 20:06:09 GMT 2025


Create a new LIBSFRAME_2.0 entry (non-inheritance version) to create new
global versioned symbols.

New APIs:
     sframe_decoder_get_flags;
     sframe_decoder_get_offsetof_fde_start_addr;
     sframe_encoder_get_flags;
     sframe_encoder_get_offsetof_fde_start_addr;

Removed APIs: (already deprecated since X-2 release)
     sframe_get_funcdesc_with_addr;

APIs with changed semantics:
     sframe_decoder_get_funcdesc_v2;
     sframe_encoder_add_funcdesc_v2;
     sframe_encoder_write;

lisbframe/
	* libsframe.ver: Define new LIBSFRAME_2.0.
	* libtool-version: Bump the 'current' numeral to indicate a binary
	incompatible release.
include/
	* sframe-api.h (sframe_get_funcdesc_with_addr): Remove
	deprecated interface.
libsframe/
	* sframe.c (sframe_get_funcdesc_with_addr): Likewise.
---
 include/sframe-api.h      |  8 --------
 libsframe/libsframe.ver   | 40 +++++++++++++++++++++++++++++++++++++--
 libsframe/libtool-version |  2 +-
 libsframe/sframe.c        | 12 ------------
 4 files changed, 39 insertions(+), 23 deletions(-)

diff --git a/include/sframe-api.h b/include/sframe-api.h
index 3dc18b6ad39..eb4afc804e1 100644
--- a/include/sframe-api.h
+++ b/include/sframe-api.h
@@ -153,14 +153,6 @@ 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.
-
-   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/libsframe.ver b/libsframe/libsframe.ver
index 06324eecfc5..b49bbde02cc 100644
--- a/libsframe/libsframe.ver
+++ b/libsframe/libsframe.ver
@@ -39,9 +39,45 @@ LIBSFRAME_1.0 {
     *;
 } LIBSFRAME_0.0;
 
-LIBSFRAME_1.1 {
+LIBSFRAME_2.0 {
+  global:
+    sframe_decoder_free;
+    sframe_fde_create_func_info;
+    sframe_calc_fre_type;
+    sframe_fre_get_base_reg_id;
+    sframe_fre_get_cfa_offset;
+    sframe_fre_get_fp_offset;
+    sframe_fre_get_ra_offset;
+    sframe_fre_get_ra_mangled_p;
+    sframe_decode;
     sframe_decoder_get_flags;
+    sframe_decoder_get_hdr_size;
+    sframe_decoder_get_abi_arch;
+    sframe_decoder_get_version;
     sframe_decoder_get_offsetof_fde_start_addr;
+    sframe_decoder_get_fixed_fp_offset;
+    sframe_decoder_get_fixed_ra_offset;
+    sframe_find_fre;
+    sframe_decoder_get_num_fidx;
+    sframe_decoder_get_funcdesc;
+    sframe_decoder_get_funcdesc_v2;
+    sframe_decoder_get_fre;
+    sframe_encode;
+    sframe_encoder_free;
     sframe_encoder_get_flags;
+    sframe_encoder_get_hdr_size;
+    sframe_encoder_get_abi_arch;
+    sframe_encoder_get_version;
     sframe_encoder_get_offsetof_fde_start_addr;
-} LIBSFRAME_1.0;
+    sframe_encoder_get_num_fidx;
+    sframe_encoder_add_fre;
+    sframe_encoder_add_funcdesc;
+    sframe_encoder_add_funcdesc_v2;
+    sframe_encoder_write;
+    dump_sframe;
+    dump_sframe_reloc;
+    sframe_errmsg;
+
+  local:
+    *;
+} LIBSFRAME_0.0;
diff --git a/libsframe/libtool-version b/libsframe/libtool-version
index 9dcbe48e47d..e06835d7c65 100644
--- a/libsframe/libtool-version
+++ b/libsframe/libtool-version
@@ -27,4 +27,4 @@
 #       then set age to 0.
 #
 # CURRENT:REVISION:AGE
-1:0:0
+2:0:0
diff --git a/libsframe/sframe.c b/libsframe/sframe.c
index 5c3337670e1..e53abe798f9 100644
--- a/libsframe/sframe.c
+++ b/libsframe/sframe.c
@@ -1060,18 +1060,6 @@ sframe_decoder_get_offsetof_fde_start_addr (sframe_decoder_ctx *dctx,
 	  + offsetof (sframe_func_desc_entry, sfde_func_start_address));
 }
 
-/* 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.  */
 
-- 
2.43.0



More information about the Binutils mailing list