Differences From Artifact [1262807e23]:
- File
src/runtime/amiga-library.m
— part of check-in
[1e70711672]
at
2019-05-05 19:28:25
on branch trunk
— Create separate Amiga libraries for OS3 & MorphOS
Otherwise, it would be necessary to make unwinding work between 68k and
PPC code, and would get even worse with OS4 support.This also includes using separate .sfd files. (user: js, size: 13965) [annotate] [blame] [check-ins using]
To Artifact [7e60f6ed92]:
- File
src/runtime/amiga-library.m
— part of check-in
[8f9c2b55ce]
at
2019-05-19 21:30:24
on branch trunk
— Use cvinclude.pl instead of sfdc for MorphOS
sfdc does not support SysV functions and is not part of the MorphOS SDK. (user: js, size: 16484) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
58 59 60 61 62 63 64 65 66 67 68 69 70 71 | #ifdef OF_AMIGAOS_M68K extern uintptr_t __CTOR_LIST__[]; extern const void *_EH_FRAME_BEGINS__; extern void *_EH_FRAME_OBJECTS__; #endif extern void __objc_exec_class_m68k(void); extern IMP _Nonnull objc_msg_lookup_m68k(void); extern IMP _Nonnull objc_msg_lookup_stret_m68k(void); extern IMP _Nonnull objc_msg_lookup_super_m68k(void); extern IMP _Nonnull objc_msg_lookup_super_stret_m68k(void); extern Class _Nullable objc_lookUpClass_m68k(void); extern Class _Nullable objc_getClass_m68k(void); | > | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #ifdef OF_AMIGAOS_M68K extern uintptr_t __CTOR_LIST__[]; extern const void *_EH_FRAME_BEGINS__; extern void *_EH_FRAME_OBJECTS__; #endif extern bool objc_init_m68k(void); extern void __objc_exec_class_m68k(void); extern IMP _Nonnull objc_msg_lookup_m68k(void); extern IMP _Nonnull objc_msg_lookup_stret_m68k(void); extern IMP _Nonnull objc_msg_lookup_super_m68k(void); extern IMP _Nonnull objc_msg_lookup_super_stret_m68k(void); extern Class _Nullable objc_lookUpClass_m68k(void); extern Class _Nullable objc_getClass_m68k(void); |
︙ | ︙ | |||
371 372 373 374 375 376 377 | static void * lib_null(void) { return NULL; } | | | | 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | static void * lib_null(void) { return NULL; } bool objc_init(void) { OBJC_M68K_ARG(struct ObjFWRTBase *, base, a6) OBJC_M68K_ARG(unsigned int, version, d0) OBJC_M68K_ARG(struct objc_libc *, libc_, a0) OBJC_M68K_ARG(FILE *, stdout_, a1) OBJC_M68K_ARG(FILE *, stderr_, a2) |
︙ | ︙ | |||
562 563 564 565 566 567 568 | (CONST_APTR)FUNCARRAY_BEGIN, (CONST_APTR)FUNCARRAY_32BIT_NATIVE, #endif (CONST_APTR)lib_open, (CONST_APTR)lib_close, (CONST_APTR)lib_expunge, (CONST_APTR)lib_null, | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 | (CONST_APTR)FUNCARRAY_BEGIN, (CONST_APTR)FUNCARRAY_32BIT_NATIVE, #endif (CONST_APTR)lib_open, (CONST_APTR)lib_close, (CONST_APTR)lib_expunge, (CONST_APTR)lib_null, (CONST_APTR)objc_init_m68k, (CONST_APTR)__objc_exec_class_m68k, (CONST_APTR)objc_msg_lookup_m68k, (CONST_APTR)objc_msg_lookup_stret_m68k, (CONST_APTR)objc_msg_lookup_super_m68k, (CONST_APTR)objc_msg_lookup_super_stret_m68k, (CONST_APTR)objc_lookUpClass_m68k, (CONST_APTR)objc_getClass_m68k, (CONST_APTR)objc_getRequiredClass_m68k, (CONST_APTR)objc_lookup_class_m68k, (CONST_APTR)objc_get_class_m68k, (CONST_APTR)objc_exception_throw_m68k, (CONST_APTR)objc_sync_enter_m68k, (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, (CONST_APTR)objc_retainAutoreleasedReturnValue_m68k, (CONST_APTR)objc_storeStrong_m68k, (CONST_APTR)objc_storeWeak_m68k, (CONST_APTR)objc_loadWeakRetained_m68k, (CONST_APTR)objc_initWeak_m68k, (CONST_APTR)objc_destroyWeak_m68k, (CONST_APTR)objc_loadWeak_m68k, (CONST_APTR)objc_copyWeak_m68k, (CONST_APTR)objc_moveWeak_m68k, (CONST_APTR)sel_registerName_m68k, (CONST_APTR)sel_getName_m68k, (CONST_APTR)sel_isEqual_m68k, (CONST_APTR)objc_allocateClassPair_m68k, (CONST_APTR)objc_registerClassPair_m68k, (CONST_APTR)objc_getClassList_m68k, (CONST_APTR)objc_copyClassList_m68k, (CONST_APTR)class_isMetaClass_m68k, (CONST_APTR)class_getName_m68k, (CONST_APTR)class_getSuperclass_m68k, (CONST_APTR)class_getInstanceSize_m68k, (CONST_APTR)class_respondsToSelector_m68k, (CONST_APTR)class_conformsToProtocol_m68k, (CONST_APTR)class_getMethodImplementation_m68k, (CONST_APTR)class_getMethodImplementation_stret_m68k, (CONST_APTR)class_getMethodTypeEncoding_m68k, (CONST_APTR)class_addMethod_m68k, (CONST_APTR)class_replaceMethod_m68k, (CONST_APTR)object_getClass_m68k, (CONST_APTR)object_setClass_m68k, (CONST_APTR)object_getClassName_m68k, (CONST_APTR)protocol_getName_m68k, (CONST_APTR)protocol_isEqual_m68k, (CONST_APTR)protocol_conformsToProtocol_m68k, (CONST_APTR)objc_exit_m68k, (CONST_APTR)objc_setUncaughtExceptionHandler_m68k, (CONST_APTR)objc_setForwardHandler_m68k, (CONST_APTR)objc_setEnumerationMutationHandler_m68k, (CONST_APTR)objc_zero_weak_references_m68k, (CONST_APTR)-1, #ifdef OF_MORPHOS (CONST_APTR)FUNCARRAY_END #endif }; #pragma GCC diagnostic pop |
︙ | ︙ |