From: Indu Bhagat <indu.bhagat@oracle.com>
To: binutils@sourceware.org
Subject: Changes to libsframe ABI
Date: Thu, 11 May 2023 23:39:29 -0700 [thread overview]
Message-ID: <d98c2602-4e70-b238-eb1c-75ed3554c7e5@oracle.com> (raw)
Hi,
I have been contemplating a change to the libsframe ABI which is
breaking it in theory, but should be fine in practice. I need some
inputs on whether this is OK to do.
I would like to make an existing API sframe_get_funcdesc_with_addr ()
static. The interface provided by this function is not a healthy
abstraction to expose: the return type is sframe_func_desc_entry, which
is defined in include/sframe.h (the SFrame binary format definition).
This ties up the library in a undesirable way. Most importantly, this
function should technically not be directly necessary for _any_ external
customer, like a stack tracer. A stack tracer should only need to do a
sframe_find_fre ().
I would like to make it static because this API should only be needed
(and used) internally in the library, at least in the current form.
Is it okay to make such a change ? The first release of libsframe was
Binutils 2.40. I do not expect any users of
sframe_get_funcdesc_with_addr () out there currently. IMO, this is OK to
do. WDYT ?
A larger question still looms over as well: The library is young at this
time, and making guarantees of a stable ABI in the current shape looks
limiting to me. Apart from the above change, I would also like to make
some further changes to other existing APIs (which will also break the
ABI). How can this be managed without causing pain ?
Thanks,
Indu
next reply other threads:[~2023-05-12 6:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 6:39 Indu Bhagat [this message]
2023-05-15 11:13 ` Nick Clifton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d98c2602-4e70-b238-eb1c-75ed3554c7e5@oracle.com \
--to=indu.bhagat@oracle.com \
--cc=binutils@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).