Artifact 10ada06b7131e2a5d98e4e3de6bcfd7c10493985029aea80447c26fc07da974c:
- 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]
==base _ObjFWRTBase ==basetype struct Library * ==libname objfwrt68k.library ==bias 30 ==public * Functions that are only for the linklib. bool 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 __objc_exec_class(void *_Nonnull module)(a0) IMP _Nonnull objc_msg_lookup(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_stret(id _Nullable object, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_super(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) IMP _Nonnull objc_msg_lookup_super_stret(struct objc_super *_Nonnull super, SEL _Nonnull selector)(a0,a1) Class _Nullable objc_lookUpClass(const char *_Nonnull name)(a0) Class _Nullable objc_getClass(const char *_Nonnull name)(a0) Class _Nonnull objc_getRequiredClass(const char *_Nonnull name)(a0) Class _Nullable objc_lookup_class(const char *_Nonnull name)(a0) Class _Nonnull objc_get_class(const char *_Nonnull name)(a0) void objc_exception_throw(id _Nonnull object)(a0) int objc_sync_enter(id _Nullable object)(a0) int objc_sync_exit(id _Nullable object)(a0) id objc_getProperty(id _Nonnull self, SEL _Nonnull _cmd, ptrdiff_t offset, bool atomic)(a0,a1,d0,d1) void 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 objc_getPropertyStruct(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void objc_setPropertyStruct(void *_Nonnull dest, const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) void objc_enumerationMutation(id _Nonnull object)(a0) int __gnu_objc_personality_v0_m68k(int version, int actions, uint64_t *_Nonnull exClass, void *_Nonnull ex, void *_Nonnull ctx)(d0,d1,d2,a0,a1) int __gnu_objc_personality_sj0_m68k(int version, int actions, uint64_t *_Nonnull exClass, void *_Nonnull ex, void *_Nonnull ctx)(d0,d1,d2,a0,a1) id _Nullable objc_retain(id _Nullable object)(a0) id _Nullable objc_retainBlock(id _Nullable block)(a0) id _Nullable objc_retainAutorelease(id _Nullable object)(a0) void objc_release(id _Nullable object)(a0) id _Nullable objc_autorelease(id _Nullable object)(a0) id _Nullable objc_autoreleaseReturnValue(id _Nullable object)(a0) id _Nullable objc_retainAutoreleaseReturnValue(id _Nullable object)(a0) id _Nullable objc_retainAutoreleasedReturnValue(id _Nullable object)(a0) id _Nullable objc_storeStrong(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable objc_storeWeak(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable objc_loadWeakRetained(id _Nullable *_Nonnull object)(a0) id _Nullable objc_initWeak(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) void objc_destroyWeak(id _Nullable *_Nonnull object)(a0) id _Nullable objc_loadWeak(id _Nullable *_Nonnull object)(a0) void objc_copyWeak(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull src)(a0,a1) void objc_moveWeak(id _Nullable *_Nonnull dest, id _Nullable *_Nonnull src)(a0,a1) SEL _Nonnull sel_registerName(const char *_Nonnull name)(a0) const char *_Nonnull sel_getName(SEL _Nonnull selector)(a0) bool sel_isEqual(SEL _Nonnull selector1, SEL _Nonnull selector2)(a0,a1) Class _Nonnull objc_allocateClassPair(Class _Nullable superclass, const char *_Nonnull name, size_t extraBytes)(a0,a1,d0) void objc_registerClassPair(Class _Nonnull class_)(a0) unsigned int objc_getClassList(Class _Nonnull *_Nullable buffer, unsigned int count)(a0,d0) Class _Nonnull *_Nonnull objc_copyClassList(unsigned int *_Nullable length)(a0) bool class_isMetaClass(Class _Nullable class_)(a0) const char *_Nullable class_getName(Class _Nullable class_)(a0) Class _Nullable class_getSuperclass(Class _Nullable class_)(a0) unsigned long class_getInstanceSize(Class _Nullable class_)(a0) bool class_respondsToSelector(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) bool class_conformsToProtocol(Class _Nullable class_, Protocol *_Nonnull p)(a0,a1) IMP _Nullable class_getMethodImplementation(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) IMP _Nullable class_getMethodImplementation_stret(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) const char *_Nullable class_getMethodTypeEncoding(Class _Nullable class_, SEL _Nonnull selector)(a0,a1) bool class_addMethod(Class _Nonnull class_, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) IMP _Nullable class_replaceMethod(Class _Nonnull class_, SEL _Nonnull selector, IMP _Nonnull implementation, const char *_Nullable typeEncoding)(a0,a1,a2,a3) Class _Nullable object_getClass(id _Nullable object)(a0) Class _Nullable object_setClass(id _Nullable object, Class _Nonnull class_)(a0,a1) const char *_Nullable object_getClassName(id _Nullable object)(a0) const char *_Nonnull protocol_getName(Protocol *_Nonnull protocol)(a0) bool protocol_isEqual(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) bool protocol_conformsToProtocol(Protocol *_Nonnull protocol1, Protocol *_Nonnull protocol2)(a0,a1) void objc_exit(void)() _Nullable objc_uncaught_exception_handler_t objc_setUncaughtExceptionHandler(objc_uncaught_exception_handler_t _Nullable handler)(a0) void objc_setForwardHandler(IMP _Nullable forward, IMP _Nullable stretForward)(a0,a1) void objc_setEnumerationMutationHandler(objc_enumeration_mutation_handler_t _Nullable handler)(a0) void objc_zero_weak_references(id _Nonnull value)(a0) ==end