我按照页面上的步骤操作: https://gcc.gnu.org/wiki/DebuggingGCC#gccbuilddebug
我执行的确切命令:
mkdir build
cd build
../configure --enable-stage1-languages=c --disable-multilib
make STAGE1_CXXFLAGS="-g -O0" all-stage1
我只得到各种 xgcc 或 cc1 可执行文件。
我需要来自 gcc 的命令:
gcc -S test.c
结果:
“xgcc:尝试执行‘cc1’时出错:execvp:没有这样的文件或目录”
我需要 gcc 二进制文件,因为我需要调试 -S
开关,否则如果我只使用 cc1,我会收到此错误:cc1: error: command line option '-S'对驱动程序有效但对 C 无效
最佳答案
GCC 驱动程序 (xgcc
) 期望正确的编译器 (cc1
) 位于标准位置,但标准目录布局仅在安装期间创建 (make install
)。要运行新建但尚未安装的 GCC,请使用臭名昭著的 -B
标志:
GCC_BUILD=path/to/build/dir
$GCC_BUILD/xgcc -B$GCC_BUILD -S test.c
(顺便说一句,这就是 make check
在运行 GCC 测试套件时调用 GCC 的方式)。
关于gcc - 如何编译 GCC 的调试版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42738204/