2 * Copyright 2005-2006, Axel Dörfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
6 /** This file contains the first part of the ".init" and ".fini" sections in
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:
13 * call to _init_before/_term_before
14 * crtbegin.S GCC specific: constructors/destructors are called, ...
16 * crtn.S call to _init_after/_term_after
20 #define FUNCTION(x) .global x; .type x,@function; x
26 sub $4,%esp // Keep stack aligned
27 pushl 8(%ebp) // put image ID on the stack again
28 call __haiku_init_before
29 // crtbegin.o stuff comes here
35 sub $4,%esp // Keep stack aligned
37 call __haiku_term_before
38 // crtend.o stuff comes here