public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* Avoid wrong unwind info in clone child
@ 2006-04-03 10:59 Andreas Schwab
  2006-04-04  7:02 ` Roland McGrath
  0 siblings, 1 reply; 2+ messages in thread
From: Andreas Schwab @ 2006-04-03 10:59 UTC (permalink / raw)
  To: libc-hacker

The unwind info attached to the clone function is usually wrong for the
child.  This changes the ppc(64) implementation to terminate the FDE
before the syscall, similar to the i386 implementation.

Andreas.

2006-04-03  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
	before syscall.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.

--- sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S.~1.7.~	2006-01-11 10:24:55.000000000 +0100
+++ sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S	2006-03-26 20:35:33.000000000 +0200
@@ -84,6 +84,10 @@ ENTRY (BP_SYM (__clone))
 	mr	r6,r8
 	mr	r7,r9
 
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
 	/* Do the call.  */
 	DO_CALL(SYS_ify(clone))
 
@@ -138,6 +142,8 @@ L(parent):
 L(badargs):
 	li	r3,EINVAL
 	b	__syscall_error@local
+
+	cfi_startproc
 END (BP_SYM (__clone))
 
 weak_alias (BP_SYM (__clone), BP_SYM (clone))
--- sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S.~1.10.~	2006-03-17 11:37:26.000000000 +0100
+++ sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S	2006-03-31 15:45:48.000000000 +0200
@@ -81,6 +81,10 @@ ENTRY (BP_SYM (__clone))
 	mr	r6,r8
 	mr	r7,r9
 
+	/* End FDE now, because in the child the unwind info will be
+	   wrong.  */
+	cfi_endproc
+
 	/* Do the call.  */
 	DO_CALL(SYS_ify(clone))
 
@@ -132,6 +136,8 @@ L(parent):
 L(badargs):
 	li	r3,EINVAL
 	b	JUMPTARGET(__syscall_error)
+
+	cfi_startproc
 END (BP_SYM (__clone))
 
 weak_alias (BP_SYM (__clone), BP_SYM (clone))

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-04-04  7:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-03 10:59 Avoid wrong unwind info in clone child Andreas Schwab
2006-04-04  7:02 ` Roland McGrath

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).