.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" 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'. .de IX .. .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 .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "STRIP 1" .TH STRIP 1 2026-08-03 binutils-2.47 "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" x86_64-w64-mingw32-strip \- حذف نمادها و متادیتاها از فایل‌های شیء و اجرایی x86_64 MinGW-w64 .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" strip [\fB\-F\fR \fIbfdname\fR |\fB\-\-target=\fR\fIbfdname\fR] [\fB\-I\fR \fIbfdname\fR |\fB\-\-input\-target=\fR\fIbfdname\fR] [\fB\-O\fR \fIbfdname\fR |\fB\-\-output\-target=\fR\fIbfdname\fR] [\fB\-s\fR|\fB\-\-strip\-all\fR] [\fB\-S\fR|\fB\-g\fR|\fB\-d\fR|\fB\-\-strip\-debug\fR] [\fB\-\-strip\-dwo\fR] [\fB\-K\fR \fIsymbolname\fR|\fB\-\-keep\-symbol=\fR\fIsymbolname\fR] [\fB\-M\fR|\fB\-\-merge\-notes\fR][\fB\-\-no\-merge\-notes\fR] [\fB\-N\fR \fIsymbolname\fR |\fB\-\-strip\-symbol=\fR\fIsymbolname\fR] [\fB\-w\fR|\fB\-\-wildcard\fR] [\fB\-x\fR|\fB\-\-discard\-all\fR] [\fB\-X\fR |\fB\-\-discard\-locals\fR] [\fB\-R\fR \fIsectionname\fR |\fB\-\-remove\-section=\fR\fIsectionname\fR] [\fB\-\-keep\-section=\fR\fIsectionpattern\fR] [\fB\-\-remove\-relocations=\fR\fIsectionpattern\fR] [\fB\-\-strip\-section\-headers\fR] [\fB\-o\fR \fIfile\fR] [\fB\-p\fR|\fB\-\-preserve\-dates\fR] [\fB\-D\fR|\fB\-\-enable\-deterministic\-archives\fR] [\fB\-U\fR|\fB\-\-disable\-deterministic\-archives\fR] [\fB\-\-keep\-section\-symbols\fR] [\fB\-\-keep\-file\-symbols\fR] [\fB\-\-only\-keep\-debug\fR] [\fB\-\-plugin\fR \fIname\fR] [\fB\-v\fR |\fB\-\-verbose\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fB\-\-help\fR] [\fB\-\-info\fR] \fIobjfile\fR... .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" ابزار \fBstrip\fR گنو، تمام نمادها را از فایل‌های شیء \&\fIobjfile\fR حذف می‌کند. فهرست فایل‌های شیء می‌تواند شامل بایگانی‌ها نیز باشد. حداقل یک فایل شیء باید مشخص شود. .PP \&\fBstrip\fR فایل‌های مشخص‌شده در آرگومان‌های خود را درجا ویرایش می‌کند، به‌جای اینکه نسخه‌های تغییریافته را با نام‌های متفاوتی بنویسد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-F\fR \fIbfdname\fR" 4 .IX Item "-F bfdname" .PD 0 .IP \fB\-\-target=\fR\fIbfdname\fR 4 .IX Item "--target=bfdname" .PD فایل شیء اصلی \fIobjfile\fR را به‌عنوان فایلی با قالب کد شیء \fIbfdname\fR در نظر می‌گیرد و آن را در همان قالب بازنویسی می‌کند. .IP \fB\-\-help\fR 4 .IX Item "--help" نمایش خلاصه‌ای از گزینه‌های \fBstrip\fR و خروج. .IP \fB\-\-info\fR 4 .IX Item "--info" نمایش فهرستی از تمام معماری‌ها و قالب‌های شیء موجود. .IP "\fB\-I\fR \fIbfdname\fR" 4 .IX Item "-I bfdname" .PD 0 .IP \fB\-\-input\-target=\fR\fIbfdname\fR 4 .IX Item "--input-target=bfdname" .PD فایل شیء اصلی \fIobjfile\fR را به‌عنوان فایلی با قالب کد شیء \fIbfdname\fR در نظر می‌گیرد. .IP "\fB\-O\fR \fIbfdname\fR" 4 .IX Item "-O bfdname" .PD 0 .IP \fB\-\-output\-target=\fR\fIbfdname\fR 4 .IX Item "--output-target=bfdname" .PD جایگزینی \fIobjfile\fR با فایلی در قالب خروجی \fIbfdname\fR. .IP "\fB\-R\fR \fIsectionname\fR" 4 .IX Item "-R sectionname" .PD 0 .IP \fB\-\-remove\-section=\fR\fIsectionname\fR 4 .IX Item "--remove-section=sectionname" .PD حذف هر بخش با نام \fIsectionname\fR از فایل خروجی، علاوه بر بخش‌هایی که در غیر این صورت حذف می‌شدند. این گزینه می‌تواند بیش از یک بار مشخص شود. توجه داشته باشید که استفاده نامناسب از این گزینه ممکن است فایل خروجی را غیرقابل استفاده کند. نویسه عامه‌پسند \fB*\fR می‌تواند در انتهای \fIsectionname\fR قرار گیرد. در این صورت، هر بخشی که با \fIsectionname\fR شروع شود حذف خواهد شد. .Sp اگر نخستین نویسه \fIsectionpattern\fR علامت تعجب (!) باشد، بخش‌های منطبق حذف نخواهند شد، حتی اگر کاربرد قبلی \fB\-\-remove\-section\fR در همان خط فرمان دستور حذف آن را داده باشد. به‌عنوان مثال: .Sp .Vb 1 \& \-\-remove\-section=.text.* \-\-remove\-section=!.text.foo .Ve .Sp تمام بخش‌های منطبق با الگوی \*(Aq.text.*\*(Aq را حذف می‌کند، اما بخش \*(Aq.text.foo\*(Aq را حذف نخواهد کرد. .IP \fB\-\-keep\-section=\fR\fIsectionpattern\fR 4 .IX Item "--keep-section=sectionpattern" هنگام حذف بخش‌ها از فایل خروجی، بخش‌های منطبق با \fIsectionpattern\fR را نگه می‌دارد. .IP \fB\-\-remove\-relocations=\fR\fIsectionpattern\fR 4 .IX Item "--remove-relocations=sectionpattern" حذف اطلاعات بازنشانی (relocations) از فایل خروجی برای هر بخش منطبق با \fIsectionpattern\fR. این گزینه می‌تواند بیش از یک بار مشخص شود. توجه داشته باشید که استفاده نادرست از این گزینه ممکن است فایل خروجی را غیرقابل استفاده کند. نویسه‌های عامه‌پسند در \fIsectionpattern\fR پذیرفته می‌شوند. به‌عنوان مثال: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* .Ve .Sp اطلاعات بازنشانی را برای تمام بخش‌های منطبق با الگوی \*(Aq.text.*\*(Aq حذف خواهد کرد. .Sp اگر نخستین نویسه \fIsectionpattern\fR علامت تعجب (!) باشد، بازنشانی‌های بخش‌های منطبق حذف نخواهند شد حتی اگر استفاده قبلی از \fB\-\-remove\-relocations\fR در همان خط فرمان موجب حذف آن‌ها می‌شد. به‌عنوان مثال: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* \-\-remove\-relocations=!.text.foo .Ve .Sp تمام بازنشانی‌های بخش‌های منطبق با الگوی \*(Aq.text.*\*(Aq را حذف می‌کند، اما بازنشانی‌های بخش \*(Aq.text.foo\*(Aq را حذف نخواهد کرد. .IP \fB\-\-strip\-section\-headers\fR 4 .IX Item "--strip-section-headers" حذف سرایندهای بخش‌ها (section headers). این گزینه مختص فایل‌های ELF است و مستلزم فعال شدن \fB\-\-strip\-all\fR و \fB\-\-merge\-notes\fR می‌باشد. .IP \fB\-s\fR 4 .IX Item "-s" .PD 0 .IP \fB\-\-strip\-all\fR 4 .IX Item "--strip-all" .PD حذف تمام نمادها. .IP \fB\-g\fR 4 .IX Item "-g" .PD 0 .IP \fB\-S\fR 4 .IX Item "-S" .IP \fB\-d\fR 4 .IX Item "-d" .IP \fB\-\-strip\-debug\fR 4 .IX Item "--strip-debug" .PD فقط حذف نمادهای اشکال‌زدایی. .IP \fB\-\-strip\-dwo\fR 4 .IX Item "--strip-dwo" حذف محتوای تمام بخش‌های DWARF .dwo و دست‌نخورده باقی گذاشتن بقیه بخش‌های اشکال‌زدایی و تمام نمادها. برای اطلاعات بیشتر، توضیحات این گزینه را در بخش \fBobjcopy\fR مشاهده کنید. .IP \fB\-\-strip\-unneeded\fR 4 .IX Item "--strip-unneeded" حذف تمام نمادهایی که برای پردازش بازنشانی مورد نیاز نیستند، علاوه بر نمادها و بخش‌های اشکال‌زدایی که توسط \fB\-\-strip\-debug\fR حذف می‌شوند. .IP "\fB\-K\fR \fIsymbolname\fR" 4 .IX Item "-K symbolname" .PD 0 .IP \fB\-\-keep\-symbol=\fR\fIsymbolname\fR 4 .IX Item "--keep-symbol=symbolname" .PD هنگام حذف نمادها، نماد \fIsymbolname\fR را حتی اگر در حالت عادی حذف می‌شد نگه می‌دارد. این گزینه می‌تواند بیش از یک بار مشخص شود. .IP \fB\-M\fR 4 .IX Item "-M" .PD 0 .IP \fB\-\-merge\-notes\fR 4 .IX Item "--merge-notes" .IP \fB\-\-no\-merge\-notes\fR 4 .IX Item "--no-merge-notes" .PD برای فایل‌های ELF، تلاش برای کاهش اندازه بخش‌های نوع SHT_NOTE از طریق حذف یادداشت‌های تکراری (یا عدم تلاش). حالت پیش‌فرض تلاش برای این کاهش است، مگر اینکه اطلاعات اشکال‌زدایی یا DWO در حال حذف باشند. .IP "\fB\-N\fR \fIsymbolname\fR" 4 .IX Item "-N symbolname" .PD 0 .IP \fB\-\-strip\-symbol=\fR\fIsymbolname\fR 4 .IX Item "--strip-symbol=symbolname" .PD حذف نماد \fIsymbolname\fR از فایل مبدأ. این گزینه می‌تواند بیش از یک بار مشخص شود و می‌تواند با سایر گزینه‌های strip به‌جز \fB\-K\fR ترکیب شود. .IP "\fB\-o\fR \fIfile\fR" 4 .IX Item "-o file" قرار دادن خروجی پیراسته در \fIfile\fR به‌جای جایگزین کردن فایل موجود. هنگامی که این آرگومان استفاده می‌شود، تنها یک آرگومان \fIobjfile\fR می‌تواند مشخص شود. .IP \fB\-p\fR 4 .IX Item "-p" .PD 0 .IP \fB\-\-preserve\-dates\fR 4 .IX Item "--preserve-dates" .PD حفظ تاریخ‌های دسترسی و ویرایش فایل. .IP \fB\-D\fR 4 .IX Item "-D" .PD 0 .IP \fB\-\-enable\-deterministic\-archives\fR 4 .IX Item "--enable-deterministic-archives" .PD عملکرد در حالت \fIمعین\fR (deterministic). هنگام کپی کردن اعضای بایگانی و نوشتن نمایه بایگانی، از صفر برای شناسه‌های کاربری (UID)، شناسه‌های گروهی (GID) و برچسب‌های زمانی استفاده می‌کند و حالت‌های دسترسی سازگار برای همه فایل‌ها اعمال می‌نماید. .Sp اگر \fIbinutils\fR با گزینه \fB\-\-enable\-deterministic\-archives\fR پیکربندی شده باشد، این حالت به‌طور پیش‌فرض فعال است. این حالت را می‌توان با گزینه \fB\-U\fR در زیر غیرفعال کرد. .IP \fB\-U\fR 4 .IX Item "-U" .PD 0 .IP \fB\-\-disable\-deterministic\-archives\fR 4 .IX Item "--disable-deterministic-archives" .PD عملکرد در حالت \fIغیرمعین\fR. این گزینه معکوس گزینه \fB\-D\fR در بالا است: هنگام کپی اعضای بایگانی و نوشتن نمایه بایگانی، از مقادیر واقعی UID ،GID، برچسب زمانی و حالت‌های دسترسی فایل استفاده می‌کند. .Sp این حالت پیش‌فرض است مگر اینکه \fIbinutils\fR با گزینه \fB\-\-enable\-deterministic\-archives\fR پیکربندی شده باشد. .IP \fB\-w\fR 4 .IX Item "-w" .PD 0 .IP \fB\-\-wildcard\fR 4 .IX Item "--wildcard" .PD مجاز ساختن عبارت‌های منظم در \fIsymbolname\fRهای استفاده‌شده در سایر گزینه‌های خط فرمان. عملگرهای علامت سوال (?)، ستاره (*)، بک‌اسلش (\e) و قلاب‌ها ([]) می‌توانند در هر کجای نام نماد استفاده شوند. اگر نخستین نویسه نام نماد علامت تعجب (!) باشد، مفهوم سوییچ برای آن نماد معکوس می‌شود. به‌عنوان مثال: .Sp .Vb 1 \& \-w \-K !foo \-K fo* .Ve .Sp باعث می‌شود strip تنها نمادهایی را که با حروف "fo" آغاز می‌شوند نگه دارد، اما نماد "foo" را حذف کند. .IP \fB\-x\fR 4 .IX Item "-x" .PD 0 .IP \fB\-\-discard\-all\fR 4 .IX Item "--discard-all" .PD حذف نمادهای غیرسراسری. .IP \fB\-X\fR 4 .IX Item "-X" .PD 0 .IP \fB\-\-discard\-locals\fR 4 .IX Item "--discard-locals" .PD حذف نمادهای محلی تولیدشده توسط کامپایلر. (این نمادها معمولاً با \fBL\fR یا \fB.\fR شروع می‌شوند.) .IP \fB\-\-keep\-section\-symbols\fR 4 .IX Item "--keep-section-symbols" هنگام پیرایش یک فایل، مثلاً با \fB\-\-strip\-debug\fR یا \fB\-\-strip\-unneeded\fR، هر نمادی که نام بخش‌ها را مشخص می‌کند و در غیر این صورت حذف می‌شد، حفظ می‌گردد. .IP \fB\-\-keep\-file\-symbols\fR 4 .IX Item "--keep-file-symbols" هنگام پیرایش یک فایل، مثلاً با \fB\-\-strip\-debug\fR یا \fB\-\-strip\-unneeded\fR، هر نمادی که نام فایل‌های مبدأ را مشخص می‌کند و در غیر این صورت حذف می‌شد، حفظ می‌گردد. .IP \fB\-\-only\-keep\-debug\fR 4 .IX Item "--only-keep-debug" پیرایش یک فایل، تخلیه محتوای هر بخشی که توسط \fB\-\-strip\-debug\fR حذف نمی‌شد و دست‌نخورده باقی گذاشتن بخش‌های اشکال‌زدایی. در فایل‌های ELF، این گزینه تمام بخش‌های note را نیز در خروجی حفظ می‌کند. .Sp توجه \- سرایندهای بخش‌های پیرایش‌شده شامل اندازه آن‌ها حفظ می‌شوند، اما محتوای بخش دور ریخته می‌شود. سرایندهای بخش حفظ می‌شوند تا ابزارهای دیگر بتوانند فایل debuginfo را با فایل اجرایی واقعی تطبیق دهند، حتی اگر آن فایل اجرایی به فضای آدرس دیگری بازنشانی شده باشد. .Sp هدف این است که این گزینه در ترکیب با \fB\-\-add\-gnu\-debuglink\fR برای ایجاد یک فایل اجرایی دو بخشی استفاده شود: یک فایل باینری پیرایش‌شده که فضای کمتری در RAM و در توزیع اشغال می‌کند، و دوم یک فایل اطلاعات اشکال‌زدایی که تنها در صورت نیاز به قابلیت‌های اشکال‌زدایی لازم است. روال پیشنهادی برای ایجاد این فایل‌ها به شرح زیر است: .RS 4 .IP 1. 4 پیوند زدن فایل اجرایی طبق روال معمول. با فرض اینکه نام آن \f(CW\*(C`foo\*(C'\fR باشد... .IP 2. 4 اجرای دستور \f(CW\*(C`objcopy \-\-only\-keep\-debug foo foo.dbg\*(C'\fR برای ایجاد فایلی حاوی اطلاعات اشکال‌زدایی. .IP 3. 4 اجرای دستور \f(CW\*(C`strip \-\-strip\-debug foo\*(C'\fR برای ایجاد یک فایل اجرایی پیرایش‌شده. .IP 4. 4 اجرای دستور \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.dbg foo\*(C'\fR برای افزودن پیوندی به اطلاعات اشکال‌زدایی در فایل اجرایی پیرایش‌شده. .RE .RS 4 .Sp توجه \- انتخاب پسوند \f(CW\*(C`.dbg\*(C'\fR برای فایل اطلاعات اشکال‌زدایی دلخواه است. همچنین گام \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fR اختیاری است. در عوض می‌توانید این کار را انجام دهید: .IP 1. 4 پیوند زدن فایل اجرایی طبق روال معمول. .IP 2. 4 کپی کردن \f(CW\*(C`foo\*(C'\fR به \f(CW\*(C`foo.full\*(C'\fR. .IP 3. 4 اجرای دستور \f(CW\*(C`strip \-\-strip\-debug foo\*(C'\fR. .IP 4. 4 اجرای دستور \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.full foo\*(C'\fR. .RE .RS 4 .Sp یعنی فایلی که توسط \fB\-\-add\-gnu\-debuglink\fR به آن اشاره می‌شود می‌تواند کل فایل اجرایی باشد و نیازی نیست حتماً فایلی ایجادشده توسط سوییچ \fB\-\-only\-keep\-debug\fR باشد. .Sp توجه \- این سوییچ تنها برای استفاده روی فایل‌های کاملاً پیوندخورده در نظر گرفته شده است. استفاده از آن روی فایل‌های شیء که اطلاعات اشکال‌زدایی آن‌ها ممکن است ناقص باشد منطقی نیست. علاوه بر این، قابلیت gnu_debuglink در حال حاضر تنها از وجود یک نام فایل حاوی اطلاعات اشکال‌زدایی پشتیبانی می‌کند، نه چندین نام فایل به‌ازای هر فایل شیء. .RE .IP "\fB\-\-plugin\fR \fIname\fR" 4 .IX Item "--plugin name" بارگذاری افزونه‌ای با نام \fIname\fR برای افزودن پشتیبانی از انواع مقصدهای اضافی. این گزینه تنها در صورتی در دسترس است که زنجیره ابزار با پشتیبانی از افزونه ساخته شده باشد. .Sp اگر \fB\-\-plugin\fR مشخص نشود اما پشتیبانی از افزونه فعال باشد، \fBstrip\fR روی فایل‌های موجود در \fI${libdir}/bfd\-plugins\fR به ترتیب الفبا پیمایش می‌کند و اولین افزونه‌ای که شیء مربوطه را پشتیبانی کند استفاده می‌شود. .Sp لطفاً توجه داشته باشید که این دایرکتوری جستجوی افزونه، همان دایرکتوری مورد استفاده توسط گزینه \fB\-plugin\fR ابزار \fBld\fR \fIنیست\fR. برای اینکه \fBstrip\fR از افزونه پیونددهنده استفاده کند، این افزونه باید در دایرکتوری \fI${libdir}/bfd\-plugins\fR کپی شود. برای کامپایل‌های مبتنی بر GCC، افزونه پیونددهنده \fIliblto_plugin.so.0.0.0\fR نام دارد. برای کامپایل‌های مبتنی بر Clang، نام آن \fILLVMgold.so\fR است. افزونه GCC همیشه با نسخه‌های قبلی سازگار است، بنابراین کپی کردن جدیدترین نسخه کافی خواهد بود. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD نمایش شماره نسخه \fBstrip\fR. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD خروجی با جزئیات: فهرست کردن تمام فایل‌های شیء ویرایش‌شده. در مورد بایگانی‌ها، \fBstrip \-v\fR تمام اعضای بایگانی را فهرست می‌کند. .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" خواندن گزینه‌های خط فرمان از \fIfile\fR. گزینه‌های خوانده‌شده به‌جای گزینه اصلی @\fIfile\fR درج می‌شوند. اگر \fIfile\fR وجود نداشته باشد یا خوانده نشود، گزینه به‌صورت لفظی در نظر گرفته شده و حذف نخواهد شد. .Sp گزینه‌ها در \fIfile\fR با فاصله‌های خالی از یکدیگر جدا می‌شوند. یک نویسه فاصله می‌تواند با قرار دادن کل گزینه در گیومه تکی یا دوتایی درون گزینه گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با پیشوند کردن یک بک‌اسلش به آن درج شود. فایل \fIfile\fR خود می‌تواند حاوی گزینه‌های @\fIfile\fR اضافی باشد؛ هر یک از این گزینه‌ها به‌صورت بازگشتی پردازش خواهند شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" مدخل‌های Info برای \fIbinutils\fR. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر \(co 1991\-2026 بنیاد نرم‌افزار آزاد (Free Software Foundation, Inc.) .PP اجازه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه 1.3 یا هر نسخه جدیدتر منتشرشده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان "GNU Free Documentation License" گنجانده شده است.