1130803Smarcel/*- 2130803Smarcel * Copyright (c) 2001 Peter Wemm <peter@FreeBSD.org> 3130803Smarcel * All rights reserved. 4130803Smarcel * 5130803Smarcel * Redistribution and use in source and binary forms, with or without 6130803Smarcel * modification, are permitted provided that the following conditions 7130803Smarcel * are met: 8130803Smarcel * 1. Redistributions of source code must retain the above copyright 9130803Smarcel * notice, this list of conditions and the following disclaimer. 10130803Smarcel * 2. Redistributions in binary form must reproduce the above copyright 11130803Smarcel * notice, this list of conditions and the following disclaimer in the 12130803Smarcel * documentation and/or other materials provided with the distribution. 13130803Smarcel * 14130803Smarcel * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15130803Smarcel * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16130803Smarcel * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17130803Smarcel * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18130803Smarcel * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19130803Smarcel * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20130803Smarcel * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21130803Smarcel * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22130803Smarcel * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23130803Smarcel * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24130803Smarcel * SUCH DAMAGE. 25130803Smarcel * 26130803Smarcel * $FreeBSD$ 27130803Smarcel */ 28130803Smarcel 29130803Smarcel#include <machine/asm.h> 30130803Smarcel__FBSDID("$FreeBSD$"); 31130803Smarcel 32130803Smarcel/* 33130803Smarcel * This file (and its companion crtn.S) form the terminators of the 34130803Smarcel * .init and .fini sections. 35130803Smarcel */ 36130803Smarcel .file "crti.S" 37130803Smarcel 38130803Smarcel .section .init,"ax",@progbits 39130803Smarcel .global _init# 40130803Smarcel .proc _init# 41130803Smarcel_init: 42130803Smarcel .regstk 0,2,0,0 43130803Smarcel .prologue 12,loc0 44130803Smarcel .save ar.pfs,loc1 45130803Smarcel alloc loc1=ar.pfs,0,2,0,0 46130803Smarcel mov loc0=b0 /* Save return addr */ 47130803Smarcel .body 48130803Smarcel .endp _init# 49130803Smarcel 50130803Smarcel .section .fini,"ax",@progbits 51130803Smarcel .global _fini# 52130803Smarcel .proc _fini# 53130803Smarcel_fini: 54130803Smarcel .regstk 0,2,0,0 55130803Smarcel .prologue 12,loc0 56130803Smarcel .save ar.pfs,loc1 57130803Smarcel alloc loc1=ar.pfs,0,2,0,0 58130803Smarcel mov loc0=b0 /* Save return addr */ 59130803Smarcel .body 60130803Smarcel .endp _fini# 61130803Smarcel