From: Roland McGrath Date: Tue, 25 Mar 2003 09:44:29 +0000 (+0000) Subject: 2003-03-24 Daniel Jacobowitz X-Git-Tag: glibc-2.16-ports-merge^2~1393 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e0dc73c1e33bec0274474b85a12d544cbdd90b2b;p=platform%2Fupstream%2Fglibc.git 2003-03-24 Daniel Jacobowitz * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (DOARGS_5, DOARGS_6, DOARGS_7): Rewritten. --- diff --git a/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h index 47af280..25dbb9e 100644 --- a/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h +++ b/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h @@ -24,6 +24,15 @@ #if !defined NOT_IN_libc || defined IS_IN_libpthread +/* We push lr onto the stack, so we have to use ldmib instead of ldmia + to find the saved arguments. */ +#undef DOARGS_5 +#undef DOARGS_6 +#undef DOARGS_7 +#define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $8]; +#define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmib ip, {r4, r5}; +#define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmib ip, {r4, r5, r6}; + # undef PSEUDO_RET # define PSEUDO_RET \ ldrcc pc, [sp], $4; \