如何构建GCC编译器的Libgcc

7
有没有办法在不构建gcc编译器的情况下构建libgcc?
我尝试运行libgcc的配置脚本,但它说../../gcc/libgcc.mvars文件丢失。
我的基本需求是为多个平台构建libgcc,并针对各个版本的libgcc进行多种配置。
1个回答

5

不能保证可靠,因为GCC构建系统非常庞大且脆弱。

最快的方法是使用以下类似的配置和构建方式来构建libgcc:

../gcc-src/configure --target=$TARGET --enable-languages=c
make all-target-libgcc
make install-target-libgcc

您可能需要先执行make all-gcc,不确定依赖关系是否正确设置。

考虑使用平台A,64位作为主机。平台B默认为64位,但支持“-m32”。有什么想法来构建“libgcc”以用于“-m32”目标?简单地将“CFLAGS=-m32”添加到make调用中会覆盖原始(“-m64”)库。 - 0xC0000022L
如果您使用了--enable-multilib,这可能会起作用。但我不确定,因为我总是将libgcc构建为整个GCC的一部分。@0xC0000022L - rubenvb
是的,不幸的是仅凭那些还不够。似乎需要更多的魔法调味料。但感谢您抽出时间回复。 - 0xC0000022L
@0xC0000022L 实际上,你完全可以进行两次配置/构建,一次使用 CC='gcc -m32',另一次使用 CC='gcc -m64'... - rubenvb
看起来你应该使用 --disable-multilib--enable-multilib,因为它说:“configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.” - Vadim Volodin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接