libsframe: remove sframe_get_funcdesc_with_addr API
authorIndu Bhagat <indu.bhagat@oracle.com>
Tue, 27 Jun 2023 18:53:40 +0000 (11:53 -0700)
committerIndu Bhagat <indu.bhagat@oracle.com>
Tue, 27 Jun 2023 19:01:56 +0000 (12:01 -0700)
commit852bb8c10de8abef79f0771dca879ddc8e4298b3
tree95c7ab78b2dd5daa2b7f54e4bcf4321f14b549a5
parentb91671f3f99a75be6573287e543b6eacb4acb895
libsframe: remove sframe_get_funcdesc_with_addr API

This is an incompatible ABI change in libsframe.

The interface provided by this function is not a healthy abstraction to
expose: the return type 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 a stack tracer.  A
stack tracer will likely only need to do a sframe_find_fre ().

Rename the API to continue to use the functionality internally in the
library.  bfd/linker does not use this function.

Change the return type of the previous definition and make a note about
its planned deprecation.

include/
* sframe-api.h:  Change return type of sframe_get_funcdesc_with_addr.
Add comment for intention to deprecate.
libsframe/
*sframe.c (sframe_get_funcdesc_with_addr): Change return type
and set error code. This API is deprecated.
        (sframe_get_funcdesc_with_addr_internal): New definition for
internal use.
(sframe_find_fre): Use sframe_get_funcdesc_with_addr_internal
instead.
include/sframe-api.h
libsframe/sframe.c