]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
unwinder: generate backtrace using SFrame format
authorWeimin Pan <weimin.pan@oracle.com>
Tue, 27 Sep 2022 21:58:04 +0000 (14:58 -0700)
committerIndu Bhagat <indu.bhagat@oracle.com>
Sun, 23 Mar 2025 18:32:25 +0000 (11:32 -0700)
commit5abc6d92658da4cc21652d99230a7b23c309f7b4
treeeb6f6ad1cfd7ae8cf2ea8411c38693e81e5cd00f
parentdf1ed5c0d4935c62b8951fd83a1e37e775ba90a5
unwinder: generate backtrace using SFrame format

[Changes in V4]
  - Renamed ESFRAME_* enum error code names to SFRAME_ERR_*.
  - Addressed review comments by Mike.
    - Use AC_CACHE_CHECK macro in sframe.m4
    - Delete config/sframe.m4. Add into libsframe/acinclude.m4.
    - Code fixups.
[End of changes in V4]

[Changes in V3]
  - Use the updated APIs from libsframe.
  - Use sframe_decoder_get_fixed_ra_offset on AMD64 instead of magic
    number -8.
[End of changes in V3]

[Changes in V2]
  - Minor formatting fixes.
[End of changes in V2]

A simple unwinder based on SFrame format.

The unwinder is made available via libsframebt library.

Buildsystem changes have been made to build libsframebt only when
--gsframe support is available in the assembler. These buildsystem
changes are necessary because the SFrame based unwinder the SFrame
unwind info for itself to work.

include/ChangeLog:

* sframe-backtrace-api.h: New file.

ChangeLog:

* libsframe/acinclude.m4: New file.
* libsframe/Makefile.am: Build backtrace functionality in its
own library.  Install libsframebt conditionally.
* libsframe/Makefile.in: Regenerate.
* libsframe/aclocal.m4: Regenerate.
* libsframe/configure: Regenerate.
* libsframe/configure.ac: Check if gas supports --gsframe
command line option.
* libsframe/sframe-backtrace-err.c: New file.
* libsframe/sframe-backtrace.c: New file.
include/sframe-backtrace-api.h [new file with mode: 0644]
libsframe/Makefile.am
libsframe/Makefile.in
libsframe/acinclude.m4 [new file with mode: 0644]
libsframe/aclocal.m4
libsframe/configure
libsframe/configure.ac
libsframe/sframe-backtrace-err.c [new file with mode: 0644]
libsframe/sframe-backtrace.c [new file with mode: 0644]