xref: /openbmc/linux/tools/include/nolibc/signal.h (revision 55abdd1f)
199cb50abSWilly Tarreau /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
299cb50abSWilly Tarreau /*
399cb50abSWilly Tarreau  * signal function definitions for NOLIBC
499cb50abSWilly Tarreau  * Copyright (C) 2017-2022 Willy Tarreau <w@1wt.eu>
599cb50abSWilly Tarreau  */
699cb50abSWilly Tarreau 
799cb50abSWilly Tarreau #ifndef _NOLIBC_SIGNAL_H
899cb50abSWilly Tarreau #define _NOLIBC_SIGNAL_H
999cb50abSWilly Tarreau 
1099cb50abSWilly Tarreau #include "std.h"
1199cb50abSWilly Tarreau #include "arch.h"
1299cb50abSWilly Tarreau #include "types.h"
1399cb50abSWilly Tarreau #include "sys.h"
1499cb50abSWilly Tarreau 
1599cb50abSWilly Tarreau /* This one is not marked static as it's needed by libgcc for divide by zero */
1699cb50abSWilly Tarreau __attribute__((weak,unused,section(".text.nolibc_raise")))
raise(int signal)1799cb50abSWilly Tarreau int raise(int signal)
1899cb50abSWilly Tarreau {
1999cb50abSWilly Tarreau 	return sys_kill(sys_getpid(), signal);
2099cb50abSWilly Tarreau }
2199cb50abSWilly Tarreau 
22*55abdd1fSWilly Tarreau /* make sure to include all global symbols */
23*55abdd1fSWilly Tarreau #include "nolibc.h"
24*55abdd1fSWilly Tarreau 
2599cb50abSWilly Tarreau #endif /* _NOLIBC_SIGNAL_H */
26