freebsd-nq/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 Merge libcxxrt master fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6 2022-03-09 20:45:01 +01:00
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 Merge libcxxrt master fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6 2022-03-09 20:45:01 +01:00
LICENSE
memory.cc Reapply libcxxrt atomics cleanup commit, preparing for upstream fix 2022-03-20 22:25:35 +01:00
noexception.cc Merge libcxxrt master fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6 2022-03-09 20:45:01 +01:00
stdexcept.cc
stdexcept.h
terminate.cc
typeinfo.cc
typeinfo.h
unwind-arm.h Remove compat hacks from libcxxrt's _Unwind_Exception 2022-03-09 18:25:18 +01:00
unwind-itanium.h Remove compat hacks from libcxxrt's _Unwind_Exception 2022-03-09 18:25:18 +01:00
unwind.h