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

3
我有一个应用程序,使用了 eventfd 和 timerfd 内核系统调用。对于这种使用,您需要一款现代内核和支持它们的 libc,至少是 2.8 版本。
我的当前情况是,我有一个具有适当内核的系统,但 libc 版本为 2.7.11,显然不支持新系统调用所需的函数。
但是,由于这两个接口(timerfd、eventfd)可能只是从 libc 中进行系统调用,因此我想知道是否可以使用现代 libc 静态链接所需的符号,然后在具有适当内核的 2.7.11 libc 上运行应用程序。
据我所知,静态链接的函数将仅执行系统调用而不使用 libc,这将使它们安全,但我可能会忽视其他问题。
有人知道这是否可行以及如何静态链接这些函数吗?
1个回答

3

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


阅读此补丁对我非常有帮助,也许对其他人也有用。 - Fabian Henze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接