1) Swapping to c++ instead of assembly implementations of several kernel APIs to avoid calling probably broken implementations of __EH_FRAME_?? macros
2) Commenting out otherwise unavoidable calls to __EH_FRAME_?? macros in uc_exe.cia. This is a temporary hack.
Both changes to see if they get past an early kernel panic in the Syborg ROM from the current build:
EH ERROR: no exception descriptor for address 0x801eb277
Thread efile.exe::Main Panic USER-EXEC 3
EXPORTS
CreatePhysicalDevice__Fv @ 1 NONAME R3UNUSED ; CreatePhysicalDevice(void)
StaticExtension__6IicBusUiUiPvT3 @ 2 NONAME ; IicBus::StaticExtension(unsigned int, unsigned int, void *, void *)
CaptureChannel__6IicBusiP5TDes8P20TIicBusSlaveCallbackRii @ 3 NONAME ; IicBus::CaptureChannel(int, TDes8 *, TIicBusSlaveCallback *, int &, int)
DeRegisterChannel__17DIicBusControllerP14DIicBusChannel @ 4 NONAME R3UNUSED ; DIicBusController::DeRegisterChannel(DIicBusChannel *)
DfcFunc__20TIicBusSlaveCallbackPv @ 5 NONAME R3UNUSED ; TIicBusSlaveCallback::DfcFunc(void *)
QueueTransaction__6IicBusiP18TIicBusTransaction @ 6 NONAME R3UNUSED ; IicBus::QueueTransaction(int, TIicBusTransaction *)
QueueTransaction__6IicBusiP18TIicBusTransactionP15TIicBusCallback @ 7 NONAME R3UNUSED ; IicBus::QueueTransaction(int, TIicBusTransaction *, TIicBusCallback *)
RegisterChannels__17DIicBusControllerPP14DIicBusChanneli @ 8 NONAME R3UNUSED ; DIicBusController::RegisterChannels(DIicBusChannel **, int)
RegisterRxBuffer__6IicBusiG5TPtr8ScScSc @ 9 NONAME ; IicBus::RegisterRxBuffer(int, TPtr8, signed char, signed char, signed char)
RegisterTxBuffer__6IicBusiG5TPtr8ScScSc @ 10 NONAME ; IicBus::RegisterTxBuffer(int, TPtr8, signed char, signed char, signed char)
ReleaseChannel__6IicBusi @ 11 NONAME R3UNUSED ; IicBus::ReleaseChannel(int)
SetNotificationTrigger__6IicBusii @ 12 NONAME R3UNUSED ; IicBus::SetNotificationTrigger(int, int)
CancelTransaction__6IicBusiP18TIicBusTransaction @ 13 NONAME R3UNUSED ; IicBus::CancelTransaction(int, TIicBusTransaction *)