llvm-project/libunwind
Peter S. Housel bab3981608 [libunwind] Add an interface for dynamic .eh_frame registration
The libgcc runtime library provides __register_frame and
__deregister_frame functions, which can be used by dynamic code
generators to register an .eh_frame section, which contains one or
more Call Frame Information records, each consisting of a Common
Information Entry record followed by one or more Frame Description
Entry records. This libunwind library also provides __register_frame
and __deregister_frame functions, but they are aliases for
__unw_add_dynamic_fde and __unw_remove_dynamic_fde and thus can only
take a single FDE.

This patch adds __unw_add_dynamic_eh_frame_section and
__unw_remove_dynamic_eh_frame_section functions which explicitly use
the .eh_frame format. Clients such as the ORCv2 platform and runtime
can check for these functions and use them if unwinding is being
provided by libunwind, or fall back to __register_frame and
__deregister_frame if unwinding is provided by libgcc.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D111863
2021-11-18 08:06:46 -08:00
..
cmake [libunwind] Try to add --unwindlib=none while configuring and building libunwind 2021-11-05 10:10:19 +02:00
docs Bump the trunk major version to 14 2021-07-27 21:58:25 -07:00
include [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
src [libunwind] Add an interface for dynamic .eh_frame registration 2021-11-18 08:06:46 -08:00
test [libunwind][AIX] Mark signal_frame.pass.cpp UNSUPPORTED on AIX 2021-11-18 10:24:58 -05:00
.clang-format
CMakeLists.txt [libunwind] Try to add --unwindlib=none while configuring and building libunwind 2021-11-05 10:10:19 +02:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00