'\" t .\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "LLVM-OBJCOPY" "1" "2026-07-15" "22" "LLVM" .SH "نام (NAME)" llvm-objcopy \- ابزاری برای رونویسی و ویرایش فایل‌های شیء .SH "خلاصه دستور (SYNOPSIS)" .sp \fBllvm\-objcopy\fP [\fIoptions\fP] \fIinput\fP [\fIoutput\fP] .SH "توضیحات (DESCRIPTION)" .sp \fBllvm\-objcopy\fP ابزاری برای رونویسی و دستکاری شیءها (objects) است. در کاربرد اولیه، این ابزار یک کپی معنایی از ورودی به خروجی ایجاد می‌کند. در صورت مشخص شدن هر گزینه‌ای، ممکن است خروجی در طول فرآیند دستخوش تغییر شود، مانند حذف کردن بخش‌ها (sections). .sp اگر هیچ فایل خروجی مشخص نشود، فایل ورودی درجا (in\-place) اصلاح می‌شود. اگر مقدار \(dq\-\(dq برای فایل ورودی تعیین شود، ورودی از جریان ورودی استاندارد برنامه خوانده می‌شود. اگر مقدار \(dq\-\(dq برای فایل خروجی تعیین شود، خروجی در جریان خروجی استاندارد برنامه نوشته خواهد شد. .sp اگر ورودی یک آرشیو باشد، هرگونه عملیات درخواستی بر روی تک‌تک اعضای آرشیو به صورت جداگانه اعمال خواهد شد. .sp این ابزار همچنان در حال توسعه فعال است، اما در بیشتر سناریوها به عنوان جایگزینی مستقیم (drop\-in) برای \fBobjcopy\fP متعلق به گنو عمل می‌کند. .SH "گزینه‌های عمومی و چندسکویی (GENERIC AND CROSS-PLATFORM OPTIONS)" .sp گزینه‌های زیر یا مستقل از قالب فایل هستند و یا بر چندین قالب مختلف فایل اعمال می‌شوند. .INDENT 0.0 .TP .B \-\-add\-gnu\-debuglink افزودن بخش .gnu_debuglink برای \fB\fP به خروجی. .UNINDENT .INDENT 0.0 .TP .B \-\-add\-section افزودن بخشی به نام \fB
\fP با محتوای فایل \fB\fP به خروجی. برای شیءهای ELF، اگر نام بخش با \(dq.note\(dq آغاز شود از نوع \fISHT_NOTE\fP خواهد بود؛ در غیر این صورت از نوع \fISHT_PROGBITS\fP خواهد بود. این گزینه را می‌توان چندین بار برای افزودن چندین بخش تکرار کرد. .sp برای شیءهای MachO، مقدار \fB
\fP باید در قالب \fB,
\fP مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-binary\-architecture , \-B برای سازگاری نادیده گرفته می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-disable\-deterministic\-archives, \-U استفاده از مقادیر واقعی برای UIDها، GIDها و برچسب‌های زمانی هنگام به‌روزرسانی سرایندهای اعضای آرشیو. .UNINDENT .INDENT 0.0 .TP .B \-\-discard\-all, \-x حذف بیشتر نمادهای محلی که در بازنشانی‌ها (relocations) به آن‌ها ارجاع داده نشده است از خروجی. قالب‌های مختلف فایل ممکن است این عمل را به زیرمجموعه‌ای از نمادهای محلی محدود کنند. برای نمونه، نمادهای فایل و بخش در شیءهای ELF دور انداخته نخواهند شد. علاوه بر این، تمام بخش‌های اشکال‌زدایی (debug) نیز حذف می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-dump\-section
= تخلیه محتوای بخش \fB
\fP درون فایل \fB\fP\&. می‌تواند چندین بار برای تخلیه بخش‌های مختلف در فایل‌های مجزا مشخص شود. \fB\fP به فایل‌های ورودی و خروجی داده‌شده به \fBllvm\-objcopy\fP مرتبط نیست و بنابراین عملیات عادی رونویسی و ویرایش همچنان انجام خواهد شد. پیش از تخلیه، هیچ عملیاتی روی بخش‌ها صورت نمی‌گیرد. .sp برای شیءهای MachO، مقدار \fB
\fP باید به صورت \fB,
\fP قالب‌بندی شود. .UNINDENT .INDENT 0.0 .TP .B \-\-enable\-deterministic\-archives, \-D فعال‌سازی حالت قطعی (deterministic) هنگام رونویسی آرشیوها؛ به این معنی که برای فیلدهای UID، GID و برچسب زمانی سرایند اعضای آرشیو از مقدار 0 استفاده می‌شود. به طور پیش‌فرض فعال است. .UNINDENT .INDENT 0.0 .TP .B \-\-extract\-section
= استخراج بخش مشخص‌شده \fB
\fP درون فایل \fB\fP به عنوان یک شیء مجزا. می‌تواند چندین بار برای استخراج چندین بخش تکرار شود. \fB\fP به فایل‌های ورودی و خروجی داده‌شده به \fBllvm\-objcopy\fP مرتبط نیست و بنابراین عملیات عادی رونویسی و ویرایش همچنان انجام خواهد گرفت. پیش از تخلیه، هیچ عملیاتی روی بخش‌ها اعمال نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-globalize\-symbol علامت‌گذاری تمام نمادهای تعریف‌شده با نام \fB\fP به عنوان نماد سراسری (global) در خروجی. می‌تواند چندین بار برای علامت‌گذاری چندین نماد مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-globalize\-symbols خواندن فهرستی از نام‌ها از فایل \fB\fP و علامت‌گذاری نمادهای تعریف‌شده با آن نام‌ها به عنوان سراسری در خروجی. در فایل، هر خط نشان‌دهنده یک نماد منفرد است که فاصله‌های خالی ابتدایی و انتهایی و همچنین تمام موارد پس از \(aq#\(aq نادیده گرفته می‌شوند. می‌تواند چندین بار برای خواندن نام‌ها از فایل‌های مختلف تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-\-help, \-h چاپ خلاصه‌ای از گزینه‌های خط فرمان. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-global\-symbol , \-G محلی (local) کردن تمام نمادها در خروجی، به جز نمادهایی با نام \fB\fP\&. می‌تواند چندین بار برای استثنا کردن چندین نماد تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-global\-symbols محلی کردن تمام نمادها در خروجی، به جز نمادهایی که نامشان در فایل \fB\fP آمده است. در فایل، هر خط نشان‌دهنده یک نماد است که فاصله‌های خالی ابتدا و انتها و همچنین هر چیزی پس از \(aq#\(aq نادیده گرفته می‌شود. می‌تواند چندین بار برای خواندن نام‌ها از فایل‌های متعدد مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-localize\-symbol , \-L علامت‌گذاری هر نماد تعریف‌شده غیرمشترک (non\-common) با نام \fB\fP به عنوان یک نماد محلی در خروجی. می‌تواند چندین بار برای محلی کردن چندین نماد تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-\-localize\-symbols خواندن فهرستی از نام‌ها از فایل \fB\fP و محلی علامت‌گذاری کردن نمادهای تعریف‌شده غیرمشترک با آن نام‌ها در خروجی. در فایل، هر خط بیانگر یک نماد است که فاصله‌های خالی ابتدا و انتهای آن و همچنین موارد بعد از \(aq#\(aq نادیده گرفته می‌شوند. می‌تواند چندین بار برای خواندن نام‌ها از چندین فایل مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-only\-keep\-debug تولید یک فایل اشکال‌زدایی در خروجی که فقط محتوای بخش‌های مفید برای اهداف اشکال‌زدایی را حفظ می‌کند. .sp برای شیءهای ELF، این گزینه محتوای بخش‌های \fISHF_ALLOC\fP را که از نوع \fISHT_NOTE\fP نیستند با تبدیل آن‌ها به \fISHT_NOBITS\fP حذف کرده و تا حد امکان سرایندهای برنامه را جمع‌وجور می‌کند. .UNINDENT .INDENT 0.0.TP .B \-\-only\-section
, \-j حذف تمام بخش‌ها از خروجی، به‌جز بخش‌هایی با نام \fB
\fP\&. برای نگه‌داشتن چندین بخش، می‌توان این گزینه را چند بار مشخص کرد. .sp برای اشیاء MachO، عبارت \fB
\fP باید به صورت \fB,
\fP قالب‌بندی شود\&. .UNINDENT .INDENT 0.0 .TP .B \-\-redefine\-sym = تغییر نام نمادهای موسوم به \fB\fP به \fB\fP در خروجی. برای تغییر نام چندین نماد، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-redefine\-syms تغییر نام نمادها در خروجی طبق توضیحات داده شده در فایل \fB\fP\&. در این فایل، هر خط نشان‌دهندهٔ یک نماد برای تغییر نام است، که در آن نام قدیمی و نام جدید با فاصله (whitespace) از یکدیگر جدا شده‌اند. فاصله‌های ابتدایی و انتهایی و همچنین هر متنی پس از \(aq#\(aq نادیده گرفته می‌شوند. برای خواندن نام‌ها از چندین فایل، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-regex در صورت تعیین، نام‌های نماد و بخش که توسط سوئیچ‌های دیگر مشخص می‌شوند به عنوان الگوهای عبارت منظم گسترش‌یافتهٔ POSIX در نظر گرفته می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-remove\-symbol\-prefix حذف \fB\fP از ابتدای نام تمام نمادها. برای نمادهایی که با \fB\fP شروع نمی‌شوند، هیچ عملیاتی انجام نمی‌شود (No\-op)\&. .UNINDENT .INDENT 0.0 .TP .B \-\-remove\-section
, \-R حذف بخش مشخص‌شده از خروجی. برای حذف هم‌زمان چندین بخش، می‌توان این گزینه را چند بار مشخص کرد. .sp برای اشیاء MachO، عبارت \fB
\fP باید به صورت \fB,
\fP قالب‌بندی شود\&. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-section\-alignment
= تنظیم هم‌ترازی بخش \fB
\fP روی مقدار \fB\fP\&. برای به‌روزرسانی چندین بخش، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-section\-flags
=[,,...] تنظیم ویژگی‌های بخش در خروجی برای بخش \fB
\fP بر اساس مقادیر مشخص‌شدهٔ \fB\fP\&. برای به‌روزرسانی چندین بخش، می‌توان این گزینه را چند بار مشخص کرد. .sp نام‌های پرچم پشتیبانی‌شده عبارتند از \fIalloc\fP، \fIload\fP، \fInoload\fP، \fIreadonly\fP، \fIexclude\fP، \fIdebug\fP، \fIcode\fP، \fIdata\fP، \fIrom\fP، \fIshare\fP، \fIcontents\fP، \fImerge\fP، \fIstrings\fP و \fIlarge\fP\&. همهٔ پرچم‌ها برای تمامی قالب‌های فایل شیء یا معماری‌های مقصد معنادار نیستند. .sp برای اشیاء ELF، پرچم‌ها اثرات زیر را دارند: .INDENT 7.0 .IP \(bu 2 \fIalloc\fP = افزودن پرچم \fISHF_ALLOC\fP\&. .IP \(bu 2 \fIload\fP = اگر بخش دارای نوع \fISHT_NOBITS\fP باشد، آن را به عنوان یک بخش \fISHT_PROGBITS\fP علامت‌گذاری می‌کند. .IP \(bu 2 \fIreadonly\fP = اگر این پرچم مشخص نشود، پرچم \fISHF_WRITE\fP افزوده می‌شود. .IP \(bu 2 \fIexclude\fP = افزودن پرچم \fISHF_EXCLUDE\fP\&. .IP \(bu 2 \fIcode\fP = افزودن پرچم \fISHF_EXECINSTR\fP\&. .IP \(bu 2 \fImerge\fP = افزودن پرچم \fISHF_MERGE\fP\&. .IP \(bu 2 \fIstrings\fP = افزودن پرچم \fISHF_STRINGS\fP\&. .IP \(bu 2 \fIcontents\fP = اگر بخش دارای نوع \fISHT_NOBITS\fP باشد، آن را به عنوان یک بخش \fISHT_PROGBITS\fP علامت‌گذاری می‌کند. .IP \(bu 2 \fIlarge\fP = افزودن پرچم \fISHF_X86_64_LARGE\fP در معماری x86_64؛ در صورتی که معماری مقصد x86_64 نباشد، رد می‌شود. .UNINDENT .sp برای اشیاء COFF، پرچم‌ها اثرات زیر را دارند: .INDENT 7.0 .IP \(bu 2 \fIalloc\fP = افزودن پرچم‌های \fIIMAGE_SCN_CNT_UNINITIALIZED_DATA\fP و \fIIMAGE_SCN_MEM_READ\fP، مگر اینکه پرچم \fIload\fP مشخص شده باشد. .IP \(bu 2 \fInoload\fP = افزودن پرچم‌های \fIIMAGE_SCN_LNK_REMOVE\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .IP \(bu 2 \fIreadonly\fP = اگر این پرچم مشخص نشود، پرچم \fIIMAGE_SCN_MEM_WRITE\fP افزوده می‌شود. .IP \(bu 2 \fIexclude\fP = افزودن پرچم‌های \fIIMAGE_SCN_LNK_REMOVE\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .IP \(bu 2 \fIdebug\fP = افزودن پرچم‌های \fIIMAGE_SCN_CNT_INITIALIZED_DATA\fP، \fIIMAGE_SCN_MEM_DISCARDABLE\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .IP \(bu 2 \fIcode\fP = افزودن پرچم‌های \fIIMAGE_SCN_CNT_CODE\fP، \fIIMAGE_SCN_MEM_EXECUTE\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .IP \(bu 2 \fIdata\fP = افزودن پرچم‌های \fIIMAGE_SCN_CNT_INITIALIZED_DATA\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .IP \(bu 2 \fIshare\fP = افزودن پرچم‌های \fIIMAGE_SCN_MEM_SHARED\fP و \fIIMAGE_SCN_MEM_READ\fP\&. .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-skip\-symbol عدم تغییر پارامترهای نماد \fB\fP هنگام اجرای سایر گزینه‌هایی که می‌توانند نام، پیونددهی یا قابلیت مشاهدهٔ نماد را تغییر دهند. .UNINDENT .INDENT 0.0 .TP .B \-\-skip\-symbols عدم تغییر پارامترهای نمادهای نام‌برده در فایل \fB\fP هنگام اجرای سایر گزینه‌هایی که می‌توانند نام، پیونددهی یا قابلیت مشاهدهٔ نماد را تغییر دهند. در این فایل، هر خط نشان‌دهندهٔ یک نماد است و فاصله‌های ابتدایی و انتهایی و همچنین هر متنی پس از \(aq#\(aq نادیده گرفته می‌شوند. برای خواندن نام‌ها از چندین فایل، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-all\-gnu حذف تمام نمادها، بخش‌های اشکال‌زدایی و بازآرایی‌ها از خروجی. این گزینه معادل سوئیچ \fB\-\-strip\-all\fP در ابزار GNU \fBobjcopy\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-all, \-S برای اشیاء ELF، حذف تمام نمادها و بخش‌های غیرقابل‌تخصیص (non\-alloc) خارج از سگمنت‌ها از خروجی، به‌جز بخش‌های .gnu.warning، .ARM.attribute و جدول نام بخش‌ها. .sp برای اشیاء COFF و Mach\-O، حذف تمام نمادها، بخش‌های اشکال‌زدایی و بازآرایی‌ها از خروجی. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-debug, \-g حذف تمام بخش‌های اشکال‌زدایی از خروجی. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-symbol , \-N حذف تمام نمادهای موسوم به \fB\fP از خروجی. برای حذف چندین نماد، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-symbols حذف تمام نمادهایی که نام آن‌ها در فایل \fB\fP آمده است، از خروجی. در این فایل، هر خط نشان‌دهندهٔ نام یک نماد است و فاصله‌های ابتدایی و انتهایی و همچنین هر متنی پس از \(aq#\(aq نادیده گرفته می‌شوند. برای خواندن نام‌ها از چندین فایل، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-unneeded\-symbol حذف تمام نمادهای موسوم به \fB\fP از خروجی در صورتی که محلی یا تعریف‌نشده باشند و توسط هیچ بازآرایی نیاز نباشند. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-unneeded\-symbols حذف تمام نمادهایی که نام آن‌ها در فایل \fB\fP آمده است از خروجی، در صورتی که محلی یا تعریف‌نشده باشند و توسط هیچ بازآرایی نیاز نباشند. در این فایل، هر خط نشان‌دهندهٔ نام یک نماد است و فاصله‌های ابتدایی و انتهایی و همچنین هر متنی پس از \(aq#\(aq نادیده گرفته می‌شوند. برای خواندن نام‌ها از چندین فایل، می‌توان این گزینه را چند بار مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-unneeded حذف تمام نمادهای محلی یا تعریف‌نشده که توسط بازآرایی‌ها نیاز نیستند از خروجی. همچنین تمام بخش‌های اشکال‌زدایی را حذف می‌کند. .UNINDENT .INDENT 0.0.TP .B \-\-update\-section = محتوای بخش \fB\fP را با محتوای فایل \fB\fP جایگزین می‌کند. اگر بخش \fB\fP بخشی از یک قطعه (segment) باشد، محتوای جدید نمی‌تواند بزرگ‌تر از بخش موجود باشد. .UNINDENT .INDENT 0.0 .TP .B \-\-version, \-V نسخهٔ فایل اجرایی \fBllvm\-objcopy\fP را نمایش می‌دهد. .UNINDENT .INDENT 0.0 .TP .B \-\-wildcard, \-w نحو نویسه‌های عام (wildcard) را برای پرچم‌های مربوط به نمادها فعال می‌کند. به‌طور پیش‌فرض برای پرچم‌های مربوط به بخش‌ها فعال است. با \-\-regex ناسازگار است. .sp نحو نویسه‌های عام نمادهای ویژهٔ زیر را مجاز می‌داند: .TS box center; l|l|l. T{ نویسه T} T{ معنی T} T{ معادل T} _ T{ \fB*\fP T} T{ هر تعداد نویسه T} T{ \fB\&.*\fP T} _ T{ \fB?\fP T} T{ هر تک‌نویسه T} T{ \fB\&.\fP T} _ T{ \fB\e\fP T} T{ گریز دادن نویسهٔ بعدی T} T{ \fB\e\fP T} _ T{ \fB[a\-z]\fP T} T{ کلاس نویسه T} T{ \fB[a\-z]\fP T} _ T{ \fB[!a\-z]\fP, \fB[^a\-z]\fP T} T{ کلاس نویسهٔ نفی‌شده T} T{ \fB[^a\-z]\fP T} .TE .sp علاوه بر این، آغاز شدن یک نویسهٔ عام با \(aq!\(aq از تطابق جلوگیری می‌کند، حتی اگر پرچم دیگری تطبیق داشته باشد. برای مثال \fB\-w \-N \(aq*\(aq \-N \(aq!x\(aq\fP همهٔ نمادها را به جز \fBx\fP پاکسازی (strip) خواهد کرد. .sp ترتیب نویسه‌های عام اهمیتی ندارد. برای نمونه، \fB\-w \-N \(aq*\(aq \-N \(aq!x\(aq\fP معادل \fB\-w \-N \(aq!x\(aq \-N \(aq*\(aq\fP است. .UNINDENT .INDENT 0.0 .TP .B @ گزینه‌ها و دستورهای خط فرمان را از فایل پاسخ \fI\fP می‌خواند. .UNINDENT.SH "گزینه‌های ویژه ELF (ELF-SPECIFIC OPTIONS)" .sp گزینه‌های زیر تنها برای اشیای ELF پیاده‌سازی شده‌اند. در صورت استفاده با سایر اشیا، \fBllvm\-objcopy\fP یا خطایی صادر می‌کند یا بدون اخطار از آن‌ها چشم‌پوشی می‌نماید. .INDENT 0.0 .TP .B \-\-add\-symbol =[
:][,] یک نماد جدید به نام \fB\fP با مقدار \fB\fP در بخشی به نام \fB
\fP به جدول نمادهای خروجی اضافه می‌کند\&. اگر \fB
\fP مشخص نشده باشد، نماد به عنوان یک نماد مطلق (absolute) افزوده می‌شود. \fB\fP بر ویژگی‌های نماد اثر می‌گذارند. مقادیر پذیرفته‌شده عبارتند از: .INDENT 7.0 .IP \(bu 2 \fIglobal\fP = نماد دارای پیوند سراسری خواهد بود. .IP \(bu 2 \fIlocal\fP = نماد دارای پیوند محلی خواهد بود. .IP \(bu 2 \fIweak\fP = نماد دارای پیوند ضعیف خواهد بود. .IP \(bu 2 \fIdefault\fP = نماد دارای پدیداری پیش‌فرض خواهد بود. .IP \(bu 2 \fIhidden\fP = نماد دارای پدیداری مخفی خواهد بود. .IP \(bu 2 \fIprotected\fP = نماد دارای پدیداری محافظت‌شده خواهد بود. .IP \(bu 2 \fIfile\fP = نماد از نوع \fISTT_FILE\fP خواهد بود. .IP \(bu 2 \fIsection\fP = نماد از نوع \fISTT_SECTION\fP خواهد بود. .IP \(bu 2 \fIobject\fP = نماد از نوع \fISTT_OBJECT\fP خواهد بود. .IP \(bu 2 \fIfunction\fP = نماد از نوع \fISTT_FUNC\fP خواهد بود. .IP \(bu 2 \fIindirect\-function\fP = نماد از نوع \fISTT_GNU_IFUNC\fP خواهد بود. .UNINDENT .sp علاوه بر این، پرچم‌های روبرو پذیرفته می‌شوند اما نادیده گرفته خواهند شد: \fIdebug\fP، \fIconstructor\fP، \fIwarning\fP، \fIindirect\fP، \fIsynthetic\fP، \fIunique\-object\fP، \fIbefore\fP\&. .sp می‌توان چندین بار برای افزودن نمادهای متعدد مشخص کرد. .UNINDENT .INDENT 0.0 .TP .B \-\-allow\-broken\-links به \fBllvm\-objcopy\fP اجازه می‌دهد بخش‌ها را حذف کند حتی اگر به ارجاعات نامعتبر به بخش‌ها منجر شود. هر فیلد نامعتبر sh_link روی صفر تنظیم خواهد شد. .UNINDENT .INDENT 0.0 .TP .B \-\-change\-section\-lma \e*{+\-} مقدار LMA سگمنت‌های با اندازه غیرصفر را به میزان \fB\fP جابه‌جا می‌کند\&. .UNINDENT .INDENT 0.0 .TP .B \-\-change\-section\-address
{=+\-}, \-\-adjust\-section\-vma نشانی بخش‌هایی را که با الگوی \fB
\fP مطابقت دارند به مقدار مشخص‌شده تغییر می‌دهد، یا \fB+\fP/\fB\-\fP را بر مقدار کنونی اعمال می‌کند. می‌توان چندین بار برای مشخص کردن چندین الگو از آن استفاده کرد. هر بخش تنها توسط یک آرگومان \fB\-\-change\-section\-address\fP تغییر می‌یابد. اگر نام یک بخش با چند الگو مطابقت داشته باشد، راست‌ترین (آخرین) تغییر اعمال می‌شود. فایل شیء باید از نوع ET_REL باشد. .UNINDENT .INDENT 0.0 .TP .B \-\-change\-start , \-\-adjust\-start مقدار \fB\fP را به نشانی شروع برنامه اضافه می‌کند. می‌توان چندین بار از آن استفاده کرد، که در این حالت مقادیر به صورت تجمعی اعمال می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-compress\-debug\-sections [] بخش‌های اشکال‌زدایی DWARF را در خروجی، با استفاده از قالب مشخص‌شده فشرده می‌کند. قالب‌های پشتیبانی‌شده \fBzlib\fP و \fBzstd\fP هستند\&. اگر \fB\fP ذکر نشود، از \fBzlib\fP استفاده می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-compress\-sections
= بخش‌های منطبق بر \fB
\fP را با قالب مشخص‌شده فشرده یا از حالت فشرده خارج می‌کند. قالب‌های پشتیبانی‌شده \fBzlib\fP و \fBzstd\fP هستند. برای خارج کردن از حالت فشرده مقدار \fBnone\fP را مشخص کنید. اگر بخشی با چندین گزینه مطابقت داشته باشد، آخرین گزینه پیروز است. نویسه عام \fB
\fP که با \(aq!\(aq آغاز شود مجاز نیست. بخش‌های درون یک سگمنت قابل فشرده‌سازی یا خروج از حالت فشرده نیستند. .UNINDENT .INDENT 0.0 .TP .B \-\-decompress\-debug\-sections تمام بخش‌های اشکال‌زدایی فشرده‌شده DWARF را در خروجی از حالت فشرده خارج می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-discard\-locals, \-X نمادهای محلی را که با \(dq.L\(dq آغاز می‌شوند و بازنشانی‌ها (relocations) به آن‌ها ارجاع نداده‌اند، از خروجی حذف می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-extract\-dwo تمام بخش‌هایی را که بخش‌های .dwo از نوع DWARF نیستند، از خروجی حذف می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-extract\-main\-partition پارتیشن اصلی را از خروجی استخراج می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-extract\-partition پارتیشن نام‌برده‌شده را از خروجی استخراج می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-gap\-fill برای خروجی‌های باینری، فاصله‌های خالی میان بخش‌ها را به جای صفر با \fB\fP پر می‌کند. این مقدار باید یک عدد صحیح ۸ بیتی بدون علامت باشد. .UNINDENT .INDENT 0.0 .TP .B \-\-input\-target , \-I ورودی را با قالب مشخص‌شده می‌خواند. برای فهرستی از مقادیر معتبر \fB\fP به بخش قالب‌های پشتیبانی‌شده (SUPPORTED FORMATS) مراجعه کنید. در صورت مشخص نشدن، \fBllvm\-objcopy\fP تلاش خواهد کرد قالب را به صورت خودکار تشخیص دهد. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-file\-symbols نمادهای از نوع \fISTT_FILE\fP را حفظ می‌کند، حتی اگر در غیر این صورت حذف می‌شدند. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-section
هنگام حذف بخش‌ها از خروجی، بخش‌های نام‌برده‌شده با \fB
\fP را حذف نمی‌کند\&. می‌تواند چندین بار برای نگه داشتن چندین بخش مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-symbol , \-K هنگام حذف نمادها از خروجی، نمادهای نام‌برده‌شده با \fB\fP را حذف نمی‌کند\&. می‌تواند چندین بار برای نگه داشتن چندین نماد مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-keep\-symbols هنگام حذف نمادها از خروجی، نمادهای نام‌برده‌شده در فایل \fB\fP را حذف نمی‌کند\&. در این فایل، هر خط بیانگر یک نماد منفرد است که فاصله‌های ابتدایی و انتهایی آن و همچنین هر آنچه پس از \(aq#\(aq بیاید نادیده گرفته می‌شود. می‌تواند چندین بار برای خواندن نام‌ها از فایل‌های متعدد مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-localize\-hidden تمام نمادهای با پدیداری مخفی (hidden) یا داخلی (internal) را در خروجی به صورت محلی (local) علامت‌گذاری می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-new\-symbol\-visibility پدیداری نمادهایی را که به هنگام استفاده از ورودی باینری یا \fB\-\-add\-symbol\fP به طور خودکار ایجاد می‌شوند، تعیین می‌کند\&. گزینه‌های معتبر عبارتند از: .INDENT 7.0 .IP \(bu 2 \fIdefault\fP .IP \(bu 2 \fIhidden\fP .IP \(bu 2 \fIinternal\fP .IP \(bu 2 \fIprotected\fP .UNINDENT .sp حالت پیش‌فرض \fIdefault\fP است\&. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-verify\-note\-sections هنگام اضافه کردن بخش‌های یادداشت (note sections)، معتبر بودن قالب بخش بررسی نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-output\-target , \-O خروجی را در قالب مشخص‌شده می‌نویسد. برای فهرستی از مقادیر معتبر \fB\fP به بخش قالب‌های پشتیبانی‌شده (SUPPORTED FORMATS) مراجعه کنید. در صورت مشخص نشدن، قالب خروجی همان مقدار تعیین‌شده برای \fB\-\-input\-target\fP در نظر گرفته می‌شود یا اگر آن گزینه نیز مشخص نشده باشد، برابر با قالب فایل ورودی خواهد بود. .UNINDENT .INDENT 0.0.TP .B \-\-pad\-to
برای خروجی‌های دودویی (binary)، خروجی را با استفاده از مقدار صفر یا مقدار مشخص‌شده توسط \fB\-\-gap\-fill\fP تا نشانی بارگذاری \fB
\fP پر (pad) می‌کند\&. .UNINDENT .INDENT 0.0 .TP .B \-\-prefix\-alloc\-sections مقدار \fB\fP را به ابتدای نام تمام بخش‌های تخصیص‌پذیر در خروجی اضافه می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-prefix\-symbols مقدار \fB\fP را به ابتدای نام تمام نمادها در خروجی اضافه می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-preserve\-dates, \-p مُهرهای زمانی دسترسی و تغییر را در خروجی حفظ می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-remove\-note [/] یادداشت‌های (notes) با نوع عدد صحیح \fB\fP و نام \fB\fP را از بخش‌های SHT_NOTE که در یک قطعه (segment) قرار ندارند، حذف می‌کند. می‌تواند چندین بار مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-rename\-section =[,,...] بخش‌های با نام \fB\fP را در خروجی به \fB\fP تغییر نام می‌دهد، و هرگونه مقادیر مشخص‌شده برای \fB\fP را اعمال می‌کند. برای فهرستی از پرچم‌های پشتیبانی‌شده، \fB\-\-set\-section\-flags\fP را ببینید. می‌تواند چندین بار برای تغییر نام چندین بخش مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-section\-type
= نوع بخش \fB
\fP را روی مقدار عدد صحیح \fB\fP تنظیم می‌کند\&. می‌تواند چندین بار برای به‌روزرسانی چندین بخش مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-start نشانی آغازین خروجی را روی \fB\fP تنظیم می‌کند\&. بر هر گزینه قبلی \fB\-\-change\-start\fP یا \fB\-\-adjust\-start\fP اولویت دارد. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-symbol\-visibility = دید (visibility) یک نماد را به مقدار مشخص‌شده تغییر می‌دهد. .UNINDENT .INDENT 0.0 .TP .B \-\-set\-symbols\-visibility = فهرستی از نمادها را از خوانده و دید (visibility) آن‌ها را به مقدار مشخص‌شده تغییر می‌دهد. مقادیر دید: default، internal، hidden، protected. .UNINDENT .INDENT 0.0 .TP .B \-\-split\-dwo معادل اجرای \fBllvm\-objcopy\fP با \fB\-\-extract\-dwo\fP و \fB\fP به عنوان فایل خروجی بدون هیچ گزینه دیگری، و سپس اجرای آن با \fB\-\-strip\-dwo\fP روی فایل ورودی است. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-dwo تمام بخش‌های DWARF .dwo را از خروجی حذف می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-non\-alloc تمام بخش‌های غیرقابل‌تخصیص را که درون قطعه‌ها (segments) قرار ندارند، از خروجی حذف می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-strip\-sections تمام سرایندهای بخش و تمام داده‌های بخش‌هایی را که درون قطعه‌ها (segments) نیستند، از خروجی حذف می‌کند. توجه داشته باشید که بسیاری از ابزارها قادر به استفاده از یک شیء (object) بدون سرایندهای بخش نخواهند بود. .UNINDENT .INDENT 0.0 .TP .B \-\-target , \-F معادل گزینه‌های \fB\-\-input\-target\fP و \fB\-\-output\-target\fP برای قالب مشخص‌شده است. برای فهرستی از مقادیر معتبر \fB\fP، به SUPPORTED FORMATS مراجعه کنید. .UNINDENT .INDENT 0.0 .TP .B \-\-verify\-note\-sections هنگام افزودن بخش‌های یادداشت، معتبر بودن قالب بخش را بررسی می‌کند. به‌طور پیش‌فرض فعال است. .UNINDENT .INDENT 0.0 .TP .B \-\-weaken\-symbol , \-W نمادهای سراسری با نام \fB\fP را در خروجی به عنوان نماد ضعیف (weak) علامت‌گذاری می‌کند. می‌تواند چندین بار برای ضعیف علامت‌گذاری کردن چند نماد مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-weaken\-symbols فهرستی از نام‌ها را از فایل \fB\fP خوانده و نمادهای سراسری با آن نام‌ها را در خروجی به عنوان ضعیف علامت‌گذاری می‌کند. در فایل، هر خط نشان‌دهنده یک نماد منفرد است که فاصله‌های خالی ابتدا و انتهای آن و همچنین هر آنچه پس از یک \(aq#\(aq بیاید نادیده گرفته می‌شود. می‌تواند چندین بار برای خواندن نام‌ها از چندین فایل مشخص شود. .UNINDENT .INDENT 0.0 .TP .B \-\-weaken تمام نمادهای سراسری تعریف‌شده را در خروجی به عنوان ضعیف (weak) علامت‌گذاری می‌کند. .UNINDENT.SH "گزینه‌های ویژهٔ MACH-O (MACH-O-SPECIFIC OPTIONS)" .INDENT 0.0 .TP .B \-\-keep\-undefined نمادهای تعریف‌نشده را حفظ می‌کند، حتی اگر در غیر این صورت حذف (strip) می‌شدند. .UNINDENT .SH "گزینه‌های ویژهٔ COFF (COFF-SPECIFIC OPTIONS)" .INDENT 0.0 .TP .B \-\-subsystem [:] زیرسیستم PE و در صورت تمایل نسخهٔ زیرسیستم را تعیین می‌کند. .UNINDENT .SH "قالب‌های پشتیبانی‌شده (SUPPORTED FORMATS)" .sp مقادیر زیر در حال حاضر توسط \fBllvm\-objcopy\fP برای گزینه‌های \fB\-\-input\-target\fP، \fB\-\-output\-target\fP و \fB\-\-target\fP پشتیبانی می‌شوند. برای سازگاری با GNU \fBobjcopy\fP، تمامی این مقادیر از نوع bfdname هستند. .INDENT 0.0 .IP \(bu 2 \fIbinary\fP .IP \(bu 2 \fIihex\fP .IP \(bu 2 \fIelf32\-i386\fP .IP \(bu 2 \fIelf32\-x86\-64\fP .IP \(bu 2 \fIelf64\-x86\-64\fP .IP \(bu 2 \fIelf32\-iamcu\fP .IP \(bu 2 \fIelf32\-littlearm\fP .IP \(bu 2 \fIelf64\-aarch64\fP .IP \(bu 2 \fIelf64\-littleaarch64\fP .IP \(bu 2 \fIelf32\-littleriscv\fP .IP \(bu 2 \fIelf64\-littleriscv\fP .IP \(bu 2 \fIelf32\-powerpc\fP .IP \(bu 2 \fIelf32\-powerpcle\fP .IP \(bu 2 \fIelf64\-powerpc\fP .IP \(bu 2 \fIelf64\-powerpcle\fP .IP \(bu 2 \fIelf32\-bigmips\fP .IP \(bu 2 \fIelf32\-ntradbigmips\fP .IP \(bu 2 \fIelf32\-ntradlittlemips\fP .IP \(bu 2 \fIelf32\-tradbigmips\fP .IP \(bu 2 \fIelf32\-tradlittlemips\fP .IP \(bu 2 \fIelf64\-tradbigmips\fP .IP \(bu 2 \fIelf64\-tradlittlemips\fP .IP \(bu 2 \fIelf32\-sparc\fP .IP \(bu 2 \fIelf32\-sparcel\fP .IP \(bu 2 \fIelf32\-hexagon\fP .IP \(bu 2 \fIelf32\-loongarch\fP .IP \(bu 2 \fIelf64\-loongarch\fP .IP \(bu 2 \fIelf64\-s390\fP .UNINDENT .sp قالب‌های زیر توسط \fBllvm\-objcopy\fP تنها برای گزینهٔ \fB\-\-output\-target\fP پشتیبانی می‌شوند: .INDENT 0.0 .IP \(bu 2 \fIsrec\fP .UNINDENT .sp علاوه بر این، تمام هدف‌ها به‌جز \fIbinary\fP، \fIihex\fP و \fIsrec\fP می‌توانند پسوند \fI\-freebsd\fP داشته باشند..SH "ورودی و خروجی باینری (BINARY INPUT AND OUTPUT)" .sp اگر \fIbinary\fP به عنوان مقدار برای \fB\-\-input\-target\fP استفاده شود، فایل ورودی به عنوان یک بخش داده درون یک شیء جابجایی‌پذیر ELF جاسازی خواهد شد، به‌همراه نمادهای \fB_binary__start\fP، \fB_binary__end\fP و \fB_binary__size\fP که نشان‌دهنده آغاز، پایان و اندازه داده هستند؛ جایی که \fB\fP مسیر فایل ورودیِ مشخص‌شده در خط فرمان است که نویسه‌های غیرالفبایی‌عددی در آن به \fB_\fP تبدیل شده‌اند\&. .sp اگر \fIbinary\fP به عنوان مقدار برای \fB\-\-output\-target\fP استفاده شود، فایل خروجی یک فایل باینری خام خواهد بود که حاوی تصویر حافظه‌ای فایل ورودی است. نمادها و اطلاعات جابجایی دور ریخته خواهند شد. تصویر از آدرس نخستین بخش قابل‌بارگذاری در خروجی آغاز خواهد شد. .SH "وضعیت خروج (EXIT STATUS)" .sp در صورت بروز خطا، \fBllvm\-objcopy\fP با یک کد وضعیت غیرصفر خارج می‌شود. در غیر این صورت، با کد 0 خارج می‌شود. .SH "گزارش باگ‌ها (BUGS)" .sp برای گزارش باگ‌ها، لطفاً از <\%> دیدن کنید. .sp یک مشکل شناخته‌شده در رابطه با \fB\-\-input\-target\fP و \fB\-\-target\fP وجود دارد که باعث می‌شود تنها قالب‌های \fBbinary\fP و \fBihex\fP تأثیرگذار باشند. مقادیر دیگر نادیده گرفته خواهند شد و \fBllvm\-objcopy\fP تلاش خواهد کرد تا قالب ورودی را حدس بزند. .SH "همچنین ببینید (SEE ALSO)" .sp \fBllvm\-strip(1) \%\fP .SH "نویسندگان (AUTHORS)" توسط تیم LLVM نگهداری می‌شود (https://llvm.org). .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2003-2026, LLVM Project .\" End of generated man page.