Overview
Comment: | runtime: Fix MorphOS library
This again works with both, SjLj and DWARF exceptions. The latest public |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
153b825cdbcce1e415f3961299374a19 |
User & Date: | js on 2019-06-26 19:25:29 |
Other Links: | manifest | tags |
Context
2019-06-26
| ||
20:38 | Fix non-blocking sockets on MorphOS check-in: d1d1843970 user: js tags: trunk | |
19:25 | runtime: Fix MorphOS library check-in: 153b825cdb user: js tags: trunk | |
18:26 | Use EOPNOTSUPP for SOCKS5 error code 7 check-in: f6b58b80a8 user: js tags: trunk | |
Changes
Modified src/runtime/amiga-library.m from [980704d720] to [55ee69eb97].
︙ | ︙ | |||
77 78 79 80 81 82 83 | extern int objc_sync_enter_m68k(void); extern int objc_sync_exit_m68k(void); extern id _Nullable objc_getProperty_m68k(void); extern void objc_setProperty_m68k(void); extern void objc_getPropertyStruct_m68k(void); extern void objc_setPropertyStruct_m68k(void); extern void objc_enumerationMutation_m68k(void); | | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | extern int objc_sync_enter_m68k(void); extern int objc_sync_exit_m68k(void); extern id _Nullable objc_getProperty_m68k(void); extern void objc_setProperty_m68k(void); extern void objc_getPropertyStruct_m68k(void); extern void objc_setPropertyStruct_m68k(void); extern void objc_enumerationMutation_m68k(void); extern int __gnu_objc_personality_v0_m68k(void); extern int __gnu_objc_personality_sj0_m68k(void); extern id _Nullable objc_retain_m68k(void); extern id _Nullable objc_retainBlock_m68k(void); extern id _Nullable objc_retainAutorelease_m68k(void); extern void objc_release_m68k(void); extern id _Nullable objc_autorelease_m68k(void); extern id _Nullable objc_autoreleaseReturnValue_m68k(void); extern id _Nullable objc_retainAutoreleaseReturnValue_m68k(void); |
︙ | ︙ | |||
583 584 585 586 587 588 589 590 591 592 593 594 595 596 | (CONST_APTR)objc_sync_exit_m68k, (CONST_APTR)objc_getProperty_m68k, (CONST_APTR)objc_setProperty_m68k, (CONST_APTR)objc_getPropertyStruct_m68k, (CONST_APTR)objc_setPropertyStruct_m68k, (CONST_APTR)objc_enumerationMutation_m68k, (CONST_APTR)__gnu_objc_personality_v0_m68k, (CONST_APTR)objc_retain_m68k, (CONST_APTR)objc_retainBlock_m68k, (CONST_APTR)objc_retainAutorelease_m68k, (CONST_APTR)objc_release_m68k, (CONST_APTR)objc_autorelease_m68k, (CONST_APTR)objc_autoreleaseReturnValue_m68k, (CONST_APTR)objc_retainAutoreleaseReturnValue_m68k, | > | 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 | (CONST_APTR)objc_sync_exit_m68k, (CONST_APTR)objc_getProperty_m68k, (CONST_APTR)objc_setProperty_m68k, (CONST_APTR)objc_getPropertyStruct_m68k, (CONST_APTR)objc_setPropertyStruct_m68k, (CONST_APTR)objc_enumerationMutation_m68k, (CONST_APTR)__gnu_objc_personality_v0_m68k, (CONST_APTR)__gnu_objc_personality_sj0_m68k, (CONST_APTR)objc_retain_m68k, (CONST_APTR)objc_retainBlock_m68k, (CONST_APTR)objc_retainAutorelease_m68k, (CONST_APTR)objc_release_m68k, (CONST_APTR)objc_autorelease_m68k, (CONST_APTR)objc_autoreleaseReturnValue_m68k, (CONST_APTR)objc_retainAutoreleaseReturnValue_m68k, |
︙ | ︙ |
Modified src/runtime/amigaos3.sfd from [e2960d0e01] to [10ada06b71].
︙ | ︙ | |||
21 22 23 24 25 26 27 | 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) | | > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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) |
︙ | ︙ |
Modified src/runtime/linklib/linklib.m from [8e395bc89c] to [1429bcc593].
︙ | ︙ | |||
86 87 88 89 90 91 92 | bool atomic, signed char copy) SYM("objc_setProperty"); void linklib_objc_getPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong) SYM("objc_getPropertyStruct"); void linklib_objc_setPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong) SYM("objc_setPropertyStruct"); void linklib_objc_enumerationMutation(id object) SYM("objc_enumerationMutation"); | | | | | | | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | bool atomic, signed char copy) SYM("objc_setProperty"); void linklib_objc_getPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong) SYM("objc_getPropertyStruct"); void linklib_objc_setPropertyStruct(void *dest, const void *src, ptrdiff_t size, bool atomic, bool strong) SYM("objc_setPropertyStruct"); void linklib_objc_enumerationMutation(id object) SYM("objc_enumerationMutation"); #ifndef HAVE_SJLJ_EXCEPTIONS int linklib___gnu_objc_personality_v0(int version, int actions, uint64_t exClass, void *ex, void *ctx) SYM("__gnu_objc_personality_v0"); #else int linklib___gnu_objc_personality_sj0(int version, int actions, uint64_t exClass, void *ex, void *ctx) SYM("__gnu_objc_personality_sj0"); #endif id linklib_objc_retain(id object) SYM("objc_retain"); id linklib_objc_retainBlock(id block) SYM("objc_retainBlock"); id linklib_objc_retainAutorelease(id object) SYM("objc_retainAutorelease"); void linklib_objc_release(id object) SYM("objc_release"); id linklib_objc_autorelease(id object) SYM("objc_autorelease"); id linklib_objc_autoreleaseReturnValue(id object) |
︙ | ︙ | |||
394 395 396 397 398 399 400 | #else objc_enumerationMutation(object); #endif OF_UNREACHABLE } | < < < < < < < < > | > > > > > > > > > > > > > > > | 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 | #else objc_enumerationMutation(object); #endif OF_UNREACHABLE } int linklib___gnu_objc_personality_v0(int version, int actions, uint64_t exClass, void *ex, void *ctx) { #ifndef HAVE_SJLJ_EXCEPTIONS return __gnu_objc_personality_v0_m68k(version, actions, &exClass, ex, ctx); #else abort(); #endif } int linklib___gnu_objc_personality_sj0(int version, int actions, uint64_t exClass, void *ex, void *ctx) { #ifdef HAVE_SJLJ_EXCEPTIONS return __gnu_objc_personality_sj0_m68k(version, actions, &exClass, ex, ctx); #else abort(); #endif } id linklib_objc_retain(id object) { return objc_retain(object); } |
︙ | ︙ |
Modified src/runtime/morphos-clib.h from [752ecf36d7] to [d7622eaf7a].
︙ | ︙ | |||
15 16 17 18 19 20 21 | int objc_sync_enter(id); int objc_sync_exit(id); id objc_getProperty(id, SEL, ptrdiff_t, bool); void objc_setProperty(id, SEL, ptrdiff_t, id, bool, signed char); void objc_getPropertyStruct(void *, const void *, ptrdiff_t, bool, bool); void objc_setPropertyStruct(void *, const void *, ptrdiff_t, bool, bool); void objc_enumerationMutation(id); | | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | int objc_sync_enter(id); int objc_sync_exit(id); id objc_getProperty(id, SEL, ptrdiff_t, bool); void objc_setProperty(id, SEL, ptrdiff_t, id, bool, signed char); void objc_getPropertyStruct(void *, const void *, ptrdiff_t, bool, bool); void objc_setPropertyStruct(void *, const void *, ptrdiff_t, bool, bool); void objc_enumerationMutation(id); int __gnu_objc_personality_v0_m68k(int, int, uint64_t *, void *, void *); int __gnu_objc_personality_sj0_m68k(int, int, uint64_t *, void *, void *); id objc_retain(id); id objc_retainBlock(id); id objc_retainAutorelease(id); void objc_release(id); id objc_autorelease(id); id objc_autoreleaseReturnValue(id); id objc_retainAutoreleaseReturnValue(id); |
︙ | ︙ |
Modified src/runtime/morphos.fd from [7e9de9f641] to [dfb7c42406].
︙ | ︙ | |||
19 20 21 22 23 24 25 | objc_sync_enter(object)(a0) objc_sync_exit(object)(a0) objc_getProperty(self,_cmd,offset,atomic)(a0,a1,d0,d1) objc_setProperty(self,_cmd,offset,value,atomic,copy)(a0,a1,d0,a2,d1,d2) objc_getPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) objc_setPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) objc_enumerationMutation(object)(a0) | | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | objc_sync_enter(object)(a0) objc_sync_exit(object)(a0) objc_getProperty(self,_cmd,offset,atomic)(a0,a1,d0,d1) objc_setProperty(self,_cmd,offset,value,atomic,copy)(a0,a1,d0,a2,d1,d2) objc_getPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) objc_setPropertyStruct(dest,src,size,atomic,strong)(a0,a1,d0,d1,d2) objc_enumerationMutation(object)(a0) __gnu_objc_personality_v0_m68k(version,actions,exClass,ex,ctx)(d0,d1,d2,a0,a1) __gnu_objc_personality_sj0_m68k(version,actions,exClass,ex,ctx)(d0,d1,d2,a0,a1) objc_retain(object)(a0) objc_retainBlock(block)(a0) objc_retainAutorelease(object)(a0) objc_release(object)(a0) objc_autorelease(object)(a0) objc_autoreleaseReturnValue(object)(a0) objc_retainAutoreleaseReturnValue(object)(a0) |
︙ | ︙ |