This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] x86_64: CFI unwinding stop in _start


On Fri, 16 Mar 2012 20:33:27 +0100, Roland McGrath wrote:
> > +	cfi_startproc;
> > +	/* Clearing frame pointer is insufficient, use CFI.  */
> > +	cfi_undefined (rip);
> 
> You don't need semicolons after assembly statements.

It is macro.

But OK, 115 existing uses have no ';' while only 59 uses have ';'.


Thanks,
Jan


2012-03-16  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/x86_64/elf/start.S: Include <sysdep.h>.
	(_start): Add cfi_startproc, cfi_undefined for rip and cfi_endproc.

--- a/sysdeps/x86_64/elf/start.S
+++ b/sysdeps/x86_64/elf/start.S
@@ -53,12 +53,16 @@
 					NULL
 */
 
+#include <sysdep.h>
 #include "bp-sym.h"
 
 	.text
 	.globl _start
 	.type _start,@function
 _start:
+	cfi_startproc
+	/* Clearing frame pointer is insufficient, use CFI.  */
+	cfi_undefined (rip)
 	/* Clear the frame pointer.  The ABI suggests this be done, to mark
 	   the outermost frame obviously.  */
 	xorl %ebp, %ebp
@@ -113,6 +117,7 @@ _start:
 #endif
 
 	hlt			/* Crash if somehow `exit' does return.	 */
+	cfi_endproc
 
 /* Define a symbol for the first piece of initialized data.  */
 	.data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]