diff --git a/arch/ppc/defs.h b/arch/ppc/defs.h index 247ee10..531e551 100644 --- a/arch/ppc/defs.h +++ b/arch/ppc/defs.h @@ -59,4 +59,6 @@ /* lnk register is actually r32 */ #define REG_LNK REG_R36 +#include "common-defs.h" + #endif diff --git a/arch/ppc/getcontext.S b/arch/ppc/getcontext.S index 532e810..5e16a1c 100644 --- a/arch/ppc/getcontext.S +++ b/arch/ppc/getcontext.S @@ -11,10 +11,10 @@ */ .global libucontext_getcontext -.hidden libucontext_swapcontext +.hidden __libucontext_swapcontext libucontext_getcontext: li 4, 0 - b libucontext_swapcontext@local + b __libucontext_swapcontext@local .weak getcontext getcontext = libucontext_getcontext diff --git a/arch/ppc/makecontext.c b/arch/ppc/makecontext.c index a7434ad..cc2a882 100644 --- a/arch/ppc/makecontext.c +++ b/arch/ppc/makecontext.c @@ -23,7 +23,7 @@ extern void libucontext_trampoline(void); void -libucontext_makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) +libucontext_makecontext(libucontext_ucontext_t *ucp, void (*func)(), int argc, ...) { libucontext_greg_t *sp; va_list va; diff --git a/arch/ppc/setcontext.S b/arch/ppc/setcontext.S index 4c2f09a..325b715 100644 --- a/arch/ppc/setcontext.S +++ b/arch/ppc/setcontext.S @@ -11,11 +11,11 @@ */ .global libucontext_setcontext -.hidden libucontext_swapcontext +.hidden __libucontext_swapcontext libucontext_setcontext: mr 4, 3 li 3, 0 - b libucontext_swapcontext@local + b __libucontext_swapcontext@local .weak setcontext setcontext = libucontext_setcontext diff --git a/arch/ppc/swapcontext.S b/arch/ppc/swapcontext.S index aad32a9..69cc60e 100644 --- a/arch/ppc/swapcontext.S +++ b/arch/ppc/swapcontext.S @@ -10,8 +10,8 @@ * from the use of this software. */ -.global libucontext_swapcontext -libucontext_swapcontext: +.global __libucontext_swapcontext +__libucontext_swapcontext: li 0, 249 # SYS_swapcontext li 5, 1184 # sizeof(ucontext_t) sc @@ -21,3 +21,6 @@ libucontext_swapcontext: .weak swapcontext swapcontext = libucontext_swapcontext + +.weak libucontext_swapcontext +libucontext_swapcontext = __libucontext_swapcontext