about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/s390/s390-64
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/s390/s390-64')
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/clone.S3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/mmap.S12
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/socket.S6
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/syscall.S12
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S10
5 files changed, 37 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
index c6f2bdcbd8..f70bd15260 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S
@@ -33,6 +33,7 @@
 	.text
 ENTRY(__clone)
 	stg	%r6,48(%r15)		/* store %r6 to save area */
+	cfi_offset (%r6,-112)
 	lgr	%r0,%r5			/* move *arg out of the way */
 	ltgr    %r1,%r2			/* check fn and move to %r1 */
 	jz      error			/* no NULL function pointers */
@@ -51,6 +52,7 @@ ENTRY(__clone)
 error:
 	lghi	%r2,-EINVAL
 	jg	SYSCALL_ERROR_LABEL
+PSEUDO_END (__clone)
 
 thread_start:
 	/* fn is in gpr 1, arg in gpr 0 */
@@ -63,5 +65,4 @@ thread_start:
 #else
 	jg	_exit		/* branch to _exit -> thread termination */
 #endif
-PSEUDO_END (__clone)
 weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S b/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
index 8c94fd4c28..443d432e1c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S
@@ -27,9 +27,20 @@
 ENTRY(__mmap)
 	/* Save registers and setup stack frame.  */
         stmg    %r6,%r15,48(%r15)
+	cfi_offset (%r15,-40)
+	cfi_offset (%r14,-48)
+	cfi_offset (%r13,-56)
+	cfi_offset (%r12,-64)
+	cfi_offset (%r11,-72)
+	cfi_offset (%r10,-80)
+	cfi_offset (%r9,-88)
+	cfi_offset (%r8,-96)
+	cfi_offset (%r7,-104)
+	cfi_offset (%r6,-112)
         lgr     %r1,%r15
         lg      %r0,8(%r15)             /* Load eos.  */
         aghi    %r15,-208               /* Buy stack space.  */
+	cfi_adjust_cfa_offset (208)
         stg     %r1,0(%r15)             /* Store back chain.  */
         stg     %r0,8(%r15)             /* Store eos.  */
 
@@ -50,6 +61,7 @@ ENTRY(__mmap)
         svc     SYS_ify(mmap)
 
         lg      %r15,0(%r15)            /* Load back chain.  */
+	cfi_adjust_cfa_offset (-208)
         lmg     %r6,%r15,48(%r15)       /* Load registers.  */
 
         /* Check gpr 2 for error.  */ 
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/socket.S b/sysdeps/unix/sysv/linux/s390/s390-64/socket.S
index 3985a9c4b7..c98a97449b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/socket.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/socket.S
@@ -47,8 +47,6 @@
 
 .globl __socket
 ENTRY(__socket)
-	cfi_startproc
-
 	/* Save registers and setup stack.  */
         stmg    %r6,%r15,48(%r15)       /* Save registers.  */
 	cfi_offset (%r15,-40)
@@ -130,9 +128,7 @@ L(socket_cancel):
 	j	4b
 #endif
 
-	cfi_endproc
-
-PSEUDO_END (__socket)
+END (__socket)
 
 #ifndef NO_WEAK_ALIAS
 weak_alias (__socket, socket)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S b/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
index 5a6bcfc90d..4caeaeaf50 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
@@ -25,9 +25,20 @@
 ENTRY (syscall)
 	/* Save registers and setup stack.  */
 	stmg	%r6,%r15,48(%r15)  /* Save registers.  */
+	cfi_offset (%r15,-40)
+	cfi_offset (%r14,-48)
+	cfi_offset (%r13,-56)
+	cfi_offset (%r12,-64)
+	cfi_offset (%r11,-72)
+	cfi_offset (%r10,-80)
+	cfi_offset (%r9,-88)
+	cfi_offset (%r8,-96)
+	cfi_offset (%r7,-104)
+	cfi_offset (%r6,-112)
 	lgr	%r1,%r15
 	lg	%r0,8(%r15)	   /* Load eos.	 */
 	aghi	%r15,-160	   /* Buy stack space.	*/
+	cfi_adjust_cfa_offset (160)
 	stg	%r1,0(%r15)	   /* Store back chain.	 */
 	stg	%r0,8(%r15)	   /* Store eos.  */
 	
@@ -45,6 +56,7 @@ ENTRY (syscall)
 	j      3f
 2:	ex     %r1,1b-0b(%r7)      /* lsb of R1 is subsituted as SVC number */
 3:	lg     %r15,0(%r15)        /* load back chain */
+	cfi_adjust_cfa_offset (-160)
 	lmg	%r6,15,48(%r15)	   /* Load registers.  */
 
 	lghi   %r0,-4095
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
index 84c747aef0..ce1f03e006 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
@@ -56,13 +56,18 @@ ENTRY(__syscall_error)
 	br	%r14
 # else
 	stmg	%r13,%r15,104(%r15)
+	cfi_offset (%r15,-40)
+	cfi_offset (%r14,-48)
+	cfi_offset (%r13,-56)
 	lgr	%r0,%r15
 	aghi	%r15,-160
+	cfi_adjust_cfa_offset (160)
 	lcr	%r13,%r2
 	stg	%r0,0(%r15)
 	brasl	%r14,__errno_location
 	st	%r13,0(%r2)
 	lmg	%r13,%r15,264(%r15)
+	cfi_adjust_cfa_offset (-160)
 	lghi	%r2,-1
 	br	%r14
 #endif
@@ -97,13 +102,18 @@ ENTRY(__syscall_error)
 	br	%r14	
 # else
 	stmg	%r13,%r15,104(%r15)
+	cfi_offset (%r15,-40)
+	cfi_offset (%r14,-48)
+	cfi_offset (%r13,-56)
 	lgr	%r0,%r15
 	aghi	%r15,-160
+	cfi_adjust_cfa_offset (160)
 	lcr	%r13,%r2
 	stg	%r0,0(%r15)
 	brasl	%r14,__errno_location@PLT
 	st	%r13,0(%r2)
 	lmg	%r13,%r15,264(%r15)
+	cfi_adjust_cfa_offset (-160)
 	lghi	%r2,-1
 	br	%r14
 # endif