@@ -246,13 +246,20 @@ # ifdef HAVE_SJLJ_EXCEPTIONS void (*_Nonnull _Unwind_SjLj_Resume)(void *_Nonnull); # else void (*_Nonnull _Unwind_Resume)(void *_Nonnull); # endif +# ifdef OF_AMIGAOS_M68K void (*_Nonnull __register_frame_info)(const void *_Nonnull, void *_Nonnull); void *(*_Nonnull __deregister_frame_info)(const void *_Nonnull); +# endif +# ifdef OF_MORPHOS + void (*_Nonnull __register_frame)(void *_Nonnull); + void (*_Nonnull __deregister_frame)(void *_Nonnull); +# endif + int *_Nonnull (*_Nonnull get_errno)(void); }; #endif #ifdef OBJC_COMPILING_AMIGA_LIBRARY # if defined(__MORPHOS__) @@ -263,11 +270,14 @@ register type reg_##name __asm__(#reg); \ type name = reg_##name; # endif # undef stdout # undef stderr -extern FILE *stdout, *stderr; +# undef errno +extern FILE *_Nonnull stdout, *_Nonnull stderr; +extern int *_Nonnull objc_get_errno(void); +# define errno (*objc_get_errno()) #endif extern void objc_register_all_categories(struct objc_symtab *_Nonnull); extern struct objc_category *_Nullable *_Nullable objc_categories_for_class(Class _Nonnull);