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 effectively 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.