ld.so

LD.SO(8)                PodrÄcznik programisty Linuksa                LD.SO(8)



NAZWA
       ld.so, ld-linux.so* - dynamiczny konsolidator/Åadowacz

SKÅADNIA
       Konsolidator dynamiczny może byÄ uruchomiony albo poÅrednio przez
       uruchomienie jakiegokolwiek skonsolidowanego dynamicznie programu lub
       obiektu dzielonego (w tym przypadku żadna opcja linii poleceŠnie
       bÄdzie przekazana do konsolidatora dynamicznego i w przypadku ELF-a
       uruchomiony zostanie konsolidator dynamiczny przechowywany w sekcji
       .interp programu), albo bezpoÅrednio przez uruchomienie:

       /lib/ld-linux.so.* [OPCJE] [PROGRAM [ARGUMENTY]]

OPIS
       Programy ld.so i ld-linux.so* wyszukujÄ i uruchamiajÄ obiekty dzielone
       (biblioteki dzielone) wymagane przez program, przygotowujÄ program do
       uruchomienia, a w koÅcu go uruchamiajÄ.

       Binarki linuksowe wymagajÄ konsolidacji dynamicznej (czyli konsolidacji
       podczas uruchamiania), chyba że podczas kompilacji programowi ld(1)
       przekazano opcjÄ -static.

       Program ld.so obsÅuguje binarki w używanym dawno temu formacie a.out;
       ld-linux.so* obsÅuguje format ELF (/lib/ld-linux.so.1 dla libc5,
       /lib/ld-linux.so.2 dla glibc2), który jest używany przez wszystkich
       już od Åadnych paru lat. Poza tym oba programy zachowujÄ siÄ tak samo
       i używajÄ tych samych plików pomocniczych i programów: ldd(1),
       ldconfig(8) oraz /etc/ld.so.conf.

       Podczas rozwiÄzywania zależnoÅci obiektów dzielonych, konsolidator
       dynamiczny najpierw przeglÄda każdy ÅaÅcuch znaków zależnoÅci w
       poszukiwaniu znaku ukoÅnika (może wystÄpiÄ, jeÅli podczas linkowania
       obiektu dzielonego podano nazwÄ Åcieżki zawierajÄcÄ ukoÅniki). JeÅli
       taki znak zostanie znaleziony, to ÅaÅcuch znaków zależnoÅci jest
       interpretowany jako nazwa (wzglÄdnej lub bezwzglÄdnej) Åcieżki i
       obiekt dzielony jest Åadowany, używajÄc tej nazwy Åcieżki.

       JeÅli zależnoÅÄ od obiektu dzielonego nie zawiera znaku ukoÅnika, to
       potrzebne biblioteki dzielone sÄ szukane w nastÄpujÄcej kolejnoÅci:

       o  (Tylko ELF). Używa katalogów podanych w sekcji atrybutów
          dynamicznych DT_RPATH binarki, jeÅli jest obecna i nie istnieje
          atrybut DT_RUNPATH. Użycie DT_RPATH jest przestarzaÅe.

       o  Przy użyciu zmiennej Årodowiskowej LD_LIBRARY_PATH, chyba że plik
          wykonywalny jest uruchomiony w trybie bezpiecznego wykonania; (zob.
          niżej), gdy jest ignorowana.

       o  (Tylko ELF) UżywajÄc katalogów podanych w sekcji atrybutów
          dynamicznych DT_RUNPATH binarki, jeÅli taka sekcja istnieje.

       o  Z pliku bufora /etc/ld.so.cache, zawierajÄcego skompilowanÄ
          listÄ obiektów dzielonych poprzednio znalezionych w Åcieżce
          obiektów dzielonych. JeÅli jednakże program binarny zostaÅ
          skonsolidowany z opcjÄ linkera  -z nodeflib, to pomijane sÄ obiekty
          dzielone z domyÅlnych Åcieżek obiektów dzielonych. Preferowane sÄ
          obiekty dzielone zainstalowane w katalogach zgodnych z
          wÅaÅciwoÅciami sprzÄtu (patrz niżej).

       o  W domyÅlnej Åcieżce /lib a potem w /usr/lib (na niektórych
          architekturach 64-bitowych domyÅlnÄ ÅcieżkÄ 64-bitowych obiektów
          dzielonych jest /lib64, a potem /usr/lib64). Ten krok jest pomijany,
          jeÅli program binarny zostaÅ skonsolidowany z opcjÄ -z nodeflib
          konsolidatora.

   Rozwijanie zmiennych w rpath
       ld.so rozumie pewne ÅaÅcuchy znaków w specyfikacji rpath (DT_RPATH lub
       DT_RUNPATH); ÅaÅcuch ty sÄ zamieniane nastÄpujÄco:

       $ORIGIN (lub równoważnie ${ORIGIN})
              Rozwija siÄ do katalogu zawierajÄcego program lub obiekt
              dzielony. Tak wiÄc aplikacja znajdujÄca siÄ w jakimÅkatalogu/app
              może zostaÄ skompilowana z

                  gcc -Wl,-rpath,'$ORIGIN/../lib'

              tak żeby przypisane jej obiekty dzielone mogÅy byÄ umieszczone
              w jakimÅkatalogu/lib, niezależnie od tego, gdzie jakiÅkatalog
              jest umieszczony w hierarchii katalogów. Umożliwia to
              tworzenie aplikacji, które nie muszÄ byÄ instalowane w
              specjalnych katalogów, ale mogÄ po prostu byÄ rozpakowane w
              dowolnym katalogu i wciÄż bÄdÄ mogÅy znaleÅºÄ swoje obiekty
              dzielone.

       $LIB (lub równoważnie ${LIB})
              Rozwija siÄ do lib lub lib64 w zależnoÅci od architektury (np.
              na x86-64 rozwija siÄ lib64, a na x86-32 rozwija siÄ do lib).

       $PLATFORM (lub równoważnie ${PLATFORM})
              Rozwija siÄ do ÅaÅcucha znaków odpowiadajÄcemu typowi procesora
              systemu (np. "x86_64"). Na niektórych architekturach jÄdro
              Linuksa nie przekazuje konsolidatorowi dynamicznemu oznaczenia
              platformy. WartoÅÄ tego ÅaÅcucha znaków jest pobierana z
              wartoÅci AT_PLATFORM pomocniczego wektora (patrz getauxval(3)).

