crt1_s.S revision 200038
1/*- 2 * Copyright 2009 Konstantin Belousov. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * 25 * $FreeBSD: head/lib/csu/i386-elf/crt1_s.S 200038 2009-12-02 16:34:20Z kib $ 26 */ 27 28 29 .text 30 .align 4 31 .globl _start 32 .type _start, @function 33_start: xorl %ebp,%ebp 34 pushl %ebp 35 movl %esp,%ebp 36 andl $0xfffffff0,%esp # align stack 37 leal 8(%ebp),%eax 38 pushl %eax # argv 39 pushl 4(%ebp) # argc 40 pushl %edx # rtld cleanup 41 call _start1 42 .size _start, . - _start 43 44 .ident "$FreeBSD: head/lib/csu/i386-elf/crt1_s.S 200038 2009-12-02 16:34:20Z kib $" 45