aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-08 02:50:59 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-08 02:50:59 +0000
commitae9ecd08db965a4987a4d1351e2c51deb5c6e9b5 (patch)
tree6db7c4d7cea62e68997b1712467b4b594b8bfb9d /linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
parent2a051a7d1af290fee89e8b0a5ba8e5a86f325a25 (diff)
downloadglibc-ae9ecd08db965a4987a4d1351e2c51deb5c6e9b5.tar
glibc-ae9ecd08db965a4987a4d1351e2c51deb5c6e9b5.tar.gz
glibc-ae9ecd08db965a4987a4d1351e2c51deb5c6e9b5.tar.bz2
glibc-ae9ecd08db965a4987a4d1351e2c51deb5c6e9b5.zip
Update.
2003-02-07 Jim Meyering <jim@meyering.net> * io/ftw.c: Add autoconf-recommended block of alloca-related code. Include autoconf-recommended block of dirent/NAMELEN-related definitions and includes. Use NAMELEN throughout, rather than _D_EXACT_NAMLEN. [_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN. [!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd. (stpcpy): Declare, if necessary. (mempcpy): Define, if necessary. [!_LIBC] (__stpcpy, __mempcpy): Define. [!_LIBC] (LXSTAT, XSTAT): Define. (lstat) [!LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat. (find_object): Don't use c99-style struct initializer. Tweak wording in a couple comments.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
index b357eb4e88..57db351735 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
@@ -52,6 +52,7 @@
add _IMP16,r15; \
lds.l @r15+,pr; \
DO_CALL(syscall_name, args); \
+ SYSCALL_INST_PAD; \
sts.l pr,@-r15; \
mov.l r0,@-r15; \
CDISABLE; \
@@ -106,6 +107,7 @@
.align 2; \
1: .long __local_enable_asynccancel - 0b; \
2:
+
# define CDISABLE \
mov.l 1f,r0; \
bsrf r0; \
@@ -129,6 +131,7 @@ extern int __local_multiple_threads attribute_hidden;
# if !defined PIC
# define SINGLE_THREAD_P \
mov.l 1f,r0; \
+ mov.l @r0,r0; \
bra 2f; \
tst r0,r0; \
.align 2; \
@@ -136,7 +139,15 @@ extern int __local_multiple_threads attribute_hidden;
2:
# elif defined FLOATING_STACKS && USE___THREAD
# define SINGLE_THREAD_P \
- mov.l @(MULTIPLE_THREADS_OFFSET,gbr),r0; tst r0,r0
+ stc gbr,r0; \
+ mov.w 0f,r1; \
+ sub r1,r0; \
+ mov.l @(MULTIPLE_THREADS_OFFSET,r0),r0; \
+ bra 1f; \
+ tst r0,r0; \
+ 0: .word TLS_PRE_TCB_SIZE; \
+ 1:
+
# else
# define SINGLE_THREAD_P \
mov r12,r2; \