Прискорбно наблюдать, как в 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 у него великоват.
Post #118
276

- ❤ 1