В Си-библиотеке nolibc, входящей в состав ядра Linux, реализована поддержка сигналов

Для включения в состав ядра Linux предложены изменения, расширяющие возможности стандартной Си-библиотеки nolibc, входящей в состав исходных текстов ядра Linux (tools/include/nolibc). В случае принятия изменений библиотека будет расширена средствами для обработки сигналов, включающими функции sigaction() и signal().

Проект nolibc входит в состав ядра начиная с выпуска 5.1 и нацелен на предоставление обвязки над базовыми системными вызовами, оформленной в виде минимальной стандартной Си-библиотеки, которую можно использовать для организации работы небольших и низкоуровневых приложений без установки полноценных внешних стандартных Си-библиотек (приложение можно статически скомпоновать с nolibc без привлечения внешних зависимостей). Библиотека очень компактная, например, статически собранный с nolibc процесс init занимает 36 КБ, а с Glibc —
755 КБ.

Основной упор делается на предоставление функций, достаточных для работы программ, поставляемых в initramfs, таких как dash, init и sleep, а также для создания тестовых наборов, оценивающих работоспособность подсистемы ядра. Среди доступных функций: open, close, read, write, time, chown, chmod, mkdir, chroot, dup, wait, execve, fork, ioctl, stat, mount, sleep, mmap, poll, malloc, free и т.п. Поддерживается сборка для архитектур ARM, AArch64, i386, x86_64, RISC-V и MIPS. Из ещё не реализованных возможностей упоминается отсутствие функций для сетевых операций и многопоточности, а также неполный набор функций string.h и stdlib.h.

Источник: http://www.opennet.ru/opennews/art.shtml?num=58532