DELETED src/runtime/ObjFW_RT.fd Index: src/runtime/ObjFW_RT.fd ================================================================== --- src/runtime/ObjFW_RT.fd +++ src/runtime/ObjFW_RT.fd @@ -1,53 +0,0 @@ -##base _ObjFWRTBase -##bias 30 -##public -* Functions for the glue code -objc_set_libc(libc)(A0) -* Used by the compiler - these need glue code -glue___objc_exec_class(module)(A0) -glue_objc_msg_lookup(obj, sel)(A0/A1) -glue_objc_msg_lookup_stret(obj, sel)(A0/A1) -glue_objc_msg_lookup_super(super, sel)(A0/A1) -glue_objc_msg_lookup_super_stret(super, sel)(A0/A1) -glue_objc_lookUpClass(name)(A0) -glue_objc_getClass(name)(A0) -glue_objc_getRequiredClass(name)(A0) -glue_objc_exception_throw(object)(A0) -glue_objc_sync_enter(object)(A0) -glue_objc_sync_exit(object)(A0) -glue_objc_getProperty(self, _cmd, offset, atomic)(A0/A1/D0/D1) -glue_objc_setProperty(self, _cmd, offset, value, atomic, copy)(A0/A1/D0/A2/D1/D2) -glue_objc_getPropertyStruct(dest, src, size, atomic, strong)(A0/A1/D0/D1/D2) -glue_objc_setPropertyStruct(dest, src, size, atomic, strong)(A0/A1/D0/D1/D2) -glue_objc_enumerationMutation(obj)(A0) -* Functions declared in ObjFW_RT.h -sel_registerName(name)(A0) -sel_getName(sel)(A0) -sel_isEqual(sel1, sel2)(A0/A1) -objc_allocateClassPair(superclass, name, extra_bytes)(A0/A1/D0) -objc_registerClassPair(cls)(A0) -objc_getClassList(buf, count)(A0/D0) -objc_copyClassList(len)(A0) -class_isMetaClass(cls)(A0) -class_getName(cls)(A0) -class_getSuperclass(cls)(A0) -class_getInstanceSize(cls)(A0) -class_respondsToSelector(cls, sel)(A0/A1) -class_conformsToProtocol(cls, p)(A0/A1) -class_getMethodImplementation(cls, sel)(A0/A1) -class_getMethodImplementation_stret(cls, sel)(A0/A1) -class_getMethodTypeEncoding(cls, sel)(A0/A1) -class_addMethod(cls, sel, imp, types)(A0/A1/A2/A3) -class_replaceMethod(cls, sel, imp, types)(A0/A1/A2/A3) -object_getClass(obj)(A0) -object_setClass(obj, cls)(A0/A1) -object_getClassName(obj)(A0) -protocol_getName(p)(A0) -protocol_isEqual(a, b)(A0/A1) -protocol_conformsToProtocol(a, b)(A0/A1) -objc_exit()() -objc_setUncaughtExceptionHandler(handler)(A0) -objc_setForwardHandler(forward, forward_stret)(A0/A1) -objc_setEnumerationMutationHandler(handler)(A0) -objc_zero_weak_references(value)(A0) -##end ADDED src/runtime/ObjFW_RT.sfd Index: src/runtime/ObjFW_RT.sfd ================================================================== --- src/runtime/ObjFW_RT.sfd +++ src/runtime/ObjFW_RT.sfd @@ -0,0 +1,56 @@ +==base _ObjFWRTBase +==basetype struct Library * +==libname objfw_rt.library +==bias 30 +==private +* Functions for the linklib +void objc_set_libc(struct objc_libc *libc)(a0) +* Used by the compiler - these need glue code +void glue___objc_exec_class(void *module)(a0) +IMP glue_objc_msg_lookup(id obj, SEL sel)(a0,a1) +IMP glue_objc_msg_lookup_stret(id obj, SEL sel)(a0,a1) +IMP glue_objc_msg_lookup_super(struct objc_super *super, SEL sel)(a0,a1) +IMP glue_objc_msg_lookup_super_stret(struct objc_super *super, SEL sel)(a0,a1) +id glue_objc_lookUpClass(const char *name)(a0) +id glue_objc_getClass(const char *name)(a0) +id glue_objc_getRequiredClass(const char *name)(a0) +void glue_objc_exception_throw(id object)(a0) +int glue_objc_sync_enter(id object)(a0) +int glue_objc_sync_exit(id object)(a0) +id glue_objc_getProperty(id self, SEL _cmd, ptrdiff_t offset, bool atomic)(a0,a1,d0,d1) +void glue_objc_setProperty(id self, SEL _cmd, ptrdiff_t offset, id value, bool atomic, signed char copy)(a0,a1,d0,a2,d1,d2) +void glue_objc_getPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) +void glue_objc_setPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong)(a0,a1,d0,d1,d2) +void glue_objc_enumerationMutation(id obj)(a0) +==public +* Functions declared in ObjFW_RT.h +SEL _Nonnull sel_registerName(const char *_Nonnull name)(a0) +const char *_Nonnull sel_getName(SEL _Nonnull sel)(a0) +bool sel_isEqual(SEL _Nonnull sel1, SEL _Nonnull sel2)(a0,a1) +Class _Nonnull objc_allocateClassPair(Class _Nullable superclass, const char *_Nonnull name, size_t extra_bytes)(a0,a1,d0) +void objc_registerClassPair(Class _Nonnull cls)(a0) +unsigned int objc_getClassList(Class _Nonnull *_Nullable buf, unsigned int count)(a0,d0) +Class _Nonnull *_Nonnull objc_copyClassList(unsigned int *_Nullable)(a0) +bool class_isMetaClass(Class _Nullable cls)(a0) +const char *_Nullable class_getName(Class _Nullable cls)(a0) +Class _Nullable class_getSuperclass(Class _Nullable cls)(a0) +unsigned long class_getInstanceSize(Class _Nullable cls)(a0) +bool class_respondsToSelector(Class _Nullable cls, SEL _Nonnull sel)(a0,a1) +bool class_conformsToProtocol(Class _Nullable cls, Protocol *_Nonnull p)(a0,a1) +IMP _Nullable class_getMethodImplementation(Class _Nullable cls, SEL _Nonnull sel)(a0,a1) +IMP _Nullable class_getMethodImplementation_stret(Class _Nullable cls, SEL _Nonnull sel)(a0,a1) +const char *_Nullable class_getMethodTypeEncoding(Class _Nullable cls, SEL _Nonnull sel)(a0,a1) +bool class_addMethod(Class _Nonnull cls, SEL _Nonnull sel, IMP _Nonnull imp, const char *_Nullable types)(a0,a1,a2,a3) +IMP _Nullable class_replaceMethod(Class _Nonnull cls, SEL _Nonnull sel, IMP _Nonnull imp, const char *_Nullable types)(a0,a1,a2,a3) +Class _Nullable object_getClass(id _Nullable obj)(a0) +Class _Nullable object_setClass(id _Nullable obj, Class _Nonnull)(a0,a1) +const char *_Nullable object_getClassName(id _Nullable obj)(a0) +const char *_Nonnull protocol_getName(Protocol *_Nonnull p)(a0) +bool protocol_isEqual(Protocol *_Nonnull a, Protocol *_Nonnull b)(a0,a1) +bool protocol_conformsToProtocol(Protocol *_Nonnull a, Protocol *_Nonnull b)(a0,a1) +void objc_exit(void)() +_Nullable objc_uncaught_exception_handler objc_setUncaughtExceptionHandler(objc_uncaught_exception_handler _Nullable handler)(a0) +void objc_setForwardHandler(IMP _Nullable forward, IMP _Nullable forward_stret)(a0,a1) +void objc_setEnumerationMutationHandler(objc_enumeration_mutation_handler _Nullable handler)(a0) +void objc_zero_weak_references(id _Nonnull value)(a0) +==end Index: src/runtime/amiga-library.m ================================================================== --- src/runtime/amiga-library.m +++ src/runtime/amiga-library.m @@ -190,11 +190,11 @@ static ULONG function_table[] = { (ULONG)lib_open, (ULONG)lib_close, (ULONG)lib_expunge, (ULONG)lib_null, - /* Functions for the glue code */ + /* Functions for the linklib */ (ULONG)objc_set_libc, /* Used by the compiler - these need glue code */ (ULONG)glue___objc_exec_class, (ULONG)glue_objc_msg_lookup, (ULONG)glue_objc_msg_lookup_stret,