build: support mach-o ABI
parent
b6e60b5d64
commit
163c11d989
|
@ -51,7 +51,7 @@ FUNC(libucontext_swapcontext)
|
||||||
|
|
||||||
/* move x1 to x0 and call setcontext */
|
/* move x1 to x0 and call setcontext */
|
||||||
mov x0, x1
|
mov x0, x1
|
||||||
bl libucontext_setcontext
|
bl PROC_NAME(libucontext_setcontext)
|
||||||
|
|
||||||
/* hmm, we came back here try to return */
|
/* hmm, we came back here try to return */
|
||||||
mov x30, x28
|
mov x30, x28
|
||||||
|
|
|
@ -18,15 +18,27 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TYPE
|
#ifndef TYPE
|
||||||
|
# ifdef __clang__
|
||||||
|
# define TYPE(__proc) // .type not supported
|
||||||
|
# else
|
||||||
# define TYPE(__proc) .type __proc, @function;
|
# define TYPE(__proc) .type __proc, @function;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PROC_NAME
|
||||||
|
# ifdef __MACH__
|
||||||
|
# define PROC_NAME(__proc) _ ## __proc
|
||||||
|
# else
|
||||||
|
# define PROC_NAME(__proc) __proc
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define FUNC(__proc) \
|
#define FUNC(__proc) \
|
||||||
.global __proc; \
|
.global PROC_NAME(__proc); \
|
||||||
.align 2; \
|
.align 2; \
|
||||||
TYPE(__proc) \
|
TYPE(__proc) \
|
||||||
ENT(__proc) \
|
ENT(__proc) \
|
||||||
__proc: \
|
PROC_NAME(__proc): \
|
||||||
SETUP_FRAME(__proc)
|
SETUP_FRAME(__proc)
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
#define END(__proc)
|
#define END(__proc)
|
||||||
|
|
Loading…
Reference in New Issue