LINUX.ORG.RU

История изменений

Исправление Shushundr, (текущая версия) :

в заголовке RUNPATH после этого должен стоять $ORIGIN

Llama3: «описание атрибута RUNPATH и использования переменной $ORIGIN можно найти в документе «System V Application Binary Interface» (также известном как «System V ABI»), в разделе «5.2 Dynamic Section», пункт 5.2.5. Этот документ является основной спецификацией ELF и описывает формат исполняемых файлов и динамических библиотек для Unix-подобных систем. В этом документе описаны общие требования к формату ELF, которые применяются ко всем архитектурам»

документ
2024-06-03, System V Application Binary Interface. AMD64 ABI 1.0
такого пункта не содержит

https://wiki.osdev.org/System_V_ABI
https://www.sco.com/developers/gabi/latest/contents.html
А этот документ ненумерованный.

DT_RUNPATH
This element holds the string table offset of a null-terminated library search path string discussed in «Shared Object Dependencies». The offset is an index into the table recorded in the DT_STRTAB entry.

DF_ORIGIN
This flag signifies that the object being loaded may make reference to the $ORIGIN substitution string (see «Substitution Sequences»). The dynamic linker must determine the pathname of the object containing this entry when the object is loaded.

«Within a string provided by dynamic array entries with the DT_NEEDED or DT_RUNPATH tags and in pathnames passed as parameters to the dlopen() routine, a dollar sign ($) introduces a substitution sequence. This sequence consists of the dollar sign immediately followed by either the longest name sequence or a name contained within left and right braces ({) and (}). A name is a sequence of bytes that start with either a letter or an underscore followed by zero or more letters, digits or underscores. If a dollar sign is not immediately followed by a name or a brace-enclosed name, the behavior of the dynamic linker is unspecified.»

If the name is ORIGIN, then the substitution sequence is replaced by the dynamic linker with the absolute pathname of the directory in which the object containing the substitution sequence originated. Moreover, the pathname will contain no symbolic links or use of . or .. components. Otherwise (when the name is not ORIGIN) the behavior of the dynamic linker is unspecified.

Исходная версия Shushundr, :

в заголовке RUNPATH после этого должен стоять $ORIGIN

Llama3: «описание атрибута RUNPATH и использования переменной $ORIGIN можно найти в документе «System V Application Binary Interface» (также известном как «System V ABI»), в разделе «5.2 Dynamic Section», пункт 5.2.5. Этот документ является основной спецификацией ELF и описывает формат исполняемых файлов и динамических библиотек для Unix-подобных систем. В этом документе описаны общие требования к формату ELF, которые применяются ко всем архитектурам»

документ
2024-06-03, System V Application Binary Interface. AMD64 ABI 1.0
такого пункта не содержит

https://wiki.osdev.org/System_V_ABI
https://www.sco.com/developers/gabi/latest/contents.html
А этот документ ненумерованный.

DT_RUNPATH
This element holds the string table offset of a null-terminated library search path string discussed in ``Shared Object Dependencies''. The offset is an index into the table recorded in the DT_STRTAB entry.

DF_ORIGIN
This flag signifies that the object being loaded may make reference to the $ORIGIN substitution string (see ``Substitution Sequences''). The dynamic linker must determine the pathname of the object containing this entry when the object is loaded.

«Within a string provided by dynamic array entries with the DT_NEEDED or DT_RUNPATH tags and in pathnames passed as parameters to the dlopen() routine, a dollar sign ($) introduces a substitution sequence. This sequence consists of the dollar sign immediately followed by either the longest name sequence or a name contained within left and right braces ({) and (}). A name is a sequence of bytes that start with either a letter or an underscore followed by zero or more letters, digits or underscores. If a dollar sign is not immediately followed by a name or a brace-enclosed name, the behavior of the dynamic linker is unspecified.»

If the name is ORIGIN'', then the substitution sequence is replaced by the dynamic linker with the absolute pathname of the directory in which the object containing the substitution sequence originated. Moreover, the pathname will contain no symbolic links or use of.'' or ..'' components. Otherwise (when the name is notORIGIN'') the behavior of the dynamic linker is unspecified.