freebsd-dev/contrib/libcxxrt
Mark Johnston cbd1e83154 Merge libcxxrt commit 5d8a15823a103bbc27f1bfdcf2b5aa008fab57dd
Fix two bugs in __cxa_end_cleanup()

  Per the EHABI32 specification, __cxa_end_cleanup must take care to
  preserve registers before calling _Unwind_Resume().  So, libcxxrt uses
  an assembly stub which preserves caller-saved registers around the call
  to __cxa_get_cleanup().  But:
  - it failed to restore them properly,
  - it did not preserve the link register.

  Fix both of these problems.  This is needed to fix exception unwinding
  on FreeBSD with LLVM 14.  Note that r4 is callee-saved but is pushed
  onto the stack to preserve stack pointer alignment.

  Sponsored-by: The FreeBSD Foundation

MFC after:	1 week
2022-08-08 12:50:48 -04:00
..
abi_namespace.h
atomic.h Reapply libcxxrt atomics cleanup commit, preparing for upstream fix 2022-03-20 22:25:35 +01:00
auxhelper.cc
cxxabi.h Merge libcxxrt commit 45ca8b1942090226ba9368caeeeabc0d4ee41ad6 2022-04-19 18:11:11 +02:00
dwarf_eh.h
dynamic_cast.cc
exception.cc Merge libcxxrt commit 5d8a15823a103bbc27f1bfdcf2b5aa008fab57dd 2022-08-08 12:50:48 -04:00
FREEBSD-upgrade
guard.cc Merge libcxxrt commit f2e55091e2e878386c9f7974d4922bbdc4faed84 2022-03-20 22:34:41 +01:00
libelftc_dem_gnu3.c
LICENSE
memory.cc Reapply libcxxrt atomics cleanup commit, preparing for upstream fix 2022-03-20 22:25:35 +01:00
noexception.cc
stdexcept.cc
stdexcept.h
terminate.cc
typeinfo.cc
typeinfo.h
unwind-arm.h
unwind-itanium.h
unwind.h