diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-25 09:44:29 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-25 09:44:29 +0000 |
commit | 494e471ff8410cc4555dabec419035e16f872cfb (patch) | |
tree | 787d989c28ea934ec9de0a237a94584afc8aa27a /linuxthreads/sysdeps | |
parent | 5e826ab537a668c9486deecc3d7fc1cbe1abda2a (diff) | |
download | glibc-494e471ff8410cc4555dabec419035e16f872cfb.tar.gz glibc-494e471ff8410cc4555dabec419035e16f872cfb.tar.xz glibc-494e471ff8410cc4555dabec419035e16f872cfb.zip |
2003-03-24 Daniel Jacobowitz <drow@mvista.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (DOARGS_5, DOARGS_6, DOARGS_7): Rewritten.
Diffstat (limited to 'linuxthreads/sysdeps')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h index 47af28090b..25dbb9e565 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; \ |