.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "STRIP 1" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH STRIP 1 "9 lutego 2026 r." binutils\-2.46 "Narzędzia programistyczne GNU" .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NAZWA strip \- usuwa symbole i inne dane z plików obiektowych .SH SKŁADNIA .IX Header SKŁADNIA strip [\fB\-F\fP \fInazwa\-bfd\fP |\fB\-\-target=\fP\fInazwa\-bfd\fP] [\fB\-I\fP \fInazwa\-bfd\fP |\fB\-\-input\-target=\fP\fInazwa\-bfd\fP] [\fB\-O\fP \fInazwa\-bfd\fP |\fB\-\-output\-target=\fP\fInazwa\-bfd\fP] [\fB\-s\fP|\fB\-\-strip\-all\fP] [\fB\-S\fP|\fB\-g\fP|\fB\-d\fP|\fB\-\-strip\-debug\fP] [\fB\-\-strip\-dwo\fP] [\fB\-K\fP \fInazwa\-symbolu\fP|\fB\-\-keep\-symbol=\fP\fInazwa\-symbolu\fP] [\fB\-M\fP|\fB\-\-merge\-notes\fP][\fB\-\-no\-merge\-notes\fP] [\fB\-N\fP \fInazwa\-symbolu\fP |\fB\-\-strip\-symbol=\fP\fInazwa\-symbolu\fP] [\fB\-w\fP|\fB\-\-wildcard\fP] [\fB\-x\fP|\fB\-\-discard\-all\fP] [\fB\-X\fP |\fB\-\-discard\-locals\fP] [\fB\-R\fP \fInazwa\-sekcji\fP |\fB\-\-remove\-section=\fP\fInazwa\-sekcji\fP] [\fB\-\-keep\-section=\fP\fIwzorzec\-sekcji\fP] [\fB\-\-remove\-relocations=\fP\fIwzorzec\-sekcji\fP] [\fB\-\-strip\-section\-headers\fP] [\fB\-o\fP \fIplik\fP] [\fB\-p\fP|\fB\-\-preserve\-dates\fP] [\fB\-D\fP|\fB\-\-enable\-deterministic\-archives\fP] [\fB\-U\fP|\fB\-\-disable\-deterministic\-archives\fP] [\fB\-\-keep\-section\-symbols\fP] [\fB\-\-keep\-file\-symbols\fP] [\fB\-\-only\-keep\-debug\fP] [\fB\-\-plugin\fP \fInazwa\fP] [\fB\-v\fP |\fB\-\-verbose\fP] [\fB\-V\fP|\fB\-\-version\fP] [\fB\-\-help\fP] [\fB\-\-info\fP] \fIplik\-obiektowy\fP... .SH OPIS .IX Header OPIS GNU \fBstrip\fP usuwa wszystkie symbole z plików obiektowych \&\fIplik\-obiektowy\fP. Lista plików obiektowych może zawierać archiwa. Podany musi być przynajmniej jeden plik obiektowy. .PP \&\fBstrip\fP modyfikuje pliki podane w argumencie \- nie zapisuje zmodyfikowanych kopii pod innymi nazwami. .SH OPCJE .IX Header OPCJE .IP "\fB\-F\fP \fInazwa\-bfd\fP" 4 .IX Item "\-F nazwa\-bfd" .PD 0 .IP \fB\-\-target=\fP\fInazwa\-bfd\fP 4 .IX Item \-\-target=nazwa\-bfd .PD Traktuje oryginalny \fIplik\-obiektowy\fP jak plik obiektowy w formacie \fInazwa\-bfd\fP i zapisuje go w tym samym formacie. .IP \fB\-\-help\fP 4 .IX Item \-\-help Wypisuje sposób użycia \fBstrip\fP z wiersza poleceń i kończy pracę programu. .IP \fB\-\-info\fP 4 .IX Item \-\-info Wyświetla listę wszystkich dostępnych architektur i formatów plików obiektowych. .IP "\fB\-I\fP \fInazwa\-bfd\fP" 4 .IX Item "\-I nazwa\-bfd" .PD 0 .IP \fB\-\-input\-target=\fP\fInazwa\-bfd\fP 4 .IX Item \-\-input\-target=nazwa\-bfd .PD Traktuje oryginalny \fIplik\-obiektowy\fP jako plik o formacie kodu obiektowego \fInazwa\-bfd\fP. .IP "\fB\-O\fP \fInazwa\-bfd\fP" 4 .IX Item "\-O nazwa\-bfd" .PD 0 .IP \fB\-\-output\-target=\fP\fInazwa\-bfd\fP 4 .IX Item \-\-output\-target=nazwa\-bfd .PD Zastępuje \fIplik\-obiektowy\fP plikiem w formacie wyjściowym \fInazwa\-bfd\fP. .IP "\fB\-R\fP \fInazwa\-sekcji\fP" 4 .IX Item "\-R nazwa\-sekcji" .PD 0 .IP \fB\-\-remove\-section=\fP\fInazwa\-sekcji\fP 4 .IX Item \-\-remove\-section=nazwa\-sekcji .PD Oprócz sekcji które normalnie są usuwane, usuwa z pliku wyjściowego także każdą sekcję o nazwie \fInazwa\-sekcji\fP. Opcja ta może być podana więcej niż raz. Proszę zauważyć, że jej nieodpowiednie używanie może spowodować, że plik obiektowy będzie bezużyteczny. \fINazwa\-sekcji\fP może się kończyć znakiem dopasowania \fB*\fP. W takim przypadku zostaną usunięte sekcje o nazwach zaczynających się od \fInazwy\-sekcji\fP. .Sp Jeśli pierwszym znakiem \fInazwy\-sekcji\fP jest znak wykrzyknika (\[Bq]!\[rq]), to pasujące sekcje nie będą usuwane, nawet jeśli poprzednie użycie opcji \fB\-\-remove\-section\fP w tej samej linii poleceń spowodowałoby ich usunięcie. Na przykład: .Sp .Vb 1 \& \-\-remove\-section=.text.* \-\-remove\-section=!.text.foo .Ve .Sp usunie wszystkie sekcje pasujące do wzorca \[Bq].text.*\[rq], z wyjątkiem sekcji \[Bq].text.foo\[rq]. .IP \fB\-\-keep\-section=\fP\fIwzorzec\-sekcji\fP 4 .IX Item \-\-keep\-section=wzorzec\-sekcji Przy usuwaniu sekcji z pliku wyjściowego, pozostawia sekcje pasujące do \&\fIwzorca\-sekcji\fP. .IP \fB\-\-remove\-relocations=\fP\fIwzorzec\-sekcji\fP 4 .IX Item \-\-remove\-relocations=wzorzec\-sekcji Usuwa z pliku wynikowego relokacje w każdej sekcji pasującej do \&\fIwzorca\-sekcji\fP. Opcja ta może być podana więcej niż raz. Proszę zauważyć, że jej nieodpowiednie używanie może spowodować, że plik obiektowy będzie bezużyteczny. \fIWzorzec\-sekcji\fP może zawierać znaki dopasowania. Na przykład: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* .Ve .Sp usunie wszystkie relokacje z wszystkich sekcji pasujących do wzorca \[Bq].text.*\[rq]. .Sp Jeśli pierwszym znakiem \fIwzorca\-sekcji\fP jest znak wykrzyknika (\[Bq]!\[rq]), to relokacje nie będą usuwane z pasujących sekcji, nawet jeśli poprzednie użycie opcji \fB\-\-remove\-relocations\fP w tej samej linii poleceń spowodowałoby usunięcie relokacji. Na przykład: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* \-\-remove\-relocations=!.text.foo .Ve .Sp usunie wszystkie relokacje z sekcji pasujących do wzorca \[Bq].text.*\[rq], z wyjątkiem relokacji w sekcji \[Bq].text.foo\[rq]. .IP \fB\-\-strip\-section\-headers\fP 4 .IX Item \-\-strip\-section\-headers Usuwa nagłówki sekcji. Opcja jest przeznaczona do plików ELF. Wymusza \&\fB\-\-strip\-all\fP i \fB\-\-merge\-notes\fP. .IP \fB\-s\fP 4 .IX Item \-s .PD 0 .IP \fB\-\-strip\-all\fP 4 .IX Item \-\-strip\-all .PD Usuwa wszystkie symbole. .IP \fB\-g\fP 4 .IX Item \-g .PD 0 .IP \fB\-S\fP 4 .IX Item \-S .IP \fB\-d\fP 4 .IX Item \fB\-d\fP .IP \fB\-\-strip\-debug\fP 4 .IX Item \-\-strip\-debug .PD Usuwa tylko symbole debugowania. .IP \fB\-\-strip\-dwo\fP 4 .IX Item \-\-strip\-dwo Usuwa zawartość wszystkich sekcji DWARF .dwo, pozostawiając pozostałe sekcje i wszystkie symbole. Więcej informacji można znaleźć w opisie tej opcji w rozdziale \fBobjcopy\fP. .IP \fB\-\-strip\-unneeded\fP 4 .IX Item \-\-strip\-unneeded Usuwa wszystkie symbole, które nie są potrzebne do przetwarzania relokacji, oprócz symboli debugowania i sekcji, usuwanych przez \&\fB\-\-strip\-debug\fP. .IP "\fB\-K\fP \fInazwa\-symbolu\fP" 4 .IX Item "\-K nazwa\-symbolu" .PD 0 .IP \fB\-\-keep\-symbol=\fP\fInazwa\-symbolu\fP 4 .IX Item \-\-keep\-symbol=nazwa\-symbolu .PD Podczas usuwania symboli zachowuje symbol \fInazwa\-symbolu\fP, nawet jeśli normalnie byłby usunięty. Opcja ta może być podawana więcej niż jeden raz. .IP \fB\-M\fP 4 .IX Item \fB\-M\fP .PD 0 .IP \fB\-\-merge\-notes\fP 4 .IX Item \-\-merge\-notes .IP \fB\-\-no\-merge\-notes\fP 4 .IX Item \-\-no\-merge\-notes .PD W przypadku plików ELF próbuje (lub nie próbuje) zredukować rozmiar sekcji typu SHT_NOTE, przez usunięcie zduplikowanych notatek. Domyślnie próba takiej redukcji ma miejsce chyba, że dochodzi do usuwania informacji debugowania lub DWO. .IP "\fB\-N\fP \fInazwa\-symbolu\fP" 4 .IX Item "\-N nazwa\-symbolu" .PD 0 .IP \fB\-\-strip\-symbol=\fP\fInazwa\-symbolu\fP 4 .IX Item \-\-strip\-symbol=nazwa\-symbolu .PD Usuwa symbol \fInazwa\-symbolu\fP z pliku źródłowego. Opcja ta może być podawana więcej niż raz i łączona z innymi opcjami usuwania z wyjątkiem \&\fB\-K\fP. .IP "\fB\-o\fP \fIplik\fP" 4 .IX Item "\-o plik" Umieszcza ogołocone wyjście w \fIpliku\fP bez zastępowania istniejącego pliku. Z tym argumentem podany może być tylko jeden argument \fIplik\-obiektowy\fP. .IP \fB\-p\fP 4 .IX Item \fB\-p\fP .PD 0 .IP \fB\-\-preserve\-dates\fP 4 .IX Item \-\-preserve\-dates .PD Zachowuje prawa dostępu i daty modyfikacji pliku. .IP \fB\-D\fP 4 .IX Item \fB\-D\fP .PD 0 .IP \fB\-\-enable\-deterministic\-archives\fP 4 .IX Item \-\-enable\-deterministic\-archives .PD Działa w trybie \fIdeterministycznym\fP. Podczas kopiowania członków archiwum i zapisywania indeksu archiwum używa wartości zero w polach \s-1UID, GID\s0, znacznika czasowego, a także używa jednolitych praw dostępu do wszystkich plików. .Sp Jeśli \fIbinutils\fP zostało skonfigurowane z opcją \&\fB\-\-enable\-deterministic\-archives\fP, to jest to zachowanie domyślne. Można je wyłączyć za pomocą poniżej opisanej opcji \fB\-U\fP. .IP \fB\-U\fP 4 .IX Item \-U .PD 0 .IP \fB\-\-disable\-deterministic\-archives\fP 4 .IX Item \-\-disable\-deterministic\-archives .PD \fBNie\fP działa w trybie \fIdeterministycznym\fP. Jest to odwrotność opcji \fB\-D\fP opisanej powyżej: podczas kopiowania członków archiwum i zapisywania indeksu archiwum używa właściwych wartości pól UID, GID, znacznika czasowego i praw dostępu do pliku. .Sp Jest to zachowanie domyślne, o ile \fIbinutils\fP nie został skonfigurowany z \&\fB\-\-enable\-deterministic\-archives\fP. .IP \fB\-w\fP 4 .IX Item \-w .PD 0 .IP \fB\-\-wildcard\fP 4 .IX Item \-\-wildcard .PD Pozwala na użycie wyrażeń regularnych w argumentach \fInazwa\-symbolu\fP pozostałych opcji linii poleceń. W dowolnej części nazwy symbolu można użyć znaku zapytania (\[Bq]?\[rq]), gwiazdki (\[Bq]*\[rq]), odwrotnego ukośnika (\[Bq]\e\[rq]) oraz operatora nawiasów kwadratowych (\[Bq][]\[rq]). Jeśli pierwszym znakiem nazwy symbolu jest wykrzyknik (\[Bq]!\[rq]), to dla tego symbolu przełącznik ma odwrotne znacznie. Na przykład: .Sp .Vb 1 \& \-w \-K !foo \-K fo* .Ve .Sp spowoduje, że strip zachowa tylko te symbole, które zaczynają się od liter \[Bq]fo\[rq], ale usunie symbol \[Bq]foo\[rq]. .IP \fB\-x\fP 4 .IX Item \-x .PD 0 .IP \fB\-\-discard\-all\fP 4 .IX Item \-\-discard\-all .PD Usuwa symbole nieglobalne. .IP \fB\-X\fP 4 .IX Item \-X .PD 0 .IP \fB\-\-discard\-locals\fP 4 .IX Item \-\-discard\-locals .PD Usuwa generowane przez kompilator symbole lokalne (zaczynają się zwykle od \fBL\fP lub \fB.\fP). .IP \fB\-\-keep\-section\-symbols\fP 4 .IX Item \-\-keep\-section\-symbols Podczas usuwania symboli z pliku, na przykład za pomocą \fB\-\-strip\-debug\fP lub \&\fB\-\-strip\-unneeded\fP, pozostawia wszystkie symbole określające nazwy sekcji, które w przeciwnym wypadku zostałyby usunięte. .IP \fB\-\-keep\-file\-symbols\fP 4 .IX Item \-\-keep\-file\-symbols Podczas usuwania symboli z pliku, na przykład za pomocą \fB\-\-strip\-debug\fP lub \&\fB\-\-strip\-unneeded\fP, pozostawia wszystkie symbole określające nazwy plików źródłowych, które w przeciwnym wypadku zostałyby usunięte. .IP \fB\-\-only\-keep\-debug\fP 4 .IX Item \-\-only\-keep\-debug Usuwa symbole z pliku, czyszcząc zawartość wszystkich sekcji, które nie zostałyby wyczyszczone przez \fB\-\-strip\-debug\fP, ale pozostawiając sekcje debugowania nienaruszone. W plikach ELF pozostawia to także sekcje notatek. .Sp Uwaga: pozostawiane są nagłówki usuniętych sekcji, włączając to ich rozmiary, ale sama zawartość sekcji jest usuwana. Nagłówki sekcji są pozostawiane po to, żeby inne narzędzia mogły sparować plik debuginfo z rzeczywisty programem wykonywalnym nawet wtedy, gdy ten program został realokowany do innej przestrzeni adresów, .Sp Założenie jest takie, że ta opcja będzie używana łącznie z \&\fB\-\-add\-gnu\-debuglink\fP, aby utworzyć dwuczęściowy plik wykonywalny. Pierwsza część to program binarny pozbawiony zbędnych symboli, który zajmuje mniej miejsca w pamięci RAM i w pakiecie dystrybucji systemu, a druga część zawiera plik informacji debugowania, potrzebny tylko wtedy, gdy wymagane do debugowanie aplikacji. Sugerowany sposób tworzenia tych plików jest następujący: .RS 4 .IP 1. 4 Link the executable as normal. Assuming that it is called \f(CW\*(C`foo\*(C'\fP then... .IP 2. 4 Run \f(CW\*(C`objcopy \-\-only\-keep\-debug foo foo.dbg\*(C'\fP to create a file containing the debugging info. .IP 3. 4 Run \f(CW\*(C`strip \-\-strip\-debug foo\*(C'\fP to create a stripped executable. .IP 4. 4 Run \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.dbg foo\*(C'\fP to add a link to the debugging info into the stripped executable. .RE .RS 4 .Sp Uwaga: Wybór \f(CW\[Bq].dbg\[rq]\fP jako rozszerzenia plików zawierających informacje debugowania jest całkowicie przypadkowy. Także krok \f(CW\[Bq]\-\-only\-keep\-debug\[rq]\fP jest opcjonalny. Zamiast niego można wykonać: .IP 1. 4 Link the executable as normal. .IP 2. 4 Copy \f(CW\*(C`foo\*(C'\fP to \f(CW\*(C`foo.full\*(C'\fP. .IP 3. 4 Run \f(CW\*(C`strip \-\-strip\-debug foo\*(C'\fP. .IP 4. 4 Run \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.full foo\*(C'\fP. .RE .RS 4 .Sp Oznacza to, że plik wskazywany przez \fB\-\-add\-gnu\-debuglink\fP może być pełnym programem wykonywalnym. Nie musi to być plik tworzony przez opcję \&\fB\-\-only\-keep\-debug\fP. .Sp Uwaga: ta opcja jest przeznaczona do użycia tylko z całkowicie skonsolidowanymi plikami. Nie ma ona sensu w przypadku plików obiektowych, w których informacje debugowania mogą nie być kompletne. Poza tym właściwość gnu_debuglink obecnie dopuszcza wystąpienie nazwy tylko jednego pliku zawierającego informacjami debugowania, czyli nie pozwala na wiele plików, z których każdy zawierałby informacje debugowania dla osobnego pliku obiektowego. .RE .IP "\fB\-\-plugin\fP \fInazwa\fP" 4 .IX Item "\-\-plugin nazwa" Ładuje wtyczkę o podanej \fInazwie\fP, która dodaje obsługę dodatkowych typów docelowych. Opcja jest dostępna tylko, jeśli program zbudowano z włączoną obsługą wtyczek. .Sp Jeśli nie podano \fB\-\-plugin\fP, lecz obsługa wtyczek została włączona, to \fBstrip\fP przechodzi przez pliki w \&\fI${libdir}/bfd\-plugins\fP w kolejności alfabetycznej i używa pierwszej wtyczki deklarującej dany obiekt. .Sp Proszę zauważyć, że ten katalog przeszukiwania wtyczek \fInie jest\fP taki, jak używany przez opcję \fB\-plugin\fP programu \fBld\fP. Aby \&\fBstrip\fP używał wtyczki konsolidarora, musi być ona skopiowana do katalogu \&\fI${libdir}/bfd\-plugins\fP. W przypadku kompilacji powstałych w oparciu o GCC, wtyczka konsolidatora ma nazwę \fIliblto_plugin.so.0.0.0\fP. W przypadku Clanga jest to \fILLVMgold.so\fP. Wtyczka GCC jest zawsze wstecznie kompatybilna z wcześniejszymi wersjami, więc wystarczy skopiować jej najnowszą wersję. .IP \fB\-V\fP 4 .IX Item \-V .PD 0 .IP \fB\-\-version\fP 4 .IX Item \-\-version .PD Wypisuje numer wersji programu \fBstrip\fP. .IP \fB\-v\fP 4 .IX Item \fB\-v\fP .PD 0 .IP \fB\-\-verbose\fP 4 .IX Item \-\-verbose .PD Szczegółowe wyjście: wyświetla wszystkie zmodyfikowane pliki obiektowe. W wypadku archiwów, \fBstrip \-v\fP wyświetla wszystkich członków archiwum. .IP \fB@\fP\fIplik\fP 4 .IX Item @plik Czyta opcje wiersza poleceń z podanego \fIpliku\fP. Przeczytane opcje są wstawiane w miejsce oryginalnej opcji @plik. Jeśli \fIplik\fP nie istnieje lub nie może być odczytany, ta opcja jest traktowana dosłownie i nie jest usuwana. .Sp Opcje w \fIpliku\fP są rozdzielane białymi znakami. Biały znak może wystąpić w opcji, jeśli cała opcja zostanie ujęta w pojedyncze albo podwójne cudzysłowy. Można dodać dowolny znak (włączając w to znak odwrotnego ukośnika), poprzedzając go znakiem odwrotnego ukośnika. \fIPlik\fP może również zawierać dodatkowe opcje @\fIplik\fP \- w takim przypadku każda z takich opcji będzie przetwarzana rekurencyjnie. .SH "ZOBACZ TAKŻE" .IX Header "ZOBACZ TAKŻE" wpisy info \fIbinutils\fP. .SH PRAWA AUTORSKIE .IX Header PRAWA AUTORSKIE Copyright (c) 1991\-2026 Free Software Foundation, Inc. .PP Zezwala się na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu na warunkach Licencji Wolnej Dokumentacji GNU (\s-1GNU\s0 Free Documentation License) w wersji 1.3 lub jakiejkolwiek nowszej wersji opublikowanej przez Fundację Wolnego Oprogramowania, przy czym Sekcjami niezmiennymi są \[Bq]GNU General Public License\[rq] i \[Bq]GNU Free Documentation License\[rq], bez treści przedniej lub tylnej strony okładki. Egzemplarz licencji zamieszczono w sekcji zatytułowanej \[Bq]GNU Free Documentation License\[rq]. .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Przemek Borys , Robert Luberda i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .