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 Tarreauint 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