Что такое «ld-2.11.1.so » и как я могу посмотреть на исходный код?

#linux

#linux

Вопрос:

Я пытаюсь каталогизировать использование инструкции RDTSC на моем компьютере. Моей первой мыслью было запустить мою /lib папку objdump и выполнить поиск RDTSC

 $ for f in ls /lib/*; do echo "*** $f ***" amp;amp; objdump -d $f | grep -n  rdtsc; done > ~/tmp/out
 

Я заметил, что много RDTSC присутствует в ld.2.11.1.so досье. Я почти уверен, что это как-то связано с динамическим связыванием библиотек, но я не уверен. Мой настоящий вопрос заключается в том, как я могу найти исходный код, чтобы я мог видеть, для чего предназначены инструкции RDTSC?

Ответ №1:

ld-2.11.1.so это сам динамический компоновщик. Большинство его источников находятся в glibc/elf каталоге. Возможно, вы захотите начать здесь. Ищите HP_TIMING* макросы.

Комментарии:

1. Спасибо. Для справки, он определен в HP_TIMING_NOW макросе в (для моей архитектуры) sysdeps/x86_64/hp-timing.h .

Ответ №2:

ld.so является частью библиотеки C, которая обычно является Glibc или EGlibc, в зависимости от дистрибутива Linux.