Overview
Comment: | Don't call into C++ EH personality on 68k AmigaOS |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4763da1d8d92296ad52c56d5ae7baefe |
User & Date: | js on 2024-11-04 00:19:49 |
Other Links: | manifest | tags |
Context
2024-11-04
| ||
00:23 | Add missing nullability for __getmainargs() check-in: 52d24aa522 user: js tags: trunk | |
00:19 | Don't call into C++ EH personality on 68k AmigaOS check-in: 4763da1d8d user: js tags: trunk | |
00:11 | Fix missing #ifdef in ObjFW.h check-in: a5b3cd8cce user: js tags: trunk | |
Changes
Modified src/runtime/exception.m from [4a8fb62c93] to [7f6288ce90].
︙ | ︙ | |||
233 234 235 236 237 238 239 | _Unwind_SetIP(struct _Unwind_Context *ctx, uintptr_t value) { uintptr_t thumb = _Unwind_GetGR(ctx, 15) & 1; _Unwind_SetGR(ctx, 15, (value | thumb)); } #endif | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | _Unwind_SetIP(struct _Unwind_Context *ctx, uintptr_t value) { uintptr_t thumb = _Unwind_GetGR(ctx, 15) & 1; _Unwind_SetGR(ctx, 15, (value | thumb)); } #endif #if defined(CXX_PERSONALITY_STR) && !defined(OF_AMIGAOS_M68K) static PERSONALITY_FUNC(cxx_personality) OF_WEAK_REF(CXX_PERSONALITY_STR); #endif #ifdef __SEH__ extern EXCEPTION_DISPOSITION _GCC_specific_handler(PEXCEPTION_RECORD, void *, PCONTEXT, PDISPATCHER_CONTEXT, _Unwind_Reason_Code (*)(int, int, uint64_t, struct _Unwind_Exception *, struct _Unwind_Context *)); |
︙ | ︙ | |||
611 612 613 614 615 616 617 | struct LSDA LSDA; uintptr_t landingpad = 0; uint8_t found = 0; intptr_t filter = 0; if (foreign) { switch (exClass) { | | | 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | struct LSDA LSDA; uintptr_t landingpad = 0; uint8_t found = 0; intptr_t filter = 0; if (foreign) { switch (exClass) { #if defined(CXX_PERSONALITY_STR) && !defined(OF_AMIGAOS_M68K) case GNUCCXX0_EXCEPTION_CLASS: case CLNGCXX0_EXCEPTION_CLASS: if (cxx_personality != NULL) return CALL_PERSONALITY(cxx_personality); break; #endif } |
︙ | ︙ |