[Glibc-bsd-commits] r5856 - trunk/glibc-ports-2.22/kfreebsd/i386

aurel32 at alioth.debian.org aurel32 at alioth.debian.org
Sun Dec 6 18:09:40 UTC 2015


Author: aurel32
Date: 2015-12-06 18:09:39 +0000 (Sun, 06 Dec 2015)
New Revision: 5856

Modified:
   trunk/glibc-ports-2.22/kfreebsd/i386/makecontext.S
Log:
Add CFI directives to i386/makecontext.S


Modified: trunk/glibc-ports-2.22/kfreebsd/i386/makecontext.S
===================================================================
--- trunk/glibc-ports-2.22/kfreebsd/i386/makecontext.S	2015-12-04 11:04:36 UTC (rev 5855)
+++ trunk/glibc-ports-2.22/kfreebsd/i386/makecontext.S	2015-12-06 18:09:39 UTC (rev 5856)
@@ -68,12 +68,18 @@
 	   below).  */
 #ifdef PIC
 	call	1f
+	cfi_adjust_cfa_offset (4)
 1:	popl	%ecx
+	cfi_adjust_cfa_offset (-4)
 	addl	$L(exitcode)-1b, %ecx
 	movl	%ecx, (%edx)
 #else
 	movl	$L(exitcode), (%edx)
 #endif
+	/* We need to terminate the FDE here instead of after ret because
+	   the unwinder looks at ra-1 for unwind information.  */
+	cfi_endproc
+
 	/* 'makecontext' returns no value.  */
 	ret
 
@@ -108,6 +114,7 @@
 	/* The 'exit' call should never return.  In case it does cause
 	   the process to terminate.  */
 	hlt
+	cfi_startproc
 END(__makecontext)
 
 weak_alias(__makecontext, makecontext)




More information about the Glibc-bsd-commits mailing list