Cross-сборка GCC

Cross-сборка GCC

Прискорбно наблюдать, как в GNU Compiler Collection (GCC) добавляют компиляторы не заботясь о кросс-сборке. Так, например, компилятор Modula-2 не кросс-компиляемый. Во время конфигурирования просто забыли добавить —host триплет (что приводит к ошибке сразу) и, кроме того, утилиты mlink, mc, которые должны работать на build-машине, собираются кроссом на целевую машину. В результате, естественно, происходит ошибка при запуске mlink на build-машине (во время сборки GCC).

Подобных ошибок множество, например, при компоновке библиотеки gmp использутся левые build, host, target триплеты и без наложения pathch-ей на Makefile.in собрать кроссом GCC не получится.

Люди забывают, что (в случае GCC):

—build - это машина, на которой собирают GCC;

—host - это машина, на которой будет работать собранная коллекция компиляторов (GCC);

—target - это машина, для которой готовятся программы с помощью GCC на host-машине.

В общем, компилятор Modula-2 не готов и в сборку GCC добавлен не будет.

Rust, вообще не понятно зачем, добавили в GCC. Он (тот что в составе GCC) вообще не может готовить программы.

Отрадно то, что к компилятору языка D, в составе GCC, нет никаких претензий. Разве что runtime у него великоват.

Telegram: @rxlinux

E-mail: Contact Us

Начать дискуссию