diff options
author | kib <kib@FreeBSD.org> | 2010-06-18 11:10:39 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2010-06-18 11:10:39 +0000 |
commit | f26dfb440a0d48a874435768ee94475ddbe496a2 (patch) | |
tree | 3632d228810fd8a8d4da7ac8c88e0760e544a102 /lib | |
parent | 056723449a64f6bd8fd42529e077378e2b34733c (diff) | |
download | FreeBSD-src-f26dfb440a0d48a874435768ee94475ddbe496a2.zip FreeBSD-src-f26dfb440a0d48a874435768ee94475ddbe496a2.tar.gz |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/csu/i386-elf/crt1_s.S | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/csu/i386-elf/crt1_s.S b/lib/csu/i386-elf/crt1_s.S index 2af8a1b..949d164 100644 --- a/lib/csu/i386-elf/crt1_s.S +++ b/lib/csu/i386-elf/crt1_s.S @@ -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$" |