Differences From Artifact [10ada06b71]:
- File
src/runtime/amigaos3.sfd
— part of check-in
[153b825cdb]
at
2019-06-26 19:25:29
on branch trunk
— runtime: Fix MorphOS library
This again works with both, SjLj and DWARF exceptions. The latest public
SDK still uses SjLj, so it still needs to be supported for now. (user: js, size: 5599) [annotate] [blame] [check-ins using]
To Artifact [de4ad75da8]:
- File src/runtime/amigaos3.sfd — part of check-in [7138892706] at 2019-06-27 19:24:32 on branch trunk — runtime: Switch MorphOS library to SysV ABI (user: js, size: 5771) [annotate] [blame] [check-ins using]
1 2 3 4 5 6 | ==base _ObjFWRTBase ==basetype struct Library * ==libname objfwrt68k.library ==bias 30 ==public * Functions that are only for the linklib. | | | | | | | | | | | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | ==base _ObjFWRTBase ==basetype struct Library * ==libname objfwrt68k.library ==bias 30 ==public * Functions that are only for the linklib. bool glue_objc_init(unsigned int version, struct objc_libc *libc, FILE *stdout, FILE *stderr)(d0,a0,a1,a2) * These have a built-in declaration in the compiler that does not use the * registers and thus always need glue. void glue___objc_exec_class(void *_Nonnull module)(a0) IMP _Nonnull glue_objc_msg_lookup(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull glue_objc_msg_lookup_stret(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull glue_objc_msg_lookup_super(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) IMP _Nonnull glue_objc_msg_lookup_super_stret(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) Class _Nullable glue_objc_lookUpClass(const char *_Nonnull name)(a0) Class _Nullable glue_objc_getClass(const char *_Nonnull name)(a0) Class _Nonnull glue_objc_getRequiredClass(const char *_Nonnull name)(a0) Class _Nullable glue_objc_lookup_class(const char *_Nonnull name)(a0) Class _Nonnull glue_objc_get_class(const char *_Nonnull name)(a0) void glue_objc_exception_throw(id _Nonnull object)(a0) int glue_objc_sync_enter(id _Nullable object)(a0) int glue_objc_sync_exit(id _Nullable object)(a0) id glue_objc_getProperty(id _Nonnull self, SEL _Nonnull _cmd, ptrdiff_t offset, bool atomic)(a0,a1,d0,d1) void glue_objc_setProperty(id _Nonnull self, SEL _Nonnull _cmd, ptrdiff_t offset, id value, bool atomic, signed char copy)(a0,a1,d0,a2,d1,d2) void glue_objc_getPropertyStruct(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void glue_objc_setPropertyStruct(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void glue_objc_enumerationMutation(id _Nonnull object)(a0) int glue___gnu_objc_personality(int version, int actions, uint64_t *_Nonnull exClass, void *_Nonnull ex, void *_Nonnull ctx)(d0,d1,d2,a0,a1) id _Nullable glue_objc_retain(id _Nullable object)(a0) id _Nullable glue_objc_retainBlock(id _Nullable block)(a0) id _Nullable glue_objc_retainAutorelease(id _Nullable object)(a0) void glue_objc_release(id _Nullable object)(a0) id _Nullable glue_objc_autorelease(id _Nullable object)(a0) id _Nullable glue_objc_autoreleaseReturnValue(id _Nullable object)(a0) id _Nullable glue_objc_retainAutoreleaseReturnValue(id _Nullable object)(a0) id _Nullable glue_objc_retainAutoreleasedReturnValue(id _Nullable object)(a0) id _Nullable glue_objc_storeStrong(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable glue_objc_storeWeak(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable glue_objc_loadWeakRetained(id _Nullable *_Nonnull object)(a0) id _Nullable glue_objc_initWeak(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) void glue_objc_destroyWeak(id _Nullable *_Nonnull object)(a0) id _Nullable glue_objc_loadWeak(id _Nullable *_Nonnull object)(a0) void glue_objc_copyWeak(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull src)(a0,a1) void glue_objc_moveWeak(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull src)(a0,a1) SEL _Nonnull glue_sel_registerName(const char *_Nonnull name)(a0) const char *_Nonnull glue_sel_getName(SEL _Nonnull selector)(a0) bool glue_sel_isEqual(SEL _Nonnull selector1, SEL _Nonnull selector2)(a0,a1) Class _Nonnull glue_objc_allocateClassPair(Class _Nullable superclass, const char *_Nonnull name, size_t extraBytes)(a0,a1,d0) void glue_objc_registerClassPair(Class _Nonnull class_)(a0) unsigned int glue_objc_getClassList(Class _Nonnull *_Nullable buffer, unsigned int count)(a0,d0) Class _Nonnull *_Nonnull glue_objc_copyClassList(unsigned int *_Nullable length)(a0) bool glue_class_isMetaClass(Class _Nullable class_)(a0) const char *_Nullable glue_class_getName(Class _Nullable class_)(a0) Class _Nullable glue_class_getSuperclass(Class _Nullable class_)(a0) unsigned long glue_class_getInstanceSize(Class _Nullable class_)(a0) bool glue_class_respondsToSelector(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) bool glue_class_conformsToProtocol(Class _Nullable class_, Protocol *_Nonnull p)(a0,a1) IMP _Nullable glue_class_getMethodImplementation(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) IMP _Nullable glue_class_getMethodImplementation_stret(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) const char *_Nullable glue_class_getMethodTypeEncoding(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) bool glue_class_addMethod(Class _Nonnull class_, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) IMP _Nullable glue_class_replaceMethod(Class _Nonnull class_, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) Class _Nullable glue_object_getClass(id _Nullable object)(a0) Class _Nullable glue_object_setClass(id _Nullable object, Class _Nonnull class_)(a0,a1) const char *_Nullable glue_object_getClassName(id _Nullable object)(a0) const char *_Nonnull glue_protocol_getName(Protocol *_Nonnull protocol)(a0) bool glue_protocol_isEqual(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) bool glue_protocol_conformsToProtocol(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) _Nullable objc_uncaught_exception_handler_t glue_objc_setUncaughtExceptionHandler(objc_uncaught_exception_handler_t _Nullable handler)(a0) void glue_objc_setForwardHandler(IMP _Nullable forward, IMP _Nullable stretForward)(a0,a1) void glue_objc_setEnumerationMutationHandler(objc_enumeration_mutation_handler_t _Nullable handler)(a0) void glue_objc_zero_weak_references(id _Nonnull value)(a0) void glue_objc_exit(void)() ==end |