xref: /freebsd/lib/csu/i386/crti.S (revision 1d386b48a555f61cb7325543adbbb5c3f3407a66)
1302af795SEd Maste/*-
2302af795SEd Maste * Copyright 1996, 1997, 1998, 2000 John D. Polstra.
3302af795SEd Maste * All rights reserved.
4302af795SEd Maste *
5302af795SEd Maste * Redistribution and use in source and binary forms, with or without
6302af795SEd Maste * modification, are permitted provided that the following conditions
7302af795SEd Maste * are met:
8302af795SEd Maste * 1. Redistributions of source code must retain the above copyright
9302af795SEd Maste *    notice, this list of conditions and the following disclaimer.
10302af795SEd Maste * 2. Redistributions in binary form must reproduce the above copyright
11302af795SEd Maste *    notice, this list of conditions and the following disclaimer in the
12302af795SEd Maste *    documentation and/or other materials provided with the distribution.
13302af795SEd Maste *
14302af795SEd Maste * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15302af795SEd Maste * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16302af795SEd Maste * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17302af795SEd Maste * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18302af795SEd Maste * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19302af795SEd Maste * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20302af795SEd Maste * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21302af795SEd Maste * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22302af795SEd Maste * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23302af795SEd Maste * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24302af795SEd Maste */
25302af795SEd Maste
26302af795SEd Maste#include <machine/asm.h>
27302af795SEd Maste	.section .init,"ax",@progbits
28302af795SEd Maste	.align	4
29302af795SEd Maste	.globl	_init
30302af795SEd Maste	.type	_init,@function
31302af795SEd Maste_init:
32*d7e2580aSDmitry Chagin	pushl	%ebp
33*d7e2580aSDmitry Chagin	movl	%esp,%ebp
34*d7e2580aSDmitry Chagin	subl	$8,%esp		/* re-align stack pointer */
35302af795SEd Maste
36302af795SEd Maste	.section .fini,"ax",@progbits
37302af795SEd Maste	.align	4
38302af795SEd Maste	.globl	_fini
39302af795SEd Maste	.type	_fini,@function
40302af795SEd Maste_fini:
41*d7e2580aSDmitry Chagin	pushl	%ebp
42*d7e2580aSDmitry Chagin	movl	%esp,%ebp
43*d7e2580aSDmitry Chagin	subl	$8,%esp		/* re-align stack pointer */
44302af795SEd Maste
45302af795SEd Maste	.section .note.GNU-stack,"",%progbits
46