summaryrefslogtreecommitdiff
path: root/xen/lib/ctors.c
blob: 5bdc591cd50a9f0dc4f8e2d4166330666808d621 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <xen/init.h>
#include <xen/lib.h>

typedef void (*ctor_func_t)(void);
extern const ctor_func_t __ctors_start[], __ctors_end[];

void __init init_constructors(void)
{
    const ctor_func_t *f;
    for ( f = __ctors_start; f < __ctors_end; ++f )
        (*f)();

    /* Putting this here seems as good (or bad) as any other place. */
    BUILD_BUG_ON(sizeof(size_t) != sizeof(ssize_t));
}

/*
 * Local variables:
 * mode: C
 * c-file-style: "BSD"
 * c-basic-offset: 4
 * tab-width: 4
 * indent-tabs-mode: nil
 * End:
 */