From: drepper Date: Sun, 12 Jan 2003 23:02:55 +0000 (+0000) Subject: (PSEUDO): Setup backchain in pseudo_cancel. Minor code improvements. X-Git-Tag: glibc-2_3_2~1100 X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=commitdiff_plain;h=1dc1f03f5996c3eba3fb0b7da83a9d6765303b07 (PSEUDO): Setup backchain in pseudo_cancel. Minor code improvements. --- diff --git a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h index 753fdd93f5..9e856a4d0e 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h @@ -38,21 +38,22 @@ ENTRY(name) \ br %r14; \ L(pseudo_cancel): \ STM_##args \ - stm %r13,%r15,52(%r15); \ + stm %r12,%r15,48(%r15); \ + lr %r14,%r15; \ ahi %r15,-96; \ + st %r14,0(%r15); \ basr %r13,0; \ 200301: l %r1,200302f-200301b(%r13); \ - bas %r14,0(%r13,%r1); \ + bas %r14,0(%r1,%r13); \ lr %r0,%r2; \ LM_##args \ DO_CALL(syscall_name, args); \ - l %r3,200303f-200301b(%r13); \ - lr %r4,%r13; \ - lr %r13,%r2; \ + l %r1,200303f-200301b(%r13); \ + lr %r12,%r2; \ lr %r2,%r0; \ - bas %r14,0(%r4,%r3); \ - lr %r2,%r13; \ - lm %r13,%r15,52+96(%r15); \ + bas %r14,0(%r1,%r13); \ + lr %r2,%r12; \ + lm %r12,%r15,48+96(%r15); \ lhi %r4,-4095; \ clr %r2,%r4; \ jnl SYSCALL_ERROR_LABEL; \ diff --git a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h index 0e3daa5d31..19ecee80ec 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h @@ -39,16 +39,18 @@ ENTRY(name) \ L(pseudo_cancel): \ STM_##args \ stmg %r13,%r15,104(%r15); \ - aghi %r15,-192; \ + lgr %r14,%r15; \ + aghi %r15,-160; \ + stg %r14,0(%r15); \ brasl %r14,CENABLE; \ - lr %r0,%r2; \ + lgr %r0,%r2; \ LM_##args \ DO_CALL(syscall_name, args); \ lgr %r13,%r2; \ - lr %r2,%r0; \ + lgr %r2,%r0; \ brasl %r14,CDISABLE; \ lgr %r2,%r13; \ - lmg %r13,%r15,104+192(%r15); \ + lmg %r13,%r15,104+160(%r15); \ lghi %r4,-4095; \ clgr %r2,%r4; \ jnl SYSCALL_ERROR_LABEL; \ @@ -72,11 +74,11 @@ L(pseudo_end): #define STM_5 stmg %r2,%r5,16(%r15); #define LM_0 /* Nothing */ -#define LM_1 lg %r2,16+192(%r15); -#define LM_2 lmg %r2,%r3,16+192(%r15); -#define LM_3 lmg %r2,%r4,16+192(%r15); -#define LM_4 lmg %r2,%r5,16+192(%r15); -#define LM_5 lmg %r2,%r5,16+192(%r15); +#define LM_1 lg %r2,16+160(%r15); +#define LM_2 lmg %r2,%r3,16+160(%r15); +#define LM_3 lmg %r2,%r4,16+160(%r15); +#define LM_4 lmg %r2,%r5,16+160(%r15); +#define LM_5 lmg %r2,%r5,16+160(%r15); # ifndef __ASSEMBLER__ extern int __local_multiple_threads attribute_hidden;