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