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

Getting a segmentation fault when trying to build my GCC backend

我目前正在尝试为新架构编写 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 模式。

抱歉,这个问题有点含糊,我不确定我能提供什么额外的信息。如果需要更具体的信息,请告诉我,我将编辑问题。

提前致谢。

How would I go about fixing this error so that I can build my backend?

调试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. 构建没有优化的编译器。 运行 make in $builddir/gcc 就足够了。如果愿意,您可以提供其他选项,例如make -j4 cc1 CXXFLAGS='<flags-to-pass>'.

  5. $builddir/gcc 提供 .gdbinit 以增加 gdb 附加挂钩以改善调试体验。