627 |
/* make sure that the keyword is not disabled by glibc (TINYC case) */ |
/* make sure that the keyword is not disabled by glibc (TINYC case) */ |
628 |
#undef __attribute__ |
#undef __attribute__ |
629 |
|
|
630 |
|
#ifndef __attribute_used__ |
631 |
|
#define __attribute_used__ |
632 |
|
#endif |
633 |
|
|
634 |
/* same method as the linux kernel... */ |
/* same method as the linux kernel... */ |
635 |
#define __init_call __attribute__ ((unused,__section__ (".initcall.init"))) |
#define __init_call __attribute_used__ \ |
636 |
#define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit"))) |
__attribute__((unused, __section__ (".initcall.init"))) |
637 |
|
#define __exit_call __attribute_used__ \ |
638 |
|
__attribute__((unused, __section__ (".exitcall.exit"))) |
639 |
|
|
640 |
#define qe_module_init(fn) \ |
#define qe_module_init(fn) \ |
641 |
static int (*__initcall_##fn)(void) __init_call = fn |
static int (*__initcall_##fn)(void) __init_call = fn |