OPCJE
       --list WyÅwietla wszystkie zależnoÅci wraz ze sposobem ich
              rozwiÄzania.

       --verify
              Sprawdza, że program jest konsolidowany dynamicznie i że ten
              konsolidator dynamiczny może go obsÅużyÄ.

       --inhibit-cache
              Nie używa /etc/ld.so.cache.

       --library-path Åcieżka
              Używa Åcieżki zamiast ustawienia zmiennej Årodowiska
              LD_LIBRARY_PATH (patrz niżej).

       --inhibit-rpath lista
              Ignoruje informacje RPATH i RUNPATH w nazwach obiektów w
              liÅcie. Opcja jest ignorowana podczas dziaÅania w trybie
              bezpiecznego wykonania (zob. niżej)

       --audit lista
              Używa obiektów wymienionych w liÅcie jako audytorów.

ÅRODOWISKO
       Różne zmienne Årodowiska wpÅywajÄ na dziaÅanie dynamicznego
       konsolidatora

   Tryb bezpiecznego wykonania
       Ze wzglÄdów bezpieczeÅstwa, dziaÅania niektórych zmiennych
       Årodowiskowych jest anulowane lub modyfikowane, jeÅli dynamiczny
       konsolidator okreÅli, że plik binarny powinien byÄ uruchomiony w
       trybie bezpiecznego wykonania. To okreÅlenie dokonywane jest na
       podstawie sprawdzenia, czy wpis AT_SECURE w dodatkowym wektorze (zob.
       getauxval(3)) ma niezerowÄ wartoÅÄ. Wpis ten może mieÄ niezerowÄ
       wartoÅÄ z różnych powodów, m.in.:

       *  Rzeczywisty i efektywny identyfikator użytkownika procesu różniÄ
          siÄ lub rzeczywisty i efektywny identyfikator grupy różniÄ siÄ.
          Zwykle ma to miejsce jako rezultat wykonywania programu z
          set-user-ID lub set-group-ID.

       *  Proces użytkownika z identyfikatorem niebÄdÄcym ID roota wykonuje
          plik binarny z nadanymi przywilejami permitted lub effective.

       *  Niezerowa wartoÅÄ mogÅa byÄ ustawiona przez linuksowy  moduÅ
          bezpieczeÅstwa - Linux Security Module.

   Zmienne Årodowiskowe
       WÅród ważniejszych zmiennych Årodowiskowych sÄ nastÄpujÄce:

       LD_ASSUME_KERNEL (glibc od wersji 2.2.3)
              Każdy obiekt dzielony może informowaÄ konsolidator dynamiczny
              o wymaganej minimalnej wersji ABI jÄdra (To wymaganie jest
              zakodowane w sekcji "note" ELF-a; sekcja ta jest widoczna w
              readelf -n jako sekcja oznaczona NT_GNU_ABI_TAG). Podczas
              dziaÅania konsolidator dynamiczny okreÅla wersjÄ ABI
              uruchomionego jÄdra i odrzuca obiekty dzielone, które wymagajÄ
              minimalnej wersji ABI wiÄkszej niż wersja ABI uruchomionego
              jÄdra.

              LD_ASSUME_KERNEL może zostaÄ użyta do spowodowania, że
              konsolidator dynamiczny zaÅoży, że jest uruchomiony na
              systemie z innÄ wersjÄ ABI jÄdra. Na przykÅad nastÄpujÄca linia
              poleceÅ powoduje, że konsolidator dynamiczny podczas Åadowania
              obiektów dzielonych wymaganych przez mójprog zakÅada, że
              dziaÅa w systemie Linux 2.2.5

                  $ LD_ASSUME_KERNEL=2.2.5 ./mójprog

              W systemach, które dostarczajÄ wielu wersji obiektu dzielonego
              (w różnych katalogach w Åcieżce wyszukiwania) o różnych
              minimalnych wymaganiach wersji ABI jÄdra, LD_ASSUME_KERNEL może
              zostaÄ użyte do wybrania tej wersji obiektu, która zostanie
              użyta (w zależnoÅci od porzÄdku przeszukiwania katalogów).
              Historycznie najczÄstszym użyciem LD_ASSUME_KERNEL byÅo rÄczne
              wybieranie starszej implementacji POSIX-owych wÄtków
              LinuxThreads w systemach, które miaÅy zainstalowane zarówno
              LinuxThreads, jak i NPTL (który byÅ domyÅlnÄ wersjÄ na takich
              systemach); patrz pthreads(7).

       LD_BIND_NOW
              (libc5; glibc od wersji 2.1.1) Gdy zmienna ta jest obecna,
              sprawia, że dynamiczny konsolidator rozwiÄże wszystkie symbole
              podczas startu programu, a nie wtedy gdy bÄdzie do nich pierwsze
              odniesienie. Jest to użyteczne podczas używania debuggera.

       LD_LIBRARY_PATH
              Lista katalogów, w których szukaÄ bibliotek ELF podczas
              wykonywania. SkÅadniki listy mogÄ byÄ oddzielone dwukropkiem lub
              Årednikiem. Podobne do zmiennej Årodowiskowej PATH. Ta zmienna
              jest ignorowana w trybie bezpiecznego wykonania.

       LD_PRELOAD
              Lista dodatkowych, podanych przez użytkownika obiektów
              dzielonych ELF, którÄ należy zaÅadowaÄ przed wszystkimi
              innymi. Elementy listy mogÄ byÄ oddzielone od siebie spacjami
              lub dwukropkami. Umożliwia to wybiórczÄ zamianÄ funkcji w
              innych obiektach dzielonych. Może byÄ używane do wybiórczego
              nadpisywania funkcji z innych obiektów dzielonych. Obiekty sÄ
              wyszukiwane zgodnie z reguÅami podanymi w rozdziale OPIS. W
              trybie bezpiecznego wykonania, zaÅadowane wstÄpnie Åcieżki
              zawierajÄce ukoÅniki sÄ ignorowane, a obiekty dzielone ze
              standardowej Åcieżki katalogów Åadowane bÄdÄ tylko wtedy, gdy
              majÄ także ustawiony bit set-user-ID.

       LD_TRACE_LOADED_OBJECTS
              (tylko ELF) Gdy zmienna ta jest ustawiona (na dowolnÄ wartoÅÄ)
              powoduje, że program wypisze swoje dynamiczne zależnoÅci, tak
              jakby byÅ uruchomiany przez ldd(1), a nie normalnie.

       Jest także wiele bardziej lub mniej mÄtnych zmiennych, wiele
       przestarzaÅych lub przeznaczonych do użytku wewnÄtrznego.

       LD_AOUT_LIBRARY_PATH
              (libc5) Wersja LD_LIBRARY_PATH tylko dla binariów a.out.
              Starsze wersje ld-linux.so.1 wspieraÅy także
              LD_ELF_LIBRARY_PATH.

       LD_AOUT_PRELOAD
              (libc5) Wersja LD_PRELOAD tylko dla binariów a.out. Starsze
              wersje ld-linux.so.1 wspieraÅy także LD_ELF_PRELOAD.

       LD_AUDIT
              (glibc od wersji 2.4). Rozdzielona dwukropkami lista okreÅlonych
              przez użytkownika dzielonych obiektów ELF do zaÅadowania przez
              wszystkimi innymi obiektami w oddzielnej przestrzeni nazw
              konsolidatora (to jest w przestrzeni nazw, która nie wpÅywa na
              przyporzÄdkowania symboli, które odbywa siÄ w procesie).
              Obiektów tych można użyÄ do audytu operacji konsolidatora
              dynamicznego. LD_AUDIT jest ignorowane w trybie bezpiecznego
              wykonania.

              Konsolidator dynamiczny powiadomi obiekty dzielone audytu w tak
              zwanych punktach sprawdzeÅ audytu \m na przykÅad Åadowanie
              nowego dzielonego obiektu, rozwiÄzanie symbolu lub wywoÅanie
              symbolu z innego obiektu dzielonego \m przez wywoÅanie
              odpowiedniej funkcji obiektu dzielonego. SzczegóÅy można
              znaleÅºÄ w rtld-audit(7). Interfejs audytu jest w dużej mierze
              zgodny z tym udostÄpnianym przez Solarisa, opisanym w jego
              Przewodniku po konsolidatorze i bibliotekach w rozdziale
              Interfejs audytu konsolidatora.

       LD_BIND_NOT
              (glibc od wersji 2.1.95) JeÅli ta zmienna Årodowiskowa jest
              ustawiona na niepusty ÅaÅcuch, to nie zachodzi aktualizacja GOT
              (global offset table) ani PLT (procedure linkage table) po
              rozwiniÄciu symbolu.

       LD_DEBUG
              (glibc od wersji 2.1) Wypisuje rozwlekÅe informacje debugowania
              konsolidatora dynamicznego. JeÅli ustawione na all wypisuje
              wszystkie dostÄpne informacje debugowania, jeÅli ustawione na
              help wyÅwietla listÄ kategorii, które można podaÄ jako wartoÅÄ
              tej zmiennej Årodowiskowej. Od glibc wersji 2.3.4 LD_DEBUG jest
              ignorowana w trybie bezpiecznego wykonania, chyba że istnieje
              plik /etc/suid-debug (jest zawartoÅÄ jest nieistotna).

       LD_DEBUG_OUTPUT
              (glibc od wersji 2.1) Plik, do którego bÄdzie zapisane wyjÅcie
              LD_DEBUG. DomyÅlnie jest to standardowe wyjÅcie bÅÄdów.
              LD_DEBUG_OUTPUT jest ignorowane w trybie bezpiecznego wykonania.

       LD_DYNAMIC_WEAK
              (glibc od wersji 2.1.91) JeÅli ta zmienna Årodowiskowa jest
              zdefiniowana (z dowolnÄ wartoÅciÄ), to pozwala na nadpisywanie
              sÅabych (ang. weak) symboli (przywracajÄc poprzednie zachowanie
              glibc). Od wersji 2.3.4 biblioteki glibc LD_DYNAMIC_WEAK jest
              ignorowana w trybie bezpiecznego wykonania.

       LD_HWCAP_MASK
              (glibc od wersji 2.1) Maska wÅaÅciwoÅci sprzÄtowych.

       LD_KEEPDIR
              (tylko a.out)(libc5)  Nie ignoruju katalogu w nazwach Åadowanych
              bibliotek a.out. Używanie tej opcji nie jest zalecane.

       LD_NOWARN
              (tylko a.out)(libc5) Powstrzymuje ostrzeżenia o bibliotekach
              a.out o niekompatybilnych numerach minorowych wersji.

       LD_ORIGIN_PATH
              (glibc od wersji 2.1) Åcieżka, w której znaleziono program
              binarny (dla programów bez bitu set-user-ID). Od wersji 2.4
              biblioteki glibc LD_ORIGIN_PATH jest ignorowana w trybie
              bezpiecznego wykonania.

       LD_POINTER_GUARD
              (glibc od wersji 2.4 do 2.22) Ustawione na 0 powoduje wyÅÄczenie
              ochrony wskaźników. Jakakolwiek inna wartoÅÄ wÅÄcza ochronÄ
              wskaźników, co jest także zachowaniem domyÅlnym. Ochrona
              wskaźników jest mechanizmem bezpieczeÅstwa, w którym
              niektóre wskaźniki do kodu przechowywanego w zapisywalnej
              pamiÄci programu (adresy powrotu zwrócone przez setjmp(3) lub
              wskaźniki do funkcji używane przez różne funkcje wewnÄtrzne
              biblioteki glibc) sÄ w sposób pseudolosowy zmieniane, aby
              utrudniÄ hakerowi przejÄcie tych wskaźników i przeprowadzenie
              ataków typu przepeÅnienie bufora lub stosu. Od glibc 2.23
              LD_POINTER_GUARD nie można już użyÄ do wyÅÄczenia ochrony
              wskaźników, która jest teraz zawsze aktywna.

       LD_PROFILE
              (glibc od wersji 2.1) Nazwa (pojedynczego) obiektu dzielonego
              przeznaczonego do profilowania, podane albo jako nazwa Åcieżki,
              albo nazwa pliku so. WyjÅcie profilowania jest dopisywane do
              pliku o nazwie "$LD_PROFILE_OUTPUT/$LD_PROFILE.profile".

       LD_PROFILE_OUTPUT
              (glibc od wersji 2.1) Katalog, w którym powinno byÄ zapisane
              wyjÅcie LD_PROFILE. JeÅli ta zmienna nie jest zdefiniowana lub
              jeÅli wartoÅÄ tej zmiennej jest pusta, to domyÅlnym katalogiem
              jest /var/tmp. LD_PROFILE_OUTPUT jest ignorowane w trybie
              bezpiecznego wykonania; wówczas zawsze używany jest
              /var/profile.

       LD_SHOW_AUXV
              (glibc od wersji 2.1) JeÅli ta zmienna Årodowiskowa jest
              zdefiniowana (z dowolnÄ wartoÅciÄ), wyÅwietla tablicÄ pomocniczÄ
              przekazanÄ przez jÄdro. Od wersji 2.3.5 biblioteki glibc
              LD_SHOW_AUXV jest ignorowana w trybie bezpiecznego wykonania.

       LD_TRACE_PRELINKING
              (glibc od wersji 2.4) JeÅli ta zmienna Årodowiskowa jest
              zdefiniowana (z dowolnÄ wartoÅciÄ) Åledzi prekonsolidacjÄ
              obiektu, którego nazwa jest przypisana do tej zmiennej
              Årodowiskowej (ldd(1) sÅuży do pozyskania listy obiektów,
              które mogÄ byÄ Åledzone). JeÅli nazwa obiektu nie zostanie
              rozpoznana, to Åledzona jest caÅa aktywnoÅÄ prekonsolidacji.

       LD_USE_LOAD_BIAS
              DomyÅlnie (czyli jeÅli ta zmienna nie jest zdefiniowana)
              programy wykonywalne i prekonsolidowane obiekty dzielone
              bÄdÄ uwzglÄdniaÅy adresy bazowe obiektów dzielonych, od
              których zależÄ, a (nieprekonsolidowane) programy wykonywalne
              niezależne od pozycji (position-independent executable, PIE) i
              inne obiekty dzielone nie bÄdÄ ich uwzglÄdniaÅy. JeÅli
              LD_USE_LOAD_BIAS jest zdefiniowana z jakÄÅ wartoÅciÄ, to
              zarówno programy wykonywalne, jak i PIE, bÄdÄ uwzglÄdniaÅy
              adresy bazowe. JeÅli LD_USE_LOAD_BIAS jest zdefiniowana z
              wartoÅciÄ 1, to ani programy wykonywalne, ani PIE nie bÄdÄ
              uwzglÄdniaÅy adresów bazowych. Zmienna ta jest ignorowana w
              trybie bezpiecznego wykonania.

       LD_VERBOSE
              (glibc od wersji 2.1). JeÅli ustawione na niepusty ÅaÅcuch
              znaków i jeÅli zostaÅa ustawiona zmienna Årodowiskowa
              LD_TRACE_LOADED_OBJECTS, to wypisuje informacje o wersjonowaniu
              symboli programu.

       LD_WARN
              (tylko ELF)(glibc od wersji 2.1.3) JeÅli ustawione na niepusty
              ÅaÅcuch znaków, to wÅÄcza ostrzeganie o nierozwijalnych
              symbolach.

       LD_PREFER_MAP_32BIT_EXEC
              (tylko x86-64)(glibc w wersji od 2.23) Zgodnie z przewodnikiem
              optymalizacji oprogramowania Intel Silvermont, dla aplikacji
              64-bitowych wydajnoÅÄ przewidywania rozgaÅÄzieÅ może byÄ
              zmniejszona, gdy cel gaÅÄzi jest oddalony o ponad 4GB. JeÅli ta
              zmienna Årodowiskowa jest ustawiona (na dowolnÄ wartoÅÄ), to
              ld.so spróbuje najpierw przypisaÄ flagi wykonywalnoÅci za
              pomocÄ flagi MAP_32BIT mmap(2), a jeÅli siÄ to nie powiedzie —
              bez tej flagi. Przy okazji: MAP_32BIT przypisze niższe 2GB (nie
              4GB) przestrzeni adresowej. Ponieważ MAP_32BIT redukuje zakres
              adresowy dostÄpny dla losowego rozmieszczania obszarów pamiÄci
              (ang. ASLR - adress space layout randomization), w trybie
              bezpiecznego wykonania LD_PREFER_MAP_32BIT_EXEC jest zawsze
              wyÅÄczona.

       LDD_ARGV0
              (libc5) argv[0] do użycia przez ldd(1), jeÅli żadne argumenty
              nie sÄ obecne.

