Что означает адрес, указанный в скобках (например, (0x002de000))?
Это адрес виртуальной памяти, куда загружается библиотека.
Современная система может обеспечить рандомизацию места загрузки библиотек, поэтому
этот адрес может отличаться в зависимости от вызова.
не должны ли они быть загружены только во время выполнения?
Да, они есть. DDD проходит через большую часть той же процедуры, что и
сделано во время выполнения, чтобы иметь возможность выяснить различные вещи.
Зачем двум вообще библиотеки?
libc.so.6 - это стандартная библиотека C (и другие вещи, такие как интерфейс к ядру), и она всегда связана по умолчанию. У gcc есть опции для управления этим, например, -nostdlib
флаг
ld-linux.so является динамическим загрузчиком и отвечает за загрузку / перемещение других общих библиотек и запуск вашего приложения. На странице руководства для ld-linux.so вы найдете подробную информацию.
linux-gate.so.1 - это виртуальная библиотека, она существует только в памяти ядра. Он используется для выполнения системных вызовов ядра и определяет наиболее эффективный способ сделать это на основе вашего процессора. Вероятно, он был добавлен в Linux позже, чем ваша другая машина с ядром 2.6.9.
Я не знаю, что такое /usr/lib/libcwait.so, но есть вероятность, что вы можете получить некоторую информацию об этом, выполнив команду rpm -qif /usr/lib/libcwait.so