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
__11DDmaRequestR11TDmaChannelPFQ211DDmaRequest7TResultPv_vPvi @ 1 NONAME ; DDmaRequest::DDmaRequest(TDmaChannel &, void (*)(DDmaRequest::TResult, void *), void *, int)
Close__11TDmaChannel @ 2 NONAME ; TDmaChannel::Close(void)
DmaTestInfo__Fv @ 3 NONAME ; DmaTestInfo(void)
ExpandDesList__11DDmaRequesti @ 4 NONAME ; DDmaRequest::ExpandDesList(int)
Fragment__11DDmaRequestUlUliUiUl @ 5 NONAME ; DDmaRequest::Fragment(unsigned long, unsigned long, int, unsigned int, unsigned long)
FreeDesList__11DDmaRequest @ 6 NONAME ; DDmaRequest::FreeDesList(void)
Open__11TDmaChannelRCQ211TDmaChannel11SCreateInfoRP11TDmaChannel @ 7 NONAME ; TDmaChannel::Open(TDmaChannel::SCreateInfo const &, TDmaChannel *&)
Queue__11DDmaRequest @ 8 NONAME ; DDmaRequest::Queue(void)
"_._11DDmaRequest" @ 9 NONAME ; DDmaRequest::~DDmaRequest(void)
CancelAll__11TDmaChannel @ 10 NONAME ; TDmaChannel::CancelAll(void)
StaticExtension__11TDmaChanneliPv @ 11 NONAME ; TDmaChannel::StaticExtension(int, void *)