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