Смотрю тут описание системных вызовов: http://www.lxhp.in-berlin.de/lhpsysc0.html Те вызовы, которые обозначены буквой P, как там написано, поддерживаются в LINUX (2.2/4), FREEBSD, NETBSD, OPENBSD, BEOS и ATHEOS. Вопрос: а как же ядро 2.6? Оно их просто не поддерживает (т.к. изменилось соглашение) или всё равно поддерживает для совместимости со старым софтом?
ну как ядро пытающееся соответствовать posix может отказаться от exit, fork, read, write, open, close... Я думаю, про 2.6 не написано в пояснении к буковке P, просто потому что:
Не откажутся, конечно, но вдруг они изменили соглашение о вызове через int 80h или вообще прикрыли обработчик int 80h? На той странице есть описания системных вызовов для 2.6, так что врядли автор просто забыл обновить страничку.
у меня нету удовлетворительных объяснений этому факту. Во-всяком случае все эти 46 сисколлов я нашёл в /usr/src/linux-2.6.17-rc6/arch/i386/kernel/syscall_table.S
r90 Ясно. Всё равно придётся искать дистр с этим новым ядром, чтобы проверить, но уже есть основания полагать, что сисколлы на месте. Спасибо!
в новой версии ядра sys_call_table[] не экспортируется правда. но вся документация есть в сорцах ядра.
Да, все стандартные сисколы на месте в 2.6. Зато обнаружилось, что некоторые "стандартные" сисколы (которые обозначены буквой P) отсутствуют во FreeBSD/NetBSD, а некоторые имеют разные ординалы.