我有两台机器。一台是 Intel x86_64,另一台是 aarch64(尽管我怀疑架构变化是问题所在)。两台机器都是 Ubuntu。我在每台机器上编译相同的程序,使用相同的 make 和 make defs 文件:
CC=gcc
CFLAGS = -fopenmp -O3 -g
LDFLAGS = -fopenmp -L$(OMP_TR4_DIR) -lomp -Wl,-rpath=$(OMP_TR4_DIR) -O3 -g
CPP = /usr/bin/cpp
LIBS =
在 x86 机器上,我看到了所有调试符号。在 aarch 机器上,我只看到我在两台机器上以相同的方式安装了 libc 和 OpenMP 调试符号(包括获取调试符号包,如下所述:https://wiki.ubuntu.com/Debug%20Symbol%20Packages)。
同样的情况也发生在 clang/llvm 上,而不仅仅是 gnu 编译器。
为什么会发生这种情况? aarch 机器上可能没有设置某些环境变量吗?