ObjFW  Check-in [7342a6e98b]

Overview
Comment:Amiga library: Provide an empty __init_eh()

amiga-gcc now links in __init_eh(). However, since we init EH ourselves,
there's no need for it, so we replace it with an empty one.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7342a6e98b19262297bd6fe3167b371e905985cc8ba589f46cf084c19b5a095a
User & Date: js on 2019-08-04 20:03:07
Other Links: manifest | tags
Context
2019-08-06
00:48
Add conditions for AmigaOS check-in: dd5a900e3b user: js tags: trunk
2019-08-04
20:03
Amiga library: Provide an empty __init_eh() check-in: 7342a6e98b user: js tags: trunk
19:33
Amiga: Add the new __bss_size to data segment size check-in: a15919c6d8 user: js tags: trunk
Changes

Modified src/runtime/amiga-library.m from [f3f4183dca] to [a59cd2d1dd].

142
143
144
145
146
147
148





149
150
151
152
153
154
155
    ".text\n"
    ".globl ___restore_a4\n"
    ".align 1\n"
    "___restore_a4:\n"
    "	movea.l	42(a6), a4\n"
    "	rts"
);





#elif defined(OF_MORPHOS)
/* All __saveds functions in this file need to use the M68K ABI */
__asm__ (
    ".section .text\n"
    ".align 2\n"
    "__restore_r13:\n"
    "	lwz	%r13, 56(%r2)\n"







>
>
>
>
>







142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
    ".text\n"
    ".globl ___restore_a4\n"
    ".align 1\n"
    "___restore_a4:\n"
    "	movea.l	42(a6), a4\n"
    "	rts"
);

void
__init_eh(void)
{
}
#elif defined(OF_MORPHOS)
/* All __saveds functions in this file need to use the M68K ABI */
__asm__ (
    ".section .text\n"
    ".align 2\n"
    "__restore_r13:\n"
    "	lwz	%r13, 56(%r2)\n"

Modified src/runtime/linklib/linklib.m from [1e64ea6ef5] to [9569bc8b44].

54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
extern void _Unwind_SetGR(void *, int, uintptr_t);
#ifdef HAVE_SJLJ_EXCEPTIONS
extern void _Unwind_SjLj_Resume(void *);
#else
extern void _Unwind_Resume(void *);
#endif
extern void __register_frame_info(const void *, void *);
extern void __deregister_frame_info(const void *);

struct Library *ObjFWRTBase;
void *__objc_class_name_Protocol;

static void
ctor(void)
{







|







54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
extern void _Unwind_SetGR(void *, int, uintptr_t);
#ifdef HAVE_SJLJ_EXCEPTIONS
extern void _Unwind_SjLj_Resume(void *);
#else
extern void _Unwind_Resume(void *);
#endif
extern void __register_frame_info(const void *, void *);
extern void *__deregister_frame_info(const void *);

struct Library *ObjFWRTBase;
void *__objc_class_name_Protocol;

static void
ctor(void)
{

Modified src/runtime/private.h from [a95504bf3a] to [62b52db4cc].

152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# ifdef HAVE_SJLJ_EXCEPTIONS
	void (*_Nonnull _Unwind_SjLj_Resume)(void *_Nonnull);
# else
	void (*_Nonnull _Unwind_Resume)(void *_Nonnull);
# endif
	void (*_Nonnull __register_frame_info)(const void *_Nonnull,
	    void *_Nonnull);
	void (*_Nonnull __deregister_frame_info)(const void *_Nonnull);
};
#endif

#ifdef OBJC_COMPILING_AMIGA_LIBRARY
# if defined(__MORPHOS__)
#  include <ppcinline/macros.h>
#  define OBJC_M68K_ARG(type, name, reg) type name = (type)REG_##reg;







|







152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# ifdef HAVE_SJLJ_EXCEPTIONS
	void (*_Nonnull _Unwind_SjLj_Resume)(void *_Nonnull);
# else
	void (*_Nonnull _Unwind_Resume)(void *_Nonnull);
# endif
	void (*_Nonnull __register_frame_info)(const void *_Nonnull,
	    void *_Nonnull);
	void *(*_Nonnull __deregister_frame_info)(const void *_Nonnull);
};
#endif

#ifdef OBJC_COMPILING_AMIGA_LIBRARY
# if defined(__MORPHOS__)
#  include <ppcinline/macros.h>
#  define OBJC_M68K_ARG(type, name, reg) type name = (type)REG_##reg;