Я пытаюсь добавить новый syscall в Red Hat 8.0, и я смущен каким-то аспектом механизма. Я следую этому руководству: http://www.linuxjournal.com/article/3326, в котором подробно описаны шаги по обновлению таблицы syscall в entry.S
и unistd.h
.Как syscall находится в Linux?
Тем не менее, я не могу понять, как компилятор действительно находит, где syscall реализован из этой информации. Очевидно, что есть что-то, что связано с #include
s, но я не могу найти никаких указаний на включение в них, а также не обнаруживать многие из системных вызовов в коде. Что мне нужно сделать для моего syscall, который можно найти?
Кстати, RedHat 8.0 действительно * действительно * старый к настоящему времени. Почему бы не работать с ядром Linux 2.6.31? Я бы использовал Gentoo как дистрибутив. Нет ничего лучше, чем Gentoo для программиста, ИМХО. –