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
..
2022-04-18 14:52:30 -07:00
2022-07-27 09:00:30 -07:00
2022-06-06 21:12:36 +02:00
2022-01-18 08:10:33 -08:00
2021-12-06 16:36:44 -05:00
2022-02-05 21:55:03 -05:00
2022-07-03 17:11:09 -07:00
2022-02-22 19:34:28 +01:00
2021-07-17 22:20:44 -07:00
2021-12-06 16:36:44 -05:00
2021-11-06 16:24:36 -06:00
2021-11-05 09:39:56 +01:00
2021-05-20 00:12:27 +03:00
2022-08-05 18:44:40 -07:00