Наиболее важной частью этого вывода является linux-vdso. VDSO означает Virtual Dynamic Shared Object - это способ экспортировать подпрограммы пространства ядра в пользовательское пространство. Основная причина заключается в уменьшении служебных расходов системного вызова. Обычно, когда происходит системный вызов, для этого требуются некоторые дорогостоящие операции, такие как режим переключения от пользователя к ядру, копирование данных из пользовательского пространства в ядерное пространство и т. Д. Чтобы уменьшить эти виды служебных данных VDSO, просто прочитав, что результат памяти vdso может быть извлечен, т. Е. возможно gettimeofday(), не выполняя реального системного вызова!
Примечание. Не все системные вызовы поддерживают VDSO, только системные вызовы, такие как getcpu(), gettimeofday(), time() и т. Д., Что является чрезвычайно быстрым способом добиться этой цели. Также адрес памяти linux-vdso.so.1 байт рандомизирован, при разном вызове ldd вы увидите, что linux-vdso.so.1 указывает на другое расположение памяти. Это было сделано так, как будто никто не может предсказать адрес вверх.
Возможный дубликат [Общие сведения о выходе ldd] (http://stackoverflow.com/questions/5554343/understanding-ldd-output) –