为了编译一个旧编译器,我使用安装在我的机器上的gcc(gcc版本4.4.6)。在linux-redhat上安装gcc的旧版本
gcc v 4.4.6编译器不支持旧编译器文件中的一些语法,并且发出如下错误:左值操作数需要左值,错误:尝试使用中毒...等等。
上次有人编译了那个使用gcc版本2.96的旧编译器。 所以我下载了一些旧版本的gcc(3.0 - 没有找到2.96),并尝试从它构建二进制文件。
然而 - 我的机器是64位x86和3.0编译器发出错误:
Configuration x86_64-redhat-linux-gnu not supported
自然 - 不存在x86_64的方式在那些日子。 任何建议将受到欢迎。
更新: 我已经vertualBox安装了旧版本的红帽(5.7),与旧的gcc编译器(3.4.6)来了,试图编译交叉compiler.My主机 - I386的红帽Linux的。现在,我没有得到这个消息,并且交叉编译器的编译开始,但是,当它来编译开卷-dw2.c文件给我的下一个汇编程序错误:
/tmp/ccAk3sX0.s: Assembler messages:
/tmp/ccAk3sX0.s:259: Error: unrecognized instruction `addi r11,low(r0,.L47),r11'
/tmp/ccAk3sX0.s:736: Error: unrecognized instruction `addi r3,low(r0,.L327),r3'
/tmp/ccAk3sX0.s:1226: Error: unrecognized instruction `addi r3,low(r0,.L317),r3'
/tmp/ccAk3sX0.s:1739: Error: unrecognized instruction `addi r3,low(r0,.L412),r3'
所以我再次被困...
避免这样做。或者在'chroot'-ed环境中运行一个旧的32位Linux发行版。顺便说一句,你正在编译的“旧编译器”究竟是什么?尝试构建交叉编译器的 –
。编译器基于旧版本的gcc(3.0)。我认为我需要安装某种类型的库...我认为这些机器支持32位 - 但我不确定。将检查这一点,但我不认为在Linux上安装旧版本是需要的... – yehudahs
任何不使用最近的GCC(例如4.8版本)交叉编译器的原因? –