c-静态链接新的libc符号以与较低的libc版本一起使用

我有一个使用eventfd和timerfd内核syscall的应用程序.为此,您需要一个现代内核和一个支持它们的libc(至少2.8).

我目前的情况是,我的系统具有正确的内核,但是2.7.11 libc版本显然不支持新syscall的必需功能.
但是,由于这两个接口(timerfd,eventfd)可能只是来自libc的系统调用,我想知道我是否可以将所需的符号与现代libc静态链接,然后在具有适当内核的2.7.11 libc上运行该应用程序.

正如我所看到的,静态链接的函数将只执行系统调用而不使用libc,这将使它们安全,但是我可能忽略了其他问题.

有人知道这听起来可行吗,我如何才能静态链接这些功能?

解决方法:

创建自己的使用syscall()直接调用它们的条件编译版本可能更可行.

上一篇:ROP-基础-ret2libc3


下一篇:Jquery对选取到的元素显示指定的长度,对于的字符串用“...”显示