Понимание нетривиальных циклов в выводе LD_DEBUG = bindings - PullRequest
0 голосов
/ 29 апреля 2019

При изучении журналов LD_DEBUG для данного исполняемого файла я вижу много символов, которые разрешаются локально , как в

calloc: /lib/aarch64-linux-gnu/libc.so.6 --> /lib/aarch64-linux-gnu/libc.so.6

Это типично и имеет смысл;многие библиотеки экспортируют символы, которые также используются для внутреннего использования.

Но несколько символов демонстрируют шаблоны привязки, совершенно отличные от других:

__environ
__progname
__progname_full
__stack_chk_guard
optind
stderr
stdin
stdout

Эти символы показывают нетривиально циклов в своих привязках, в частности, через исполняемый файл:

stdout: python --> /lib/aarch64-linux-gnu/libc.so.6 --> python
__stack_chk_guard: uname --> /lib/ld-linux-aarch64.so.1 --> uname

Что это значит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...