【发布时间】:2014-07-03 01:18:48
【问题描述】:
我正在使用带有 Alpha ISA 的完整系统模拟器 (GEM5)。我已经成功交叉编译(使用 gcc-4.3.2、glibc-2.6.1)Linux 2.6.27 for Alpha。现在,我正在交叉编译我自己的调用 sched_setaffinity 函数的程序。程序编译,但在运行时它返回 -1,错误号为“功能未实现”。该函数确实在我的交叉编译内核中实现(在 kernel/sched.c 中),但该实现从未被调用。
我认为问题可能在于 Alpha 磁盘映像上的 glibc (libc-2.3.5.so) 中未定义/实现 sched_setaffinity。如果我只是用更新的交叉编译版本替换 libc-2.3.5.so,它会使磁盘映像上的其他程序无法工作。我相信 sched_setaffinity 默认情况下应该已经存在于 libc-2.3.5.so 中。有没有办法强制我的程序使用内核中的实现?什么可能导致此问题?
提前致谢!
【问题讨论】:
标签: c gcc linux-kernel cross-compiling glibc