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 -*-
* 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
and processing SFrame V2 stack trace information (.sframe). The assembler
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
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. */

View File

@@ -1,6 +1,6 @@
LIBSFRAME_0.0 { };
LIBSFRAME_1.0 {
LIBSFRAME_2.0 {
global:
sframe_decoder_free;
sframe_fde_create_func_info;
@@ -11,12 +11,13 @@ LIBSFRAME_1.0 {
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_get_funcdesc_with_addr;
sframe_find_fre;
sframe_decoder_get_num_fidx;
sframe_decoder_get_funcdesc;
@@ -24,9 +25,11 @@ LIBSFRAME_1.0 {
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;
sframe_encoder_get_num_fidx;
sframe_encoder_add_fre;
sframe_encoder_add_funcdesc;
@@ -38,10 +41,3 @@ LIBSFRAME_1.0 {
local:
*;
} 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.
#
# 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));
}
/* 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. */