Статическая инфраструктура для сборки кросс-компилятора
https://doi.org/10.25682/NIISI.2025.3.0008
Аннотация
В работе рассматривается проблема эксплуатации кросс-компилятора на базе GCC и бинарных утилит для отечественных микропроцессоров в условиях разнообразия аппаратных платформ и дистрибутивов ОС Linux. Показано, что использование разделяемых библиотек (прежде всего glibc) и зависящих от конкретного дистрибутива сборок приводит к множеству несовместимостей и усложняет сопровождение. Предложена статическая «самодостаточная» инфраструктура для сборки кросс-компилятора, включающая компилятор, бинарные утилиты и набор библиотек, собранные с использованием mus - альтернативной реализации стандартной библиотеки языка C. Описана многошаговая процедура раскрутки (bootstrapping), позволяющая получить конечный комплект инструментов, не использующий разделяемые библиотеки и минимально зависящий от параметров конкретной системы (кроме разрядности процессора и интерфейса ядра Linux). Обсуждаются ограничения, связанные с отказом от разделяемых библиотек (поддержка LTO, санитайзеров), и возможные направления расширения инфраструктуры за счет включения дополнительных утилит для сборки, тестирования и отладки.
Об авторах
А. А. АсоновРоссия
С. В. Самборский
Россия
Список литературы
1. GCC, the GNU Compiler Collection. https://gcc.gnu.org/ (дата обращения 08.11.2025).
2. GNU Binutils. https://www.gnu.org/software/binutils/ (дата обращения 08.11.2025).
3. gdb and binutils. https://sourceware.org/git/binutils-gdb.git (дата обращения 08.11.2025).
4. В. А. Галатенко, Г. Л. Левченкова, С. В. Самборский. Особенности сборки кросс-компилятора GCC и бинарных утилит. «Труды НИИСИ РАН», Т. 12 (2022), № 4, 43-49.
5. The GNU C Library. https://www.gnu.org/software/libc/ (дата обращения 08.11.2025).
6. The GNU C Library (glibc). https://sourceware.org/glibc/ (дата обращения 08.11.2025).
7. musl libc. https://musl.libc.org/ (дата обращения 08.11.2025).
Рецензия
Для цитирования:
Асонов А.А., Самборский С.В. Статическая инфраструктура для сборки кросс-компилятора. Труды НИИСИ. 2025;15(3):60-64. https://doi.org/10.25682/NIISI.2025.3.0008
For citation:
Asonov A.A., Samborskiy S.V. Static Infrastructure for Building a Cross Compiler. SRISA Proceedings. 2025;15(3):60-64. (In Russ.) https://doi.org/10.25682/NIISI.2025.3.0008