︙ | | | ︙ | |
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
bool initialized;
};
#ifdef OF_AMIGAOS_M68K
extern uintptr_t __CTOR_LIST__[];
extern const void *_EH_FRAME_BEGINS__;
extern void *_EH_FRAME_OBJECTS__;
void __register_frame_info(const void *, void *);
void *__deregister_frame_info(const void *);
#endif
extern bool glue_of_init(void);
extern void *glue_of_alloc(void);
extern void *glue_of_alloc_zeroed(void);
extern void *glue_of_realloc(void);
extern uint32_t *glue_of_hash_seed_ref(void);
|
<
<
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
bool initialized;
};
#ifdef OF_AMIGAOS_M68K
extern uintptr_t __CTOR_LIST__[];
extern const void *_EH_FRAME_BEGINS__;
extern void *_EH_FRAME_OBJECTS__;
#endif
extern bool glue_of_init(void);
extern void *glue_of_alloc(void);
extern void *glue_of_alloc_zeroed(void);
extern void *glue_of_realloc(void);
extern uint32_t *glue_of_hash_seed_ref(void);
|
︙ | | | ︙ | |
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
|
if (base->parent != NULL) {
struct ObjFWBase *parent;
#ifdef OF_AMIGAOS_M68K
if (base->initialized)
for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
__deregister_frame_info(
(&_EH_FRAME_BEGINS__)[i]);
#endif
parent = base->parent;
FreeMem(base->dataSeg - DATA_OFFSET, getDataSize());
FreeMem((char *)base - base->library.lib_NegSize,
|
|
|
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
|
if (base->parent != NULL) {
struct ObjFWBase *parent;
#ifdef OF_AMIGAOS_M68K
if (base->initialized)
for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
libc.__deregister_frame_info(
(&_EH_FRAME_BEGINS__)[i]);
#endif
parent = base->parent;
FreeMem(base->dataSeg - DATA_OFFSET, getDataSize());
FreeMem((char *)base - base->library.lib_NegSize,
|
︙ | | | ︙ | |
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
|
__sF = sF;
#ifdef OF_AMIGAOS_M68K
if ((size_t)_EH_FRAME_BEGINS__ != (size_t)_EH_FRAME_OBJECTS__)
return false;
for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
__register_frame_info((&_EH_FRAME_BEGINS__)[i],
(&_EH_FRAME_OBJECTS__)[i]);
iter0 = &__CTOR_LIST__[1];
#elif defined(OF_MORPHOS)
__asm__ (
"lis %0, __EH_FRAME_BEGIN__@ha\n\t"
"la %0, __EH_FRAME_BEGIN__@l(%0)\n\t"
|
|
|
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
|
__sF = sF;
#ifdef OF_AMIGAOS_M68K
if ((size_t)_EH_FRAME_BEGINS__ != (size_t)_EH_FRAME_OBJECTS__)
return false;
for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
libc.__register_frame_info((&_EH_FRAME_BEGINS__)[i],
(&_EH_FRAME_OBJECTS__)[i]);
iter0 = &__CTOR_LIST__[1];
#elif defined(OF_MORPHOS)
__asm__ (
"lis %0, __EH_FRAME_BEGIN__@ha\n\t"
"la %0, __EH_FRAME_BEGIN__@l(%0)\n\t"
|
︙ | | | ︙ | |
588
589
590
591
592
593
594
595
596
597
598
599
600
601
|
void
*__deregister_frame_info(const void *begin)
{
return libc.__deregister_frame_info(begin);
}
#endif
int *
of_get_errno(void)
{
return libc.get_errno();
}
|
>
>
>
>
>
>
>
>
>
>
>
>
|
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
|
void
*__deregister_frame_info(const void *begin)
{
return libc.__deregister_frame_info(begin);
}
#endif
#ifdef OF_MORPHOS
void __register_frame(void *frame)
{
libc.__register_frame(frame);
}
void __deregister_frame(void *frame)
{
libc.__deregister_frame(frame);
}
#endif
int *
of_get_errno(void)
{
return libc.get_errno();
}
|
︙ | | | ︙ | |