TLDR:在跨本机构建的gcc上获取致命错误'无法获得处理时间'。我可以从gcc.c中删除report_times代码吗?或者使用gcc命令行选项来禁用report_times或构建没有libiberty的gcc(其中包含report_times使用的pex_get_times
DETAIL 在我遇到各种问题之后,我(最终)成功地使用了Android NDK独立工具链来构建binutils 2.23和gcc 4.70。
我目前的问题是让它在我的设备上运行。
我写了一个标准的'hello world'(从这里复制)来测试我的设备上的gcc。我跑的时候:
arm-linux-eabi-gcc hello.c -o hello 要么: arm-linux-eabi-gcc hello.c
我收到以下错误:
arm-linux-eabi-gcc:致命错误:无法获取处理时间:没有此类文件或目录。
除了gcc.c来源的链接外,谷歌的回复率并不高。检查源代码,我在一个名为report_times的函数(模块?扩展名?)中发现了错误。函数(模块?扩展名?)pex_get_times返回错误....我猜它是这样做的,如果它无法获得处理时间。
在libiberty中定义了pex_get_times函数(模块?扩展名?我不确定它是什么)。我可以使用--disable-build-libiberty,但它对主机(我的NookHD)gcc构建没有帮助。
我的问题:
一如既往......我会在等待答案的同时继续研究。
答案 0 :(得分:0)
发布此问题约一小时后发现。也许两个。
显然,report_times是GCC调试符号(?)的一部分。要排除report_times(导致原始问题“无法获得处理时间”),您必须构建非调试...或发布...版本的gcc。
为此,我使用了此链接中的信息:http://www-gpsg.mit.edu/~simon/gcc_g77_install/build.html
但是,我从LIBCXXFLAGS和LIBCFLAGS中省略了-g,我添加了LIBCPPFLAGS而没有-g以防万一。 Ran make DESTDIR = / staging / install / path install-host,tarballed并转移到设备。不再“未能获得处理时间”错误。
我看到另一个错误,但它与此问题无关