在尝试构建GCC后端时出现分段错误



我目前正试图为一个新的体系结构编写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

  1. xgcc位于$builddir/gcc中。因此,运行$builddir/xgcc -B$builddir -v -save-temps <options-that-crash-cc1>

  2. xgcc -v ...将打印它正在调用的子命令,记录它为崩溃的cc1调用提供的选项。

  3. 针对cc1调用运行调试器,提供正确的选项,并在abort(实际上是fancy_abort(处放置断点。

  4. 在不进行优化的情况下生成编译器。在$builddir/gcc中运行make就足够了。如果您愿意,您可以提供其他选项,例如make -j4 cc1 CXXFLAGS='<flags-to-pass>'

  5. $builddir/gcc.gdbinit提供了额外的钩子来增强gdb,以提高调试体验。

最新更新