【发布时间】:2020-04-01 14:52:33
【问题描述】:
我正在开发 64 位 linux,需要为我的 aarch64 Android 手机构建 gdbserver。NDK 中有预构建的 gdbserver,但它使用的是 NDK 中的 python包,没有使用我的系统python,我无法安装其他python插件。
如何查找./configure 需要哪个--target 和--host 参数?我尝试了--help,并用谷歌搜索了“build gdbserver aarch64”或“gdbserver configure android”,但没有找到 aarch64 Android 的任何答案。
对于 gdb 我可以使用 ./configure --enable-targets=all,但是对于 gdbserver 呢?是否有所有可用参数的“列表”?
这是我尝试构建 gdbserver
的方法- 下载gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux包,解压并添加到PATH,添加环境变量
CC=arm-none-eabi-gcc,CXX=arm-none-eabi-g++,使可执行文件在PATH中可用 - 我尝试了所有这些:
../configure
../configure --host=aarch64-linux --target=aarch64-linux-androideabi
../configure --host=aarch64-linux-androideabi --target=aarch64-linux
../configure --host=aarch64-linux-androideabi --target=aarch64-linux-androideabi
- make,结果:
...
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build/build-libiberty-gdbserver/testsuite'
make[2]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build/build-libiberty-gdbserver'
make[1]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build'
make: *** No rule to make target '../alloc.c'. Stop.
also tried:
make CC=arm-none-eabi-gcc CXX=arm-none-eabi-g++
or CC=aarch64-linux-android28-clang CXX=aarch64-linux-android28-clang++
But same result.
【问题讨论】:
-
你明白
gdbserver在目标平台上运行,并且必须使用针对Android / aarch64的编译器来构建,对吧?使用CC=... CXX=... ./configure && make就足够了。 -
@EmployedRussian 您好,我尝试了您的提示,但仍然没有成功,请更新帖子。
标签: gdb gdbserver android-debugging