This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
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