diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-03 18:36:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-03 18:36:14 +0000 |
commit | 1739d268365514afbebc6b08d31173f4df7ba8fb (patch) | |
tree | dff6477b5e4e7efed42538e55260dfaeda9f99b5 /sysdeps/unix/sysv/linux/s390/s390-32/syscall.S | |
parent | d15a8404ef0c8d928998b7bab64c7b2bb9e2dcf7 (diff) | |
download | glibc-1739d268365514afbebc6b08d31173f4df7ba8fb.tar.gz glibc-1739d268365514afbebc6b08d31173f4df7ba8fb.tar.xz glibc-1739d268365514afbebc6b08d31173f4df7ba8fb.zip |
Update.
* libio/fileops.c (_IO_new_file_fopen): Close stillborn descriptor if ccs parameter isn't valid. Reported by Andreas Schwab. 2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Add support for system call numbers > 255. * sysdeps/unix/sysv/linux/s390/s390-32/syscall.h (DO_CALL, INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, INTERNAL_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscall.h (DO_CALL, INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, INTERNAL_SYSCALL): Likewise. 2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Don't free the dtv array if it is the initial dtv. 2003-03-03 Ulrich Drepper <drepper@redhat.com> * po/es.po: Update from translation team. * po/fr.po: Likewise. * po/sk.po: Likewise. * po/sv.po: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-32/syscall.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/s390-32/syscall.S | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S b/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S index f4f0beb31b..5455ec832d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S +++ b/sysdeps/unix/sysv/linux/s390/s390-32/syscall.S @@ -37,15 +37,19 @@ ENTRY (syscall) lr %r4,%r5 /* third parameter */ lr %r5,%r6 /* fourth parameter */ l %r6,192(%r15) /* fifth parameter */ - basr %r7,0 -.L0: ex %r1,.L1-.L0(%r7) /* lsb of R1 is subsituted as SVC number */ - l %r15,0(0,%r15) /* load back chain */ - lm %r6,15,24(%r15) /* load registers */ + basr %r7,0 +0: cl %r1,4f-0b(%r7) /* svc number < 256? */ + jl 2f +1: svc 0 + j 3f +2: ex %r1,1b-0b(%r7) /* lsb of R1 is subsituted as SVC number */ +3: l %r15,0(%r15) /* load back chain */ + lm %r6,15,24(%r15) /* load registers */ lhi %r0,-4095 clr %r2,%r0 /* check R2 for error */ jnl SYSCALL_ERROR_LABEL br %r14 /* return to caller */ -.L1: .word 0x0A00 /* opcode for SVC 0 */ +4: .long 256 PSEUDO_END (syscall) |