+2017-06-19 Christian Borntraeger <borntraeger@de.ibm.com>
+
+ * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall):
+ Simplify code by always using SVC 0 instead of EX.
+ * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
+
2017-06-16 H.J. Lu <hongjiu.lu@intel.com>
* elf/Versions (ld): Remove _dl_out_of_memory.
l %r6,192(%r15) /* fifth parameter */
l %r7,196(%r15) /* sixth parameter */
- basr %r8,0
-0: cl %r1,4f-0b(%r8) /* svc number < 256? */
- jl 2f
-1: svc 0
- j 3f
-2: ex %r1,1b-0b(%r8) /* lsb of R1 is subsituted as SVC number */
-3: l %r15,0(%r15) /* load back chain */
+ svc 0
+ l %r15,0(%r15) /* load back chain. */
cfi_adjust_cfa_offset (-96)
- lm %r6,15,24(%r15) /* load registers */
+ lm %r6,%r15,24(%r15) /* load registers. */
lhi %r0,-4095
clr %r2,%r0 /* check R2 for error */
jnl SYSCALL_ERROR_LABEL
br %r14 /* return to caller */
-4: .long 256
PSEUDO_END (syscall)
lg %r6,320(%r15) /* Fifth parameter. */
lg %r7,328(%r15) /* Sixth parameter. */
- basr %r8,0
-0: clg %r1,4f-0b(%r8) /* svc number < 256? */
- jl 2f
-1: svc 0
- j 3f
-2: ex %r1,1b-0b(%r8) /* lsb of R1 is subsituted as SVC number */
-3: lg %r15,0(%r15) /* load back chain */
+ svc 0
+ lg %r15,0(%r15) /* Load back chain. */
cfi_adjust_cfa_offset (-160)
- lmg %r6,15,48(%r15) /* Load registers. */
+ lmg %r6,%r15,48(%r15) /* Load registers. */
lghi %r0,-4095
clgr %r2,%r0 /* Check R2 for error. */
jgnl SYSCALL_ERROR_LABEL
br %r14 /* Return to caller. */
-4: .quad 256
PSEUDO_END (syscall)