gpt4 book ai didi

linux - Linux ELF 上的 BIND_NOW 是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:42 24 4
gpt4 key购买 nike

在解析从共享库派生的函数时,我遇到了一个问题,我意识到这个问题与 BIND_NOW 有关,它是 ELF 的安全功能之一。

由于网上没有足够的信息,我暂时不能更进一步。什么是 BIND_NOW

最佳答案

意思是在加载对象的时候就解析符号(而不是在使用的时候解析,这叫惰性绑定(bind))

引自man 3 dlopen:

One of the following two values must be included in flag:

RTLD_LAZY
Perform lazy binding. Only resolve symbols as the code that
references them is executed. If the symbol is never
referenced, then it is never resolved. (Lazy binding is
performed only for function references; references to
variables are always immediately bound when the library is
loaded.)

RTLD_NOW
If this value is specified, or the environment variable
LD_BIND_NOW is set to a nonempty string, all undefined symbols
in the library are resolved before dlopen() returns. If this
cannot be done, an error is returned.

已编辑:另见 this link ,这是我在谷歌搜索时发现的。

关于linux - Linux ELF 上的 BIND_NOW 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21981534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com