aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorPeter S. Housel <housel@acm.org>2021-10-14 13:31:05 -0700
committerPeter S. Housel <housel@acm.org>2021-11-18 08:06:46 -0800
commitbab39816085d715e52c2131fa249ccd10178764b (patch)
tree8b6fd0c4817a07ae5617618c4d7bf56cb96e496c /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent18ba57a53a818bc155aa7d1f65dca79879aa5683 (diff)
downloadllvm-bab39816085d715e52c2131fa249ccd10178764b.zip
llvm-bab39816085d715e52c2131fa249ccd10178764b.tar.gz
llvm-bab39816085d715e52c2131fa249ccd10178764b.tar.bz2
[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
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions