xref: /openbmc/linux/tools/include/nolibc/signal.h (revision 99cb50ab)
1*99cb50abSWilly Tarreau /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
2*99cb50abSWilly Tarreau /*
3*99cb50abSWilly Tarreau  * signal function definitions for NOLIBC
4*99cb50abSWilly Tarreau  * Copyright (C) 2017-2022 Willy Tarreau <w@1wt.eu>
5*99cb50abSWilly Tarreau  */
6*99cb50abSWilly Tarreau 
7*99cb50abSWilly Tarreau #ifndef _NOLIBC_SIGNAL_H
8*99cb50abSWilly Tarreau #define _NOLIBC_SIGNAL_H
9*99cb50abSWilly Tarreau 
10*99cb50abSWilly Tarreau #include "std.h"
11*99cb50abSWilly Tarreau #include "arch.h"
12*99cb50abSWilly Tarreau #include "types.h"
13*99cb50abSWilly Tarreau #include "sys.h"
14*99cb50abSWilly Tarreau 
15*99cb50abSWilly Tarreau /* This one is not marked static as it's needed by libgcc for divide by zero */
16*99cb50abSWilly Tarreau __attribute__((weak,unused,section(".text.nolibc_raise")))
17*99cb50abSWilly Tarreau int raise(int signal)
18*99cb50abSWilly Tarreau {
19*99cb50abSWilly Tarreau 	return sys_kill(sys_getpid(), signal);
20*99cb50abSWilly Tarreau }
21*99cb50abSWilly Tarreau 
22*99cb50abSWilly Tarreau #endif /* _NOLIBC_SIGNAL_H */
23