Provided by: manpages-pl_4.28.0-2_all 

NAZWA
ldd - wyświetla zależności od obiektów dzielonych
SKŁADNIA
ldd [opcja]... plik...
OPIS
ldd wyświetla obiekty dzielone (biblioteki dzielone) wymagane przez każdy program lub obiekt dzielony
podany w linii poleceń. Poniżej pokazano przykład użycia i wyniku działania programu:
$ ldd /bin/ls
linux-vdso.so.1 (0x00007ffcc3563000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
/lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)
Zwyczajowo ldd uruchamia standardowy konsolidator dynamiczny (patrz ld.so(8) ze zmienną środowiska
LD_TRACE_LOADED_OBJECTS ustawioną na 1. Powoduje to sprawdzenie przez dynamicznego konsolidatora
dynamicznych zależności programu oraz odnalezienie (zgodnie z regułami opisanymi w ld.so(8)) i
załadowanie obiektów spełniających te zależności. W przypadku każdej zależności, ldd wypisze położenie
pasującego obiektu i (szesnastkowy) adres, pod którym go załadowano (zależności dzielone linux-vdso i
ld-linux są specjalne; zob. vdso(7) i ld.so(8)).
BEZPIECZEŃSTWO
Należy mieć świadomość, że w niektórych sytuacjach (np. gdy program poda intepretator ELF inny niż
ld-linux.so), niektóre wersje ldd mogą próbować uzyskać informacje o zależnościach, uruchamiając program
bezpośrednio, co może spowodować wykonanie dowolnego kodu zdefiniowanego w interpretatorze ELF programu
i, być może, wykonanie samego programu (przed glibc 2.27 dokonywała tego np. implementacja ldd od
dostawcy, choć większość dystrybucji zapewniała zmodyfikowaną wersję, która tego nie czyniła).
Dlatego nigdy nie powinno się używać ldd z niezaufanym programem wykonywalnym, ponieważ może to owocować
wykonaniem dowolnego kodu. Bezpieczniejsza alternatywa radzenia sobie z niezaufanymi programami
wykonywalnymi to:
$ objdump -p /ścieżka/do/programu | grep NEEDED
Proszę zauważyć, że w ten sposób uzyskuje się jedynie bezpośrednie zależności pliku wykonywalnego,
natomiast ldd pokazuje jego całe drzewo zależności.
OPCJE
--version
Wypisuje numer wersji ldd.
--verbose
-v Wypisuje wszystkie informacje, włączając to na przykład informacje o wersjach symboli.
--unused
-u Wypisuje nieużywane bezpośrednie zależności (od glibc 2.3.4).
--data-relocs
-d Dokonuje relokacji i zgłasza wszelkie brakujące funkcje (tylko ELF).
--function-relocs
-r Dokonuje relokacji zarówno dla obiektów danych, jak i funkcji i zgłasza listę nieobecnych obiektów
lub funkcji (tylko ELF).
--help Informacje o użyciu programu.
USTERKI
ldd nie działa na bibliotekach współdzielonych a.out.
ldd nie zadziała z bardzo starymi programami a.out, które zostały skonsolidowane zanim dodano do
kompilatora obsługę ldd. Jeśli użyje się ldd na jednym z tych programów, to program będzie uruchomiony z
argc = 0, a wyniki tego będą nieprzewidywalne.
ZOBACZ TAKŻE
pldd(1), sprof(1), ld.so(8), ldconfig(8)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda
<robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 2 maja 2024 r. ldd(1)