@@ -58,10 +58,12 @@ #ifdef OF_AMIGAOS_M68K extern uintptr_t __CTOR_LIST__[]; extern const void *_EH_FRAME_BEGINS__; extern void *_EH_FRAME_OBJECTS__; +extern void __register_frame_info(const void *, void *); +extern void *__deregister_frame_info(const void *); #endif extern bool glue_of_init(void); #ifdef OF_AMIGAOS_M68K @@ -287,11 +289,11 @@ struct ObjFWBase *parent; #ifdef OF_AMIGAOS_M68K if (base->initialized) for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++) - libc.__deregister_frame_info( + __deregister_frame_info( (&_EH_FRAME_BEGINS__)[i]); #endif parent = base->parent; @@ -338,11 +340,11 @@ #ifdef OF_AMIGAOS_M68K if ((size_t)_EH_FRAME_BEGINS__ != (size_t)_EH_FRAME_OBJECTS__) return false; for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++) - libc.__register_frame_info((&_EH_FRAME_BEGINS__)[i], + __register_frame_info((&_EH_FRAME_BEGINS__)[i], (&_EH_FRAME_OBJECTS__)[i]); iter0 = &__CTOR_LIST__[1]; #elif defined(OF_MORPHOS) __asm__ ( @@ -398,10 +400,16 @@ ret = libc.vfprintf(stream, fmt, args); va_end(args); return ret; } + +int +vfprintf(FILE *restrict stream, const char *restrict fmt, va_list args) +{ + return libc.vfprintf(stream, fmt, args); +} int fflush(FILE *restrict stream) { return libc.fflush(stream); @@ -494,10 +502,24 @@ _Unwind_Resume(void *ex) { libc._Unwind_Resume(ex); } #endif + +#ifdef OF_AMIGAOS_M68K +void +__register_frame_info(const void *begin, void *object) +{ + libc.__register_frame_info(begin, object); +} + +void +*__deregister_frame_info(const void *begin) +{ + return libc.__deregister_frame_info(begin); +} +#endif int vsnprintf(char *restrict str, size_t size, const char *restrict fmt, va_list args) {