【发布时间】:2019-09-12 07:16:18
【问题描述】:
我有一个在 PowerPC e500v2 嵌入式 Linux 上运行的代码,我想测量它的性能,因为它在无限循环中运行。我尝试了gcc's gprof,只需将-pg 选项添加到gcc。当我在目标设备上运行二进制文件时,我得到了这个:
./main: /lib/libc.so.6: version GLIBC_2.16 not found (required by ./main)
我正在使用带有默认 CFLAGS 和 LDFLAGS 以及这些标志的 ELDK 5.6 工具链:-Wall -lrt -pthread -D_GNU_SOURCE 没有别的。一些文章建议定义FORTIFY_SOURCE 以及优化级别,但它不起作用。我搜索了一些 gcc 的功能测试宏并尝试定义一些 GLIBC 2.16 特定的宏,但没有成功。
当我使用来自 <sched.h> 的一些结构和函数时,我遇到了与 GLIBC 2.17 类似的问题,添加 _GNU_SOURCE 解决了它。关于如何解决它的任何想法?
【问题讨论】:
标签: embedded-linux glibc