* [PATCH] sysdep-cancel fix for s390*.
@ 2003-01-13 4:59 Martin Schwidefsky
2003-01-13 4:59 ` Ulrich Drepper
0 siblings, 1 reply; 2+ messages in thread
From: Martin Schwidefsky @ 2003-01-13 4:59 UTC (permalink / raw)
To: libc-hacker
Hi,
thanks to Jakub who wrote sysdep-cancel.h for s390* the current
libc head is compiling out of the box and passes make check without
a problem. I checked Jakubs try at s390 assembler and found the
code doesn't setup the backchain which is needed by backtrace.
The rest is minor code improvements.
blue skies,
Martin.
2003-01-10 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Setup
backchain in pseudo_cancel. Minor code improvements.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Setup
backchain in pseudo_cancel. Correct stack frame size.
diff -urN libc/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h libc-s390/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
--- libc/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h Sun Jan 5 06:06:21 2003
+++ libc-s390/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h Fri Jan 10 19:43:26 2003
@@ -38,21 +38,22 @@
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 -urN libc/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h libc-s390/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
--- libc/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h Sun Jan 5 06:06:45 2003
+++ libc-s390/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h Fri Jan 10 19:42:57 2003
@@ -39,16 +39,18 @@
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 @@
#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;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] sysdep-cancel fix for s390*.
2003-01-13 4:59 [PATCH] sysdep-cancel fix for s390* Martin Schwidefsky
@ 2003-01-13 4:59 ` Ulrich Drepper
0 siblings, 0 replies; 2+ messages in thread
From: Ulrich Drepper @ 2003-01-13 4:59 UTC (permalink / raw)
To: Martin Schwidefsky; +Cc: libc-hacker
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Martin Schwidefsky wrote:
> Hi,
> thanks to Jakub who wrote sysdep-cancel.h for s390* the current
> libc head is compiling out of the box and passes make check without
> a problem. I checked Jakubs try at s390 assembler and found the
> code doesn't setup the backchain which is needed by backtrace.
> The rest is minor code improvements.
Thanks, the patch is in.
- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+IfQ42ijCOnn/RHQRAuaOAJ404BOPXuOQ/lBvkl8vOKdqMEvpKQCeP3Wx
khEYZT9H3PjVW7tDVv9nSHE=
=9SsS
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-01-12 23:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-13 4:59 [PATCH] sysdep-cancel fix for s390* Martin Schwidefsky
2003-01-13 4:59 ` Ulrich Drepper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).