libsframe: bump version to 2.0

Remove LIBSFRAME_1.1, LIBSFRAME_1.0 nodes and add a new LIBSFRAME_2.0
node (non-inheritance version) to create new global versioned symbols.
Also announce libsframe.so.2 in NEWS.

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.
binutils/
	* NEWS: Announce new versioned release of libsframe.
This commit is contained in:
Indu Bhagat
2025-07-12 01:09:17 -07:00
parent ddcac08407
commit 6a959b1270
5 changed files with 18 additions and 30 deletions

View File

@@ -1,5 +1,17 @@
-*- text -*- -*- text -*-
* New versioned release of libsframe: libsframe.so.2. This release introduces
versioned symbols with version node name LIBSFRAME_2.0. Some new symbols
have been added to support the new flag SFRAME_F_FDE_FUNC_START_PCREL and
retrieving flags from SFrame decoder and encoder objects:
- Addition of sframe_decoder_get_flags,
sframe_decoder_get_offsetof_fde_start_addr, sframe_encoder_get_flags,
sframe_encoder_get_offsetof_fde_start_addr.
This release also includes backward-incompatible ABI changes:
- Removal of sframe_get_funcdesc_with_addr.
- Change in the behavior of sframe_decoder_get_funcdesc_v2,
sframe_encoder_add_funcdesc_v2 and sframe_encoder_write.
* On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating * On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating
and processing SFrame V2 stack trace information (.sframe). The assembler and processing SFrame V2 stack trace information (.sframe). The assembler
generates SFrame info from CFI directives with option "--gsframe". The generates SFrame info from CFI directives with option "--gsframe". The

View File

@@ -153,14 +153,6 @@ sframe_decoder_get_fixed_fp_offset (sframe_decoder_ctx *dctx);
extern int8_t extern int8_t
sframe_decoder_get_fixed_ra_offset (sframe_decoder_ctx *dctx); 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 /* Find the SFrame Frame Row Entry which contains the PC. Returns
SFRAME_ERR if failure. */ SFRAME_ERR if failure. */

View File

@@ -1,6 +1,6 @@
LIBSFRAME_0.0 { }; LIBSFRAME_0.0 { };
LIBSFRAME_1.0 { LIBSFRAME_2.0 {
global: global:
sframe_decoder_free; sframe_decoder_free;
sframe_fde_create_func_info; sframe_fde_create_func_info;
@@ -11,12 +11,13 @@ LIBSFRAME_1.0 {
sframe_fre_get_ra_offset; sframe_fre_get_ra_offset;
sframe_fre_get_ra_mangled_p; sframe_fre_get_ra_mangled_p;
sframe_decode; sframe_decode;
sframe_decoder_get_flags;
sframe_decoder_get_hdr_size; sframe_decoder_get_hdr_size;
sframe_decoder_get_abi_arch; sframe_decoder_get_abi_arch;
sframe_decoder_get_version; sframe_decoder_get_version;
sframe_decoder_get_offsetof_fde_start_addr;
sframe_decoder_get_fixed_fp_offset; sframe_decoder_get_fixed_fp_offset;
sframe_decoder_get_fixed_ra_offset; sframe_decoder_get_fixed_ra_offset;
sframe_get_funcdesc_with_addr;
sframe_find_fre; sframe_find_fre;
sframe_decoder_get_num_fidx; sframe_decoder_get_num_fidx;
sframe_decoder_get_funcdesc; sframe_decoder_get_funcdesc;
@@ -24,9 +25,11 @@ LIBSFRAME_1.0 {
sframe_decoder_get_fre; sframe_decoder_get_fre;
sframe_encode; sframe_encode;
sframe_encoder_free; sframe_encoder_free;
sframe_encoder_get_flags;
sframe_encoder_get_hdr_size; sframe_encoder_get_hdr_size;
sframe_encoder_get_abi_arch; sframe_encoder_get_abi_arch;
sframe_encoder_get_version; sframe_encoder_get_version;
sframe_encoder_get_offsetof_fde_start_addr;
sframe_encoder_get_num_fidx; sframe_encoder_get_num_fidx;
sframe_encoder_add_fre; sframe_encoder_add_fre;
sframe_encoder_add_funcdesc; sframe_encoder_add_funcdesc;
@@ -38,10 +41,3 @@ LIBSFRAME_1.0 {
local: local:
*; *;
} LIBSFRAME_0.0; } LIBSFRAME_0.0;
LIBSFRAME_1.1 {
sframe_decoder_get_flags;
sframe_decoder_get_offsetof_fde_start_addr;
sframe_encoder_get_flags;
sframe_encoder_get_offsetof_fde_start_addr;
} LIBSFRAME_1.0;

View File

@@ -27,4 +27,4 @@
# then set age to 0. # then set age to 0.
# #
# CURRENT:REVISION:AGE # CURRENT:REVISION:AGE
1:0:0 2:0:0

View File

@@ -1079,18 +1079,6 @@ sframe_decoder_get_offsetof_fde_start_addr (sframe_decoder_ctx *dctx,
+ offsetof (sframe_func_desc_entry, sfde_func_start_address)); + 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 /* Find the function descriptor entry starting which contains the specified
address ADDR. */ address ADDR. */