Собрался откомпилировать совсем древнее ядро , а к нему требуется компилятор 1.4 . Вопрос такой - иде его взять ? И можно ли на одной машине иметь 2 разных компилятора ?
На ftp.gnu.org лежит gcc версии 1.4.2. Иметь два компилятора в принципе можно, только другой надо ставить локально, например, в свою домашнюю директорию. И потом создавать сим-линки или править Makefile.
Сразу возник вопрос : что нужно скачивать - исходники или бинарники ? Я так понимаю - бинарники вряд ли будут работать на современных версиях . А что-бы собрать компилятор с исходников - это что-то необычное для меня :-)
Необязательно ставить в локальную. Достаточно при сборке указать префикс или постфикс (например, 32, тогда все gcc будет иметь вид gcc32, g++32 и т.п.)
Я заменил следующие 4 строки , взятые из моего текущего ядра 2.4 : CROSS_COMPILE = AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)gcc CPP = $(CC) -E Потом заменил CFLAGS на : CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \ -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -g Но кажется , флаги я зря убрал .
Сначала пришлось убрать -c из строки $(AS) -c -o $*.o $< Потом следующий глюк : boot/head.s: Assembler messages : alignment not a power of 2 В файле head.s стоит такая строка : .align 3 И компилятор обругал эту строку , кажется , так : no power align 2 т.е. нечетное выравнивание ?