arrfab / rpms / glibc

Forked from rpms/glibc 4 years ago
Clone

Blame SOURCES/glibc-rh1078225.patch

147e83
From 3a3acb6afc753475675b5724f206e619d0c9590d Mon Sep 17 00:00:00 2001
147e83
From: Tom Tromey <tromey@redhat.com>
147e83
Date: Mon, 20 Jan 2014 12:58:03 +0000
147e83
Subject: [PATCH] [AArch64] BZ #16169 Add CFI directives to clone.S
147e83
147e83
[BZ #16169] Add CFI directives to the AArch64 clone.S implementation
147e83
and ensure that the FP in the child is zero'd in order to comply with
147e83
AAPCS.
147e83
---
147e83
 NEWS                                          |    8 ++++----
147e83
 ports/ChangeLog.aarch64                       |    6 ++++++
147e83
 ports/sysdeps/unix/sysv/linux/aarch64/clone.S |    7 ++++++-
147e83
 3 files changed, 16 insertions(+), 5 deletions(-)
147e83
147e83
Index: glibc-2.17-c758a686/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
147e83
===================================================================
147e83
--- glibc-2.17-c758a686/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
147e83
+++ glibc-2.17-c758a686/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
147e83
@@ -63,6 +63,7 @@ ENTRY(__clone)
147e83
 	mov	x8, #SYS_ify(clone)
147e83
 	/* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid.  */
147e83
 	svc	0x0
147e83
+	cfi_endproc
147e83
 	cmp	x0, #0
147e83
 	beq	2f
147e83
 	blt	C_SYMBOL_NAME(__syscall_error)
147e83
@@ -71,6 +72,9 @@ ENTRY(__clone)
147e83
 	b	syscall_error
147e83
 
147e83
 2:
147e83
+	cfi_startproc
147e83
+	cfi_undefined (x30)
147e83
+	mov	x29, 0
147e83
 #ifdef RESET_PID
147e83
 	tbnz	x5, #CLONE_THREAD_BIT, 3f
147e83
 	mov	x0, #-1
147e83
@@ -92,7 +96,8 @@ ENTRY(__clone)
147e83
 
147e83
 	/* We are done, pass the return value through x0.  */
147e83
 	b	HIDDEN_JUMPTARGET(_exit)
147e83
-
147e83
+	cfi_endproc
147e83
+	cfi_startproc
147e83
 PSEUDO_END (__clone)
147e83
 
147e83
 weak_alias (__clone, clone)