我目前正试图为一个新的体系结构编写GCC后端,但当我试图编译它时,我收到了以下错误消息:
xgcc: internal compiler error: Segmentation fault signal terminated program cc1
使用以下命令配置构建:
../gcc/configure --prefix=--prefix=$HOME/GCC-10.0.1 --disable-bootstrap --target=arch_name --enable-languages=c
我该如何修复这个错误,以便构建我的后端?
据我所知,我已经实现了构建GCC所需的目标宏、函数和insn模式。
很抱歉,这个问题有点模糊,我不确定我能提供什么额外的信息。如果需要更具体的信息,请告诉我,我会编辑这个问题。
提前谢谢。
我该如何修复这个错误,以便构建我的后端?
调试cc1
。
-
xgcc
位于$builddir/gcc
中。因此,运行$builddir/xgcc -B$builddir -v -save-temps <options-that-crash-cc1>
。 -
xgcc -v ...
将打印它正在调用的子命令,记录它为崩溃的cc1
调用提供的选项。 -
针对
cc1
调用运行调试器,提供正确的选项,并在abort
(实际上是fancy_abort
(处放置断点。 -
在不进行优化的情况下生成编译器。在
$builddir/gcc
中运行make
就足够了。如果您愿意,您可以提供其他选项,例如make -j4 cc1 CXXFLAGS='<flags-to-pass>'
。 -
$builddir/gcc
为.gdbinit
提供了额外的钩子来增强gdb
,以提高调试体验。