В тулчейн из состава KasperskyOS SDK входит один или несколько компиляторов Clang, а также компилятор rustc. В директории toolchain/bin находятся следующие файлы:
исполняемые файлы компиляторов (например, clang-17, rustc);
исполняемые файлы компоновщиков (например, aarch64-kos-ld);
исполняемые файлы ассемблеров (например, aarch64-kos-as);
Bash-скрипты для компилятора Clang (например, aarch64-kos-clang, aarch64-kos-clang++).
Особенности работы компоновщика
При выполнении сборки исполняемого файла программы компоновщик по умолчанию связывает следующие библиотеки в указанном порядке:
libc – стандартная библиотека языка C.
libm – библиотека, реализующая математические функции стандартной библиотеки языка C.
libvfs_stubs – библиотека, содержащая заглушки функций ввода/вывода (например, open, socket, read, write).
libkos – библиотека для доступа к службам ядра KasperskyOS.
libenv – библиотека подсистемы настройки окружения программ (переменных окружения, аргументов функции main и пользовательских конфигураций).
libsrvtransport-u – библиотека поддержки IPC между процессами и ядром.