Makefile 如何使用使用使用shm_open()的修改malloc构建glibc?

Makefile 如何使用使用使用shm_open()的修改malloc构建glibc?,makefile,build,shared-memory,glibc,librt,Makefile,Build,Shared Memory,Glibc,Librt,我正在修改glibc库中的malloc.c和hooks.c文件,我的修改使用shm_open() 现在要构建glibc,shm_open()的函数说我需要链接到-lrt 据我所知,我面临的问题是,librt是在glibc的构建过程中产生的。如何修改makefile以生成glibc和链接librt 或者有其他方法来实现这一点吗?请检查是否需要重新编译glibc。通常,更换malloc时不需要这样做。如果您实现了一组特定的功能,则可以从DSO插入glibc的malloc实现: 此机制依赖于EL

我正在修改
glibc
库中的
malloc.c
hooks.c
文件,我的修改使用
shm_open()

现在要构建
glibc
shm_open()
的函数说我需要链接到-lrt

据我所知,我面临的问题是,
librt
是在
glibc
的构建过程中产生的。如何修改makefile以生成
glibc
和链接
librt


或者有其他方法来实现这一点吗?

请检查是否需要重新编译glibc。通常,更换
malloc
时不需要这样做。如果您实现了一组特定的功能,则可以从DSO插入glibc的
malloc
实现:


此机制依赖于ELF符号插入(可能通过
LD_PRELOAD
)。

我无法重新编译所有应用程序以反映malloc修改中所做的更改。你能推荐其他方法吗?你可以使用
LD_PRELOAD
来注入你自己的
malloc
。在这种情况下,运行应用程序的命令将发生变化,因为我需要在运行应用程序之前加载我的库,不幸的是,我不能这样做。是否有任何方法可以在不更改应用程序的编译或执行的情况下实现这一点。