代码之家  ›  专栏  ›  技术社区  ›  Arkaitz Jimenez

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

  •  3
  • Arkaitz Jimenez  · 技术社区  · 16 年前

    我有一个应用程序使用eventfd和timerfd内核系统调用。为此,您需要一个现代内核和一个支持它们的libc,至少2.8。

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

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

    有人知道这听起来是否可行,我如何静态链接这些函数?

    1 回复  |  直到 16 年前
        1
  •  3
  •   caf    16 年前

    创建自己的有条件编译的版本,使用 syscall() 直接打电话给他们。