BuildingCrossGDBandGDBserver - GDB Wikisourceware.org
- build, 一般pc主机,可以不填
- host,运行板子,必须要填,填了就是交叉编译了。
- target,如果编译gcc、gdb这些,要填,多就是板子环境。
那些比如aarch64-linux-gnu-gcc,运行在x86上,但是他编译出来的二进制是要到ARM上运行的。所以你想编译这个工具的时候,host就是x86,target就是arm了。
所谓交叉工具,比如 我运行在x86上,但是我能处理ARM的二进制,这就是交叉了。
一个ARM上工具,处理ARM上的数据,那不叫交叉,比如busybox,sed...
如是,gdb和gdbserver的编译如下:
/path/to/gdb-src/configure --target=arm-linux-gnueabi
/path/to/gdb-src/gdb/gdbserver/configure --host=arm-linux-gnueabi
host如果不是x86,记得export交叉编译工具链到PATH。