freebsd-dev/contrib/llvm-project/libunwind/src
Dimitry Andric 9f287522ce Reapply r310365 (by emaste):
libunwind: make __{de,}register_frame compatible with libgcc API

The libgcc __register_frame and __deregister_frame functions take a
pointer to a set of FDE/CIEs, terminated by an entry where length is 0.

In Apple's libunwind implementation the pointer is taken to be to a
single FDE. I suspect this was just an Apple bug, compensated by Apple-
specific code in LLVM.

See lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp and
http://lists.llvm.org/pipermail/llvm-dev/2013-April/061737.html
for more detail.

This change is based on the LLVM RTDyldMemoryManager.cpp. It should
later be changed to be alignment-safe.

Reported by:	dim
Reviewed by:	dim
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D8869

Reapply r351610:

Update libunwind custom frame register and deregister functions for
FreeBSD: use the new doubly underscored names for unw_add_dynamic_fde
and unw_remove_dynamic_fde.

NOTE: this should be upstreamed...
2020-08-02 18:12:14 +00:00
..
AddressSpace.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
assembly.h Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
CompactUnwinder.hpp
config.h Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
dwarf2.h
DwarfInstructions.hpp Merge ^/vendor/lvm-project/master up to its last change (upstream commit 2020-01-24 22:00:03 +00:00
DwarfParser.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
EHHeaderParser.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
FrameHeaderCache.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
libunwind_ext.h
libunwind.cpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
Registers.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
RWMutex.hpp Merge ^/vendor/lvm-project/master up to its last change (upstream commit 2020-01-24 22:00:03 +00:00
Unwind_AppleExtras.cpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
Unwind-EHABI.cpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
Unwind-EHABI.h
Unwind-seh.cpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
Unwind-sjlj.c Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
UnwindCursor.hpp Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
UnwindLevel1-gcc-ext.c Reapply r310365 (by emaste): 2020-08-02 18:12:14 +00:00
UnwindLevel1.c Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
UnwindRegistersRestore.S Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00
UnwindRegistersSave.S Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2020-07-31 21:22:58 +00:00