[PATCH 00/10] Patches for libsframe versioning and symbol versioning
Indu Bhagat
indu.bhagat@oracle.com
Fri Jun 23 04:44:38 GMT 2023
Hi,
This patch set adds versioning support to libsframe, which is needed to manage
the upcoming ABI breaking changes (some of which are included in this
patchset). It also adds symbol versioning for libsframe. As the library is
still evolving, it will be better to add symbol versioning support now.
I would like some more eyes on this sort of thing, especially the three patches:
[1/10] libsframe: add library versioning
[3/10] libsframe: add symbol versioning
[10/10] binutils/NEWS: add note about upcoming libsframe changes
Testing notes:
- Regression tested various cross-builds on x86_64
- try bot does not show any new failures
- Build works on Solaris, mingw, cygwin
- Also regression tested on a FreeBSD VM
Further details for the patch series:
The first release of the library (libsframe.so.0) had unversioned
symbols. The next release of the library (libsframe.so.1) will have versioned
symbols with version node name LIBSFRAME_1.0. As libsframe.so.0 ->
libsframe.so.1 indicates an ABI break, I realised that including the patches:
[4/10] libsframe: update the semantics of sframe_fre_get_ra_offset
[5/10] libsframe: update the semantics of sframe_fre_get_fp_offset
can be safely done. My previous question to the mailing list, in hindsight,
was a moot point https://sourceware.org/pipermail/binutils/2023-June/127801.html.
After this patchset, I will proceed with further ABI changes, format bump to
SFrame version 2 and its related changes.
Thanks,
Indu Bhagat (10):
libsframe: add library versioning
libsframe: remove sframe_get_funcdesc_with_addr API
libsframe: add symbol versioning
libsframe: update the semantics of sframe_fre_get_ra_offset
libsframe: update the semantics of sframe_fre_get_fp_offset
libsframe: use uint32_t for fre_type and fde_type function args
bfd: libsframe: use uint32_t for return type of sframe_calc_fre_type
libsframe: use uint8_t instead of unsigned char for abi_arch
libsframe: use uint8_t for return type of sframe_fre_get_base_reg_id
binutils/NEWS: add note about upcoming libsframe changes
bfd/elf-sframe.c | 2 +-
bfd/elfxx-x86.c | 2 +-
binutils/NEWS | 6 +++
include/sframe-api.h | 21 ++++----
libsframe/Makefile.am | 15 ++++++
libsframe/Makefile.in | 14 +++++-
libsframe/configure | 63 ++++++++++++++++++++++-
libsframe/configure.ac | 28 +++++++++++
libsframe/libsframe.ver | 36 +++++++++++++
libsframe/libtool-version | 30 +++++++++++
libsframe/sframe-dump.c | 20 +++++---
libsframe/sframe.c | 103 +++++++++++++++++++++++---------------
12 files changed, 277 insertions(+), 63 deletions(-)
create mode 100644 libsframe/libsframe.ver
create mode 100644 libsframe/libtool-version
--
2.39.2
More information about the Binutils
mailing list