From: Roland McGrath Date: Tue, 25 Mar 2003 09:44:29 +0000 (+0000) Subject: 2003-03-24 Daniel Jacobowitz X-Git-Tag: upstream/2.20~12638 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=494e471ff8410cc4555dabec419035e16f872cfb;p=platform%2Fupstream%2Flinaro-glibc.git 2003-03-24 Daniel Jacobowitz * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (DOARGS_5, DOARGS_6, DOARGS_7): Rewritten. --- diff --git a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h index 47af280..25dbb9e 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/arm/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; \