小编Rob*_*Lay的帖子

在Linux中使用LD_PRELOAD混合64位/ 32位环境

我想设置LD_PRELOAD指向一个共享库,我可以运行64位或32位应用程序.很明显,共享库和可执行文件必须匹配bit-ness.

$ LD_PRELOAD=/lib64/lib_init.so ./hello32
ERROR: ld.so: object '/lib64/lib_init.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored
Run Code Online (Sandbox Code Playgroud)

其中hello32是32位应用程序.世界上有一些页面说我应该能够:

$ LD_PRELOAD='/$LIB/lib_init.so' ./hello32
ERROR: ld.so: object '/$LIB/lib_init.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored
Run Code Online (Sandbox Code Playgroud)

其中$ LIB将自动在lib和lib64之间切换,具体取决于应用程序是32位还是64位.但显然这不起作用.

是否有一些技巧可以使这项工作?LD_PRELOAD_32,LD_PRELOAD_64?谢谢!

linux 32bit-64bit ld-preload

3
推荐指数
2
解决办法
4391
查看次数

标签 统计

32bit-64bit ×1

ld-preload ×1

linux ×1