typedef int (*initcall_t)(void);
typedef void (*exitcall_t)(void);
-#define __init __attribute__((__used__,__section__(".mad.init")))
-#define __exit __attribute__((__used__,__section__(".mad.exit")))
+#define __init __attribute__((__used__,__section__("MAD_INIT,__text,regular")))
+#define __exit __attribute__((__used__,__section__("MAD_EXIT,__text,regular")))
#define module_init(fn) static __init initcall_t __init_##fn = fn;
#define module_exit(fn) static __exit exitcall_t __exit_##fn = fn;
#define UNIXERR(fun) err("%s:%d:%s %s: %m", \
__FILE__, __LINE__, __func__, fun)
-extern sig_atomic_t sigint;
-extern sig_atomic_t sighup;
extern int log_level;
extern bool log_syslog;
static inline void common_startup(void)
{
signal(SIGPIPE, SIG_IGN);
- signal(SIGINT, &common_sighandler);
- signal(SIGTERM, &common_sighandler);
- signal(SIGHUP, &common_sighandler);
signal(SIGSEGV, &common_sighandler);
}