【问题标题】:Compile and use glibc-2.13 from source for ubuntu x86_64 architecture为 ubuntu x86_64 架构从源代码编译和使用 glibc-2.13
【发布时间】:2011-12-18 02:13:16
【问题描述】:

我正在尝试构建 libc/NPTL 的修改版本。我的 ubuntu 版本显示它是 2.13 版本。我想创建一个单独的 libc/nptl/libpthreads,并希望将它用于使用动态加载而不替换现有 glibc/libpthreads 的现有应用程序(如 apache)。我是内核编程和动态加载的新手。您能否提供一个如何通过动态加载功能使用 libc/NPTL 的示例。

【问题讨论】:

    标签: pthreads glibc nptl


    【解决方案1】:

    我想创建一个单独的 libc/nptl/libpthreads

    这很简单:./configure --prefix=/u && make && make install。恭喜,您现在在/u 下有一个单独的libc/lipthreads

    并希望将其用于现有应用程序(如 apache)

    尚不清楚您是想将新的libc 与现有(预构建)二进制文件一起使用,还是与您可以重建的二进制文件一起使用。

    如果是后者,只需添加 -Wl,--dynamic-linker=/u/lib64/ld-linux-x86-64.so.2(适用于 64 位二进制文​​件),即可完成。

    如果前者,并且应用程序本身不execve,您可以像这样调用它:/u/lib64/ld-linux-x86-64.so.2 /path/to/app

    如果应用程序本身执行exec,或者被您不想修改的大量shell脚本调用,那么您必须对应用程序进行二进制修补:替换@987654330中的/lib64/ld-linux-x86-64.so.2字符串带有/u/lib64/ld-2.13.so 的二进制文件的@ 部分(新字符串不得长于旧字符串)。

    我是内核编程的新手

    您的问题与内核编程无关

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2023-03-16
      • 2013-11-20
      • 2012-04-25
      • 2015-01-21
      • 1970-01-01
      • 2014-04-15
      • 2012-05-18
      • 1970-01-01
      相关资源
      最近更新 更多