Restore MODE=dbg support

We recently broke MODE=dbg support when we added C++ exception support.
This change adds the missing UBSAN interfaces, needed to get it working
again. Some of the ASAN checking in the SJLJ guts needed to be disabled
since I doubt anyone's combined the two features until now.
This commit is contained in:
Justine Tunney 2024-01-26 23:07:18 -08:00
parent f27808c4d2
commit c1e18e7903
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
5 changed files with 34 additions and 38 deletions

View file

@ -202,7 +202,7 @@ enum
/// @link http://dwarfstd.org/Dwarf4.pdf @unlink
/// @param data reference variable holding memory pointer to decode from
/// @returns decoded value
static
static dontasan
uintptr_t
readULEB128(const uint8_t** data)
{
@ -225,7 +225,7 @@ readULEB128(const uint8_t** data)
/// @link http://dwarfstd.org/Dwarf4.pdf @unlink
/// @param data reference variable holding memory pointer to decode from
/// @returns decoded value
static
static dontasan
intptr_t
readSLEB128(const uint8_t** data)
{
@ -542,7 +542,7 @@ struct scan_results
} // unnamed namespace
static
static dontasan
void
set_registers(_Unwind_Exception* unwind_exception, _Unwind_Context* context,
const scan_results& results)
@ -581,6 +581,7 @@ set_registers(_Unwind_Exception* unwind_exception, _Unwind_Context* context,
_UA_CLEANUP_PHASE && !_UA_HANDLER_FRAME
*/
dontasan
static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
bool native_exception,
_Unwind_Exception *unwind_exception,
@ -911,6 +912,7 @@ static _Unwind_Reason_Code __gxx_personality_imp
#else
_LIBCXXABI_FUNC_VIS _Unwind_Reason_Code
#ifdef __USING_SJLJ_EXCEPTIONS__
dontasan
__gxx_personality_sj0
#elif defined(__MVS__)
__zos_cxx_personality_v2