ObjFW  Diff

Differences From Artifact [0f1cc9582a]:

To Artifact [db6b5f4a82]:


290
291
292
293
294
295
296
297
298



299
300
301
302
303
304
305
306
290
291
292
293
294
295
296


297
298
299

300
301
302
303
304
305
306







-
-
+
+
+
-







	OBJC_M68K_ARG(struct ObjFWRTBase *, base, a6)

	if (base->parent != NULL) {
		struct ObjFWRTBase *parent;

#ifdef OF_AMIGAOS_M68K
		if (base->initialized)
			for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
				libc.__deregister_frame_info(
			for (void *const *frame = _EH_FRAME_BEGINS__;
			    *frame != NULL;)
				libc.__deregister_frame_info(*frame++);
				    (&_EH_FRAME_BEGINS__)[i]);
#endif

		parent = base->parent;

		FreeMem(base->dataSeg - DATA_OFFSET, getDataSize());
		FreeMem((char *)base - base->library.lib_NegSize,
		    base->library.lib_NegSize + base->library.lib_PosSize);
338
339
340
341
342
343
344
345

346
347

348
349

350
351
352
353
354
355
356
357
338
339
340
341
342
343
344

345


346


347

348
349
350
351
352
353
354







-
+
-
-
+
-
-
+
-








	if (version > 1)
		return false;

	memcpy(&libc, libc_, sizeof(libc));

#ifdef OF_AMIGAOS_M68K
	if ((size_t)_EH_FRAME_BEGINS__ != (size_t)_EH_FRAME_OBJECTS__)
	for (void *const *frame = _EH_FRAME_OBJECTS__,
		return false;

	    **object = _EH_FRAME_OBJECTS__; *frame != NULL;)
	for (size_t i = 1; i <= (size_t)_EH_FRAME_BEGINS__; i++)
		libc.__register_frame_info((&_EH_FRAME_BEGINS__)[i],
		libc.__register_frame_info(*frame++, *object++);
		    (&_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"
	    "lis	%1, __CTOR_LIST__@ha\n\t"