1/*
2 * Copyright 2005, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5
6/**	This file contains the first part of the ".init" and ".fini" sections in
7 *	the ELF executable.
8 *	The functions defined here will be called during initialization/termination
9 *	of the loaded executable/library. The ".init" and ".fini" sections are
10 *	stacked together like this:
11 *
12 *	crti.S		entry point
13 *				call to _init_before/_term_before
14 *	crtbegin.S	GCC specific: constructors/destructors are called, ...
15 *	crtend.S
16 *	crtn.S		call to _init_after/_term_after
17 *				exit
18 */
19
20#define FUNCTION(x) .global x; .type x,%function; x
21
22.section .init
23FUNCTION(_init):
24	addi sp, sp, -16
25	sd   ra, 8(sp)
26	// crtbegin.o stuff comes here
27
28.section .fini
29FUNCTION(_fini):
30	addi sp, sp, -16
31	sd   ra, 8(sp)
32	// crtend.o stuff comes here
33