mirror of
https://git.FreeBSD.org/src.git
synced 2024-11-21 07:15:49 +00:00
libcxxrt: Add a stub implementation of __cxa_call_terminate
This function is called by GCC 14 if a destructor invoked during exception unwinding throws an exception. Reviewed by: emaste Obtained from: libcxxrt commit 391a3dcc1054e18c2f0dff4e14d6d79ac95399d7 Differential Revision: https://reviews.freebsd.org/D46004
This commit is contained in:
parent
47656cc1ef
commit
297a9e552b
@ -1433,6 +1433,19 @@ extern "C" void __cxa_call_unexpected(void*exception)
|
||||
abort();
|
||||
}
|
||||
|
||||
/**
|
||||
* ABI function, called when an object destructor exits due to an
|
||||
* exception during stack unwinding.
|
||||
*
|
||||
* This function does not return.
|
||||
*/
|
||||
extern "C" void __cxa_call_terminate(void *exception) throw()
|
||||
{
|
||||
std::terminate();
|
||||
// Should not be reached.
|
||||
abort();
|
||||
}
|
||||
|
||||
/**
|
||||
* ABI function, returns the adjusted pointer to the exception object.
|
||||
*/
|
||||
|
@ -253,6 +253,10 @@ CXXABI_1.3.11 {
|
||||
__cxa_init_primary_exception;
|
||||
} CXXABI_1.3.9;
|
||||
|
||||
CXXABI_1.3.15 {
|
||||
__cxa_call_terminate;
|
||||
} CXXABI_1.3.11;
|
||||
|
||||
CXXRT_1.0 {
|
||||
|
||||
extern "C++" {
|
||||
|
@ -254,6 +254,10 @@ CXXABI_1.3.11 {
|
||||
__cxa_init_primary_exception;
|
||||
} CXXABI_1.3.9;
|
||||
|
||||
CXXABI_1.3.15 {
|
||||
__cxa_call_terminate;
|
||||
} CXXABI_1.3.11;
|
||||
|
||||
CXXRT_1.0 {
|
||||
|
||||
extern "C++" {
|
||||
|
Loading…
Reference in New Issue
Block a user