Gcc 为i386构建crti.o

Gcc 为i386构建crti.o,gcc,x86-64,glibc,32-bit,Gcc,X86 64,Glibc,32 Bit,我正在尝试构建一个以x86_64为主机、以i386为目标的交叉编译器。我正在获取(全部到公共)crti.o:没有这样的文件错误。而不是从发行版获取已经构建的crti.o和crtn.o。。。我如何从glibc(或者可能是gcc)源显式地构建这些文件 仅供参考,我很清楚x86_64编译器的-m32选项。我更喜欢只使用32位的编译器环境。另外,我不想使用任何gazillion已经构建的i386编译器的原因是,我计划根据测试需要混合和匹配glibc/binutils/gcc版本 谢谢, Chenz有一种

我正在尝试构建一个以x86_64为主机、以i386为目标的交叉编译器。我正在获取(全部到公共)crti.o:没有这样的文件错误。而不是从发行版获取已经构建的crti.o和crtn.o。。。我如何从glibc(或者可能是gcc)源显式地构建这些文件

仅供参考,我很清楚x86_64编译器的-m32选项。我更喜欢只使用32位的编译器环境。另外,我不想使用任何gazillion已经构建的i386编译器的原因是,我计划根据测试需要混合和匹配glibc/binutils/gcc版本

谢谢, Chenz有一种可能性(来自)

您需要安装发行版的32 位libc开发包,或者您需要 --禁用multilib,这将导致编译器不支持32 位模式


您确定正在正确配置交叉编译吗?应该是

CBUILD = CHOST = x86_64-pc-linux-gnu CTARGET = i386-pc-linux-gnu
我只想要32位,而不是相反。我不想使用发行版副本。。。我想从源代码构建。请阅读FYI。可能的副本 $ tar xvjf gcc-*.tar.bz2 $ cd gcc-*/ $ mkdir build $ cd build $ ../configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=i386-pc-linux-gnu