Index: src/runtime/ObjFW_RT.sfd ================================================================== --- src/runtime/ObjFW_RT.sfd +++ src/runtime/ObjFW_RT.sfd @@ -33,11 +33,11 @@ void objc_release_m68k(id _Nullable object)(a0) id _Nullable objc_autorelease_m68k(id _Nullable object)(a0) id _Nullable objc_autoreleaseReturnValue_m68k(id _Nullable object)(a0) id _Nullable objc_retainAutoreleaseReturnValue_m68k(id _Nullable object)(a0) id _Nullable objc_retainAutoreleasedReturnValue_m68k(id _Nullable object)(a0) -id _Nullable objc_storeStrong_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0/a1) +id _Nullable objc_storeStrong_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable objc_storeWeak_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) id _Nullable objc_loadWeakRetained_m68k(id _Nullable *_Nonnull object)(a0) id _Nullable objc_initWeak_m68k(id _Nullable *_Nonnull object, id _Nullable value)(a0,a1) void objc_destroyWeak_m68k(id _Nullable *_Nonnull object)(a0) id _Nullable objc_loadWeak_m68k(id _Nullable *_Nonnull object)(a0) Index: src/runtime/linklib/linklib.m ================================================================== --- src/runtime/linklib/linklib.m +++ src/runtime/linklib/linklib.m @@ -293,10 +293,106 @@ { return __gnu_objc_personality_v0_m68k(version, actions, &exClass, ex, ctx); } #endif + +id +objc_retain(id object) +{ + return objc_retain_m68k(object); +} + +id +objc_retainBlock(id block) +{ + return objc_retainBlock_m68k(block); +} + +id +objc_retainAutorelease(id object) +{ + return objc_retainAutorelease_m68k(object); +} + +void +objc_release(id object) +{ + objc_release_m68k(object); +} + +id +objc_autorelease(id object) +{ + return objc_autorelease_m68k(object); +} + +id +objc_autoreleaseReturnValue(id object) +{ + return objc_autoreleaseReturnValue_m68k(object); +} + +id +objc_retainAutoreleaseReturnValue(id object) +{ + return objc_retainAutoreleaseReturnValue_m68k(object); +} + +id +objc_retainAutoreleasedReturnValue(id object) +{ + return objc_retainAutoreleasedReturnValue_m68k(object); +} + +id +objc_storeStrong(id *object, id value) +{ + return objc_storeStrong_m68k(object, value); +} + +id +objc_storeWeak(id *object, id value) +{ + return objc_storeWeak_m68k(object, value); +} + +id +objc_loadWeakRetained(id *object) +{ + return objc_loadWeakRetained_m68k(object); +} + +id +objc_initWeak(id *object, id value) +{ + return objc_initWeak_m68k(object, value); +} + +void +objc_destroyWeak(id *object) +{ + objc_destroyWeak_m68k(object); +} + +id +objc_loadWeak(id *object) +{ + return objc_loadWeak_m68k(object); +} + +void +objc_copyWeak(id *dest, id *src) +{ + objc_copyWeak_m68k(dest, src); +} + +void +objc_moveWeak(id *dest, id *src) +{ + objc_moveWeak_m68k(dest, src); +} SEL sel_registerName(const char *name) { return sel_registerName_m68k(name);