我有一个使用eventfd和timerfd内核syscall的应用程序.为此,您需要一个现代内核和一个支持它们的libc(至少2.8).
我目前的情况是,我的系统具有正确的内核,但是2.7.11 libc版本显然不支持新syscall的必需功能.
但是,由于这两个接口(timerfd,eventfd)可能只是来自libc的系统调用,我想知道我是否可以将所需的符号与现代libc静态链接,然后在具有适当内核的2.7.11 libc上运行该应用程序.
正如我所看到的,静态链接的函数将只执行系统调用而不使用libc,这将使它们安全,但是我可能忽略了其他问题.
有人知道这听起来可行吗,我如何才能静态链接这些功能?
解决方法:
创建自己的使用syscall()直接调用它们的条件编译版本可能更可行.