Add unwind annotations to the asm part of crt1 on i386. Terminate the

process with SIGTRAP if _start1() unexpectedly returns.

Reviewed by:	kan
MFC after:	2 weeks
This commit is contained in:
Konstantin Belousov 2010-06-18 11:10:39 +00:00
parent 15744a9c4c
commit 5c1a5e740f

View File

@ -30,15 +30,22 @@
.align 4
.globl _start
.type _start, @function
_start: xorl %ebp,%ebp
_start:
.cfi_startproc
xorl %ebp,%ebp
pushl %ebp
.cfi_def_cfa_offset 4
movl %esp,%ebp
.cfi_offset %ebp,-8
.cfi_def_cfa_register %ebp
andl $0xfffffff0,%esp # align stack
leal 8(%ebp),%eax
pushl %eax # argv
pushl 4(%ebp) # argc
pushl %edx # rtld cleanup
call _start1
int3
.cfi_endproc
.size _start, . - _start
.ident "$FreeBSD$"