diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-06 17:34:54 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-06 17:34:54 +0000 |
commit | c3f90e26a5160c3fe287c4283e7a2bc1ff54b1a9 (patch) | |
tree | 1164126ce1a33b340459c03a100011566853ed9b /linuxthreads/sysdeps/unix/sysv | |
parent | 3a370de88f9ca928a90d1fa88afaf5d17d939fb6 (diff) | |
download | glibc-c3f90e26a5160c3fe287c4283e7a2bc1ff54b1a9.tar glibc-c3f90e26a5160c3fe287c4283e7a2bc1ff54b1a9.tar.gz glibc-c3f90e26a5160c3fe287c4283e7a2bc1ff54b1a9.tar.bz2 glibc-c3f90e26a5160c3fe287c4283e7a2bc1ff54b1a9.zip |
Update.
* sysdeps/unix/sysv/linux/sleep.c (__sleep): Use nanosleep syscall
directly to avoid cancellation in the regular nanosleep
implementation.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h index d2043aad91..92d8460e26 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h @@ -26,12 +26,14 @@ /* 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}; +# ifdef PIC +# 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}; +# endif # undef PSEUDO_RET # define PSEUDO_RET \ |