.\" -*- 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-26 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)" loongarch64-linux-gnu-strip \- حذف نمادها و متادیتاهای غیرضروری از فایل‌های شیء LoongArch64 .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \fBloongarch64\-linux\-gnu\-strip\fR [\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قطعیت‌پذیر (deterministic)\fR. هنگام کپی اعضای بایگانی و نوشتن نمایه بایگانی، از مقدار صفر برای 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 فعالیت در حالت \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 نکته\-\-\-این سوییچ تنها برای استفاده روی فایل‌های کاملاً پیوندخورده (fully linked) در نظر گرفته شده است. استفاده از آن روی فایل‌های شیء که در آن‌ها اطلاعات اشکال‌زدایی ممکن است ناقص باشد منطقی نیست. افزون بر این، ویژگی 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 ۱۹۹۱\-۲۰۲۶ بنیاد نرم‌افزار آزاد (Free Software Foundation, Inc.) .PP مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشر شده توسط بنیاد نرم‌افزار آزاد داده می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد، و بدون متون پشت جلد. یک نسخه از این مجوز در بخش با عنوان "GNU Free Documentation License" گنجانده شده است.