PLIKI
       /lib/ld.so
              Dynamiczny konsolidator/Åadowacz a.out
       /lib/ld-linux.so.{1,2}
              Dynamiczny konsolidator/Åadowacz ELF
       /etc/ld.so.cache
              Plik zawierajÄcy skompilowanÄ listÄ katalogów, w których
              należy szukaÄ obiektów dzielonych oraz uporzÄdkowanÄ listÄ
              kandydujÄcych obiektów dzielonych.
       /etc/ld.so.preload
              Plik zawierajÄcy oddzielonÄ spacjami listÄ obiektów dzielonych
              ELF, które majÄ byÄ zaÅadowane przed programem.
       lib*.so*
              obiekty dzielone

UWAGI
       MożliwoÅci ld.so dostÄpne sÄ tylko dla programów binarnych,
       skompilowanych przy użyciu libc w wersji 4.4.3 lub wyższej.
       FunkcjonalnoÅci ELF-a sÄ dostÄpne od Linuksa 1.1.52 i libc5.

   MożliwoÅci sprzÄtowe
       Niektóre obiekty dzielone sÄ kompilowane z użyciem specyficznych dla
       danego sprzÄtu instrukcji, które nie muszÄ istnieÄ na każdym CPU.
       Takie obiektypowinny byÄ instalowane w katalogach, których nazwy
       okreÅlajÄ wymagane wÅaÅciwoÅci sprzÄtu, na przykÅad /usr/lib/sse2/.
       Konsolidator dynamiczny porównuje nazwy takich katalogów ze sprzÄtem
       maszyny i wybiera najbardziej odpowiedniÄ wersjÄ danego obiektu
       dzielonego. Katalogi wÅaÅciwoÅci sprzÄtu mogÄ tworzyÄ kaskady,
       dopuszczajÄc kombinacje cech CPU. Lista nazw wspieranych wÅaÅciwoÅci
       sprzÄtowych zależy od CPU. Obecnie rozpoznawane sÄ nastÄpujÄce nazwy:

       Alpha  ev4, ev5, ev56, ev6, ev67

       MIPS   loongson2e, loongson2f, octeon, octeon2

       PowerPC
              4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp,
              efpdouble, efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4,
              power5, power5+, power6x, ppc32, ppc601, ppc64, smt, spe,
              ucache, vsx

       SPARC  flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2

       s390   dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa,
              stfle, z900, z990, z9-109, z10, zarch

       x86 (tylko 32-bitowe)
              acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586,
              i686, mca, mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse,
              sse2, tm

ZOBACZ TAKŻE
       ld(1), ldd(1), pldd(1), sprof(1), dlopen(3), getauxval(3),
       capabilities(7), rtld-audit(7), ldconfig(8), sln(8)

O STRONIE
       Angielska wersja tej strony pochodzi z wydania 4.05 projektu Linux
       man-pages. Opis projektu, informacje dotyczÄce zgÅaszania bÅÄdów, oraz
       najnowszÄ wersjÄ oryginaÅu można znaleÅºÄ pod adresem
       https://www.kernel.org/doc/man-pages/.

TÅUMACZENIE
       Autorami polskiego tÅumaczenia niniejszej strony podrÄcznika man sÄ:
       Przemek Borys (PTM) <pborys@dione.ids.pl>, Grzegorz GoÅawski (PTM)
       <grzegol@pld.org.pl>, Robert Luberda <robert@debian.org> i MichaÅ
       KuÅach <michal.kulach@gmail.com>.

       Polskie tÅumaczenie jest czÄÅciÄ projektu manpages-pl; uwagi, pomoc,
       zgÅaszanie bÅÄdów na stronie http://sourceforge.net/projects/manpages-
       pl/. Jest zgodne z wersjÄ  4.05 oryginaÅu.



GNU                               2015-12-28                          LD.SO(8)