freebsd-skq/contrib/llvm
emaste f3714efe33 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
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D8869
2016-12-21 14:06:44 +00:00
..
include Update llvm, clang, lld and lldb to release_39 branch r288513. 2016-12-02 19:36:28 +00:00
lib Merge ^/head r309817 through r310168. 2016-12-16 18:38:31 +00:00
patches Undo r289072, which reverted upstream llvm trunk r240144. This is going 2016-01-16 17:57:54 +00:00
projects/libunwind libunwind: make __{de,}register_frame compatible with libgcc API 2016-12-21 14:06:44 +00:00
tools Merge llvm, clang, lld, lldb, compiler-rt and libc++ 3.9.1 release 2016-12-16 18:30:53 +00:00
utils/TableGen Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
FREEBSD-Xlist Update FREEBSD-Xlist files for llvm and clang. 2015-05-27 20:58:54 +00:00
LICENSE.TXT Update llvm to release_39 branch r278877. 2016-08-17 19:41:29 +00:00