Этот пакет известен своим нестабильным поведением при компиляции с
измененными опциями оптимизации (включая опции -march и -mcpu). GCC
рекомендуется компилировать с настройками по умолчанию. Следовательно,
если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие
уровень оптимизации по умолчанию, рекомендуется убрать их при сборке
пакета GCC.
Это старая версия GCC которую мы собираемся использовать для компиляции ядра в Главе 8.
Эта версия рекомендуется разработциками ядра для абсолютной
стабильности. Поздние версии компилятора GCC не считаются идеальными
для тестирования сборки ядра Linux. Можно использовать и более поздние
версии, но мы рекомендуем следовать советам разработчиков и собирать
ядро этой версией компилятора.
Мы будем устанавливать старую версию GCC с нестандартным префиксом /opt, посколькуsoиспользуемый в нашей системе GCC уже установлен в /usr .
Применим следующие патчи:
patch -Np1 -i ../gcc-2.95.3-2.patch patch -Np1 -i ../gcc-2.95.3-no-fixinc.patch patch -Np1 -i ../gcc-2.95.3-returntype-fix.patch echo timestamp > gcc/cstamp-h.in
|
Документация GCC рекомендует собирать GCC вне директории с исходниками, в отдельной директории для сборки:
mkdir ../gcc-2-build cd ../gcc-2-build
|
Скомпилируем и установим компилятор:
../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \ --enable-shared --enable-languages=c \ --enable-threads=posix make bootstrap make install
|