Making some Runtime progress

This commit is contained in:
mrshigure 2025-02-04 17:32:13 -08:00
parent c15173cc66
commit 9db40b5649
12 changed files with 1537 additions and 24 deletions

View file

@ -1,7 +1,15 @@
#ifndef _NMWEXCEPTION
#define _NMWEXCEPTION
typedef short vbase_ctor_arg_type;
#include "types.h"
#include "PowerPC_EABI_Support/Runtime/exception.h"
#include "PowerPC_EABI_Support/Runtime/__ppc_eabi_linker.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef s16 vbase_ctor_arg_type;
typedef char local_cond_type;
typedef struct CatchInfo {
@ -9,7 +17,7 @@ typedef struct CatchInfo {
void* typeinfo;
void* dtor;
void* sublocation;
long pointercopy;
s32 pointercopy;
void* stacktop;
} CatchInfo;
@ -19,18 +27,12 @@ typedef struct DestructorChain {
void* object;
} DestructorChain;
#ifdef __cplusplus
extern "C" {
#endif
extern void* __register_global_object(void* object, void* destructor,
void* registration);
extern void* __register_global_object(void* object, void* destructor, void* registration);
extern void __destroy_global_chain(void);
extern void __end__catch(CatchInfo* catchinfo);
extern void __throw(char* throwtype, void* location, void* dtor);
extern char __throw_catch_compare(const char* throwtype, const char* catchtype,
long* offset_result);
extern char __throw_catch_compare(const char* throwtype, const char* catchtype, s32* offset_result);
extern void __unexpected(CatchInfo* catchinfo);
extern int __register_fragment(struct __eti_init_info* info, char* TOC);