В Gentoo есть ebuild-ы для GCC старых версий, однако GCC 3.2 не собирается последними версиями GCC, в том числе текущим стабильным 4.6. Возможное решение следующее: с помощью GCC 4.6 собрать GCC 3.4, а с помощью GCC 3.4 уже собрать GCC 3.2.
GCC 3.2 не собирается текущим стабильным bison 2.x. Для bison слотов нет, так что для сборки GCC можно просто замаскировать новые версии. У меня работает bison-1.875d.
/etc/portage/package.mask
См. /etc/portage/env.
/etc/portage/env/use-simple-cflags.conf
/etc/portage/env/use-gcc-3.4.conf
Шаг 1: версия bison
GCC 3.2 не собирается текущим стабильным bison 2.x. Для bison слотов нет, так что для сборки GCC можно просто замаскировать новые версии. У меня работает bison-1.875d.
/etc/portage/package.mask
>=sys-devel/bison-2.0
# emerge -u sys-devel/bison
Шаг 2: настройка окружения
См. /etc/portage/env.
- Во-первых, GCC версии 3.x могут не поддерживать ваши CFLAGS (в частности -march=native), поэтому отключим их для этих пакетов.
- Во-вторых, мы должны указать, что для сборки GCC 3.2 будет использоваться GCC 3.4.
# Отключаем CFLAGS для GCC 3.x =sys-devel/gcc-3* use-simple-cflags.conf # Включаем использование GCC 3.4 для GCC 3.2 =sys-devel/gcc-3.2* use-gcc-3.4.conf
/etc/portage/env/use-simple-cflags.conf
CFLAGS="-O2" CXXFLAGS="-O2"
/etc/portage/env/use-gcc-3.4.conf
CC="gcc-3.4.6"
Шаг 3: сборка GCC 3.4
# emerge sys-devel/gcc:3.4
Шаг 4: сборка GCC 3.2
# emerge sys-devel/gcc:3.2 # /usr/i686-pc-linux-gnu/gcc-bin/3.2/gcc --version