GNU ld:-z 来源? -rpath $ORIGIN/../lib?
GNU ld: -z origin? -rpath $ORIGIN/../lib?
我试图了解的遗留 makefile 具有 -Wl,-z,origin,-rpath,'$ORIGIN/../lib'
好的,我看到 -Wl
表示以下是链接器选项;逗号将替换为空格。
GNU ld
的联机帮助页神秘地只说:
-z keyword
The recognized keywords are:
:
:
origin
Marks the object may contain $ORIGIN.
同样,下一个选项 -rpath
(相对路径?)包含此 $ORIGIN
,表明它是某种关键字,但 $ORIGIN
未在 ld
中另外提及手册页。
$ORIGIN
在 Substitution Sequences in the ELF specification. DF_ORIGIN
is documented as well 下提到。
然而,虽然 GNU ld 支持使用 -z origin
选项设置 DF_ORIGIN
标志,但 glibc 中的动态加载器始终支持 $ORIGIN
,即使未设置该标志。这意味着在为 GNU/Linux.
构建时没有理由使用 link 编辑器标志
我试图了解的遗留 makefile 具有 -Wl,-z,origin,-rpath,'$ORIGIN/../lib'
好的,我看到 -Wl
表示以下是链接器选项;逗号将替换为空格。
GNU ld
的联机帮助页神秘地只说:
-z keyword
The recognized keywords are:
:
:
origin
Marks the object may contain $ORIGIN.
同样,下一个选项 -rpath
(相对路径?)包含此 $ORIGIN
,表明它是某种关键字,但 $ORIGIN
未在 ld
中另外提及手册页。
$ORIGIN
在 Substitution Sequences in the ELF specification. DF_ORIGIN
is documented as well 下提到。
然而,虽然 GNU ld 支持使用 -z origin
选项设置 DF_ORIGIN
标志,但 glibc 中的动态加载器始终支持 $ORIGIN
,即使未设置该标志。这意味着在为 GNU/Linux.