.\" 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-OBJDUMP" "1" "2026-07-15" "22" "LLVM" .SH "نام (NAME)" llvm-objdump \- ابزار بررسی و تخلیه محتوای فایل‌های شیء در LLVM .SH "خلاصه دستور (SYNOPSIS)" .sp \fBllvm\-objdump\fP [\fIcommands\fP] [\fIoptions\fP] [\fIfilenames...\fP] .SH "توضیحات (DESCRIPTION)" .sp ابزار \fBllvm\-objdump\fP محتوای فایل‌های شیء و ایمیج‌های نهایی پیوند‌یافتهٔ مشخص‌شده در خط فرمان را چاپ می‌کند. اگر نام فایلی مشخص نشود، \fBllvm\-objdump\fP تلاش خواهد کرد از \fIa.out\fP بخواند. اگر از \fI\-\fP به عنوان نام فایل استفاده شود، \fBllvm\-objdump\fP فایلی را روی جریان ورودی استاندارد خود پردازش خواهد کرد. .SH "دستورها (COMMANDS)" .sp حداقل یکی از دستورهای زیر الزامی است، و برخی از دستورها را می‌توان با دستورهای دیگر ترکیب کرد: .INDENT 0.0 .TP .B \-a, \-\-archive\-headers نمایش اطلاعات موجود در سرآیندهای آرشیو. .UNINDENT .INDENT 0.0 .TP .B \-d, \-\-disassemble دیزاسمبل کردن تمام بخش‌های اجراییِ موجود در فایل‌های ورودی. در برخی از معماری‌ها (AArch64،‏ PowerPC،‏ x86)، همه دستورالعمل‌های شناخته‌شده به‌طور پیش‌فرض دیزاسمبل می‌شوند. در سایر معماری‌ها، برای فعال‌سازی برخی از مجموعه‌های دستورالعمل به \fB\-\-mcpu\fP یا \fB\-\-mattr\fP نیاز است. دستورالعمل‌های غیرفعال به‌صورت \fB\fP نمایش داده می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-D, \-\-disassemble\-all دیزاسمبل کردن تمام بخش‌های یافت‌شده در فایل‌های ورودی. .UNINDENT .INDENT 0.0 .TP .B \-\-disassemble\-symbols= تنها نمادهای مشخص‌شده را دیزاسمبل می‌کند. در صورت مشخص شدن \fB\-\-demangle\fP، نام‌های نمادِ ساده‌سازی‌شده (demangled) را می‌پذیرد؛ در غیر این صورت نام‌های نمادِ اصلی (mangled) را دریافت می‌کند. به‌طور ضمنی شامل \fB\-\-disassemble\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-dwarf= تخلیه بخش‌های اشکال‌زدایی DWARF مشخص‌شده. مقادیر پشتیبانی‌شده عبارتند از: .sp \fIframes\fP \- .debug_frame .UNINDENT .INDENT 0.0 .TP .B \-f, \-\-file\-headers نمایش محتوای سرآیند کلی فایل. .UNINDENT .INDENT 0.0 .TP .B \-\-fault\-map\-section نمایش محتوای بخش fault map. .UNINDENT .INDENT 0.0 .TP .B \-h, \-\-headers, \-\-section\-headers نمایش خلاصه‌ای از سرآیندهای مربوط به هر بخش. .UNINDENT .INDENT 0.0 .TP .B \-\-help نمایش اطلاعات نحوه استفاده و خروج. با دستورهای دیگر ترکیب نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-p, \-\-private\-headers نمایش سرآیندهای اختصاصی قالب فایل. .UNINDENT .INDENT 0.0 .TP .B \-r, \-\-reloc نمایش مدخل‌های بازنشانی (relocation) در فایل. .UNINDENT .INDENT 0.0 .TP .B \-R, \-\-dynamic\-reloc نمایش مدخل‌های بازنشانی پویا (dynamic relocation) در فایل. .UNINDENT .INDENT 0.0 .TP .B \-\-raw\-clang\-ast تخلیه محتوای دودویی خامِ بخش clang AST. .UNINDENT .INDENT 0.0 .TP .B \-s, \-\-full\-contents نمایش محتویات هر بخش. .UNINDENT .INDENT 0.0 .TP .B \-t, \-\-syms نمایش جدول نمادها. .UNINDENT .INDENT 0.0 .TP .B \-T, \-\-dynamic\-syms نمایش محتوای جدول نمادهای پویا. .UNINDENT .INDENT 0.0 .TP .B \-u, \-\-unwind\-info نمایش اطلاعات بازگشایی (unwind info) ورودی(ها). .sp این عملیات در حال حاضر فقط برای فایل‌های شیء COFF و Mach\-O پشتیبانی می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-v, \-\-version نمایش نسخه فایل اجرایی \fBllvm\-objdump\fP. با دستورهای دیگر ترکیب نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-x, \-\-all\-headers نمایش تمام اطلاعات موجود سرآیندها. معادل با مشخص کردن گزینه‌های \fB\-\-archive\-headers\fP،‏ \fB\-\-file\-headers\fP،‏ \fB\-\-private\-headers\fP،‏ \fB\-\-reloc\fP،‏ \fB\-\-section\-headers\fP و \fB\-\-syms\fP\&. .UNINDENT.SH "گزینه‌ها (OPTIONS)" .sp \fBllvm\-objdump\fP از گزینه‌های زیر پشتیبانی می‌کند: .INDENT 0.0 .TP .B \-\-adjust\-vma= نشانی نمایش‌یافته در دیس‌اسمبل یا چاپ سرآیند بخش را به میزان افست مشخص‌شده افزایش می‌دهد. .UNINDENT .INDENT 0.0 .TP .B \-\-arch\-name= معماری هدف را هنگام دیس‌اسمبل کردن مشخص می‌کند. برای دیدن فهرستی از هدف‌های در دسترس از \fB\-\-version\fP استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-\-build\-id= جستجوی شیء (object) با استفاده از شناسه ساخت (build ID) داده‌شده، که به صورت یک رشته هگزادسیمال مشخص می‌شود. شیء یافت‌شده طوری مدیریت می‌شود که گویی یک نام فایل ورودی بوده است. .UNINDENT .INDENT 0.0 .TP .B \-C, \-\-demangle رمزگشایی (demangle) نام نمادها در خروجی. .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-file\-directory مسیری به یک دایرکتوری دارای زیردایرکتوری \fI\&.build\-id\fP جهت جستجوی اطلاعات اشکال‌زدایی برای باینری‌های پیراسته‌شده (stripped) ارائه می‌دهد. نمونه‌های چندگانه از این آرگومان به ترتیبی که داده شده‌اند جستجو می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-indent= فاصله‌ی تورفتگی نمایش متغیرهای سطح کد منبع یا توابع درون‌خطی (inlined)، نسبت به ابتدای دیس‌اسمبل. مقدار پیش‌فرض ۵۲ نویسه است. .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-inlined\-funcs[=] مکان توابع درون‌خطی (inlined) را در کنار دیس‌اسمبل چاپ می‌کند. \fBformat\fP می‌تواند \fBascii\fP، \fBlimits\-only\fP یا \fBunicode\fP باشد، که در صورت حذف به صورت پیش‌فرض \fBunicode\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-vars[=] مکان متغیرهای سطح کد منبع (در ثبات‌ها یا حافظه) را در کنار دیس‌اسمبل چاپ می‌کند. \fBformat\fP می‌تواند \fBascii\fP یا \fBunicode\fP باشد، که در صورت حذف به صورت پیش‌فرض \fBunicode\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-debuginfod, \-\-no\-debuginfod تلاش یا عدم تلاش برای جستجو در debuginfod جهت باینری‌های اشکال‌زدایی. مگر اینکه صراحتاً مشخص شود، debuginfod تنها در صورتی فعال است که libcurl در حین کامپایل گنجانده شده باشد (\fBLLVM_ENABLE_CURL\fP) و دست‌کم یک URL سرور توسط متغیر محیطی \fBDEBUGINFOD_URLS\fP ارائه شده باشد. .UNINDENT .INDENT 0.0 .TP .B \-j, \-\-section= اجرای دستورها تنها روی بخش‌های مشخص‌شده. برای Mach\-O از \fIsegment,section\fP برای مشخص کردن نام بخش استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-l, \-\-line\-numbers هنگام دیس‌اسمبل کردن، شماره خطوط کد منبع را نمایش می‌دهد. مستلزم گزینه \fB\-\-disassemble\fP است. .UNINDENT .INDENT 0.0 .TP .B \-M, \-\-disassembler\-options= ارسال گزینه‌های دیس‌اسمبلر مختص به معماری هدف. گزینه‌های موجود: .INDENT 7.0 .IP \(bu 2 \fBreg\-names\-std\fP: فقط ARM (پیش‌فرض). خروجی را مطابق مستندات مجموعه دستورالعمل ARM چاپ می‌کند، به طوری که r13/r14/r15 با sp/lr/pc جایگزین می‌شوند. .IP \(bu 2 \fBreg\-names\-raw\fP: فقط ARM. استفاده از r به همراه شماره ثبات. .IP \(bu 2 \fBno\-aliases\fP: فقط AArch64 و RISC\-V. چاپ نماد یادآور خام دستورالعمل (raw mnemonic) به جای نماد شبه‌دستور. .IP \(bu 2 \fBnumeric\fP: فقط RISC\-V. چاپ نام‌های خام ثبات به جای نماد یادآور ABI (مثلاً چاپ x1 به جای ra). .IP \(bu 2 \fBatt\fP: فقط x86 (پیش‌فرض). چاپ بر اساس نحو (syntax) مربوط به AT&T. .IP \(bu 2 \fBintel\fP: فقط x86. چاپ بر اساس نحو (syntax) مربوط به intel. .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-disassembler\-color= فعال یا غیرفعال کردن خروجی رنگی دیس‌اسمبلر. .INDENT 7.0 .IP \(bu 2 \fBoff\fP: غیرفعال کردن خروجی رنگی دیس‌اسمبلر. .IP \(bu 2 \fBon\fP: فعال کردن خروجی رنگی دیس‌اسمبلر. .IP \(bu 2 \fBterminal\fP: فعال کردن خروجی رنگی دیس‌اسمبلر در صورتی که ترمینال از آن پشتیبانی کند (پیش‌فرض). .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-mcpu= یک نوع CPU خاص را برای دیس‌اسمبل کردن هدف قرار می‌دهد. برای نمایش پردازنده‌های در دسترس \fB\-\-mcpu=help\fP را مشخص کنید. .UNINDENT .INDENT 0.0 .TP .B \-\-mattr= فعال/غیرفعال کردن ویژگی‌های مختص هدف. برای نمایش ویژگی‌های در دسترس \fB\-\-mattr=help\fP را مشخص کنید. .UNINDENT .INDENT 0.0 .TP .B \-mllvm مشخص کردن یک آرگومان جهت ارسال به کتابخانه CommandLine متعلق به LLVM. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-leading\-addr, \-\-no\-addresses هنگام دیس‌اسمبل کردن، نشانی‌های ابتدایی دستورالعمل‌ها یا بازنشانی‌های درون‌خطی (inline relocations) چاپ نشود. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-print\-imm\-hex عدم استفاده از قالب هگزادسیمال برای مقادیر فوری (immediate) در خروجی دیس‌اسمبل. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-show\-raw\-insn هنگام دیس‌اسمبل کردن، بایت‌های خام هر دستورالعمل چاپ نشود. .UNINDENT .INDENT 0.0 .TP .B \-\-offloading نمایش محتوای بخش‌های offloading در LLVM و دسته‌های HIP offload. .UNINDENT .INDENT 0.0 .TP .B \-\-prefix= هنگام دیس‌اسمبل کردن با گزینه \fB\-\-source\fP، پیشوند \fBprefix\fP را به ابتدای مسیرهای مطلق اضافه می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-prefix\-strip= هنگام دیس‌اسمبل کردن با گزینه \fB\-\-source\fP، به تعداد \fBlevel\fP دایرکتوری ابتدایی را از مسیرهای مطلق حذف می‌کند. این گزینه بدون \fB\-\-prefix\fP هیچ تأثیری ندارد. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-imm\-hex استفاده از قالب هگزادسیمال هنگام چاپ مقادیر فوری (immediate) در خروجی دیس‌اسمبل (پیش‌فرض). .UNINDENT .INDENT 0.0 .TP .B \-S, \-\-source هنگام دیس‌اسمبل کردن، کد منبع را به صورت درهم‌آمیخته با دیس‌اسمبل نمایش می‌دهد. مستلزم گزینه \fB\-\-disassemble\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-all\-symbols نمایش همه نمادها حین دیس‌اسمبل، حتی اگر چند نماد در یک مکان یکسان تعریف شده باشند. .UNINDENT .INDENT 0.0 .TP .B \-\-show\-lma نمایش ستون LMA هنگام استخراج سرآیندهای بخش ELF. در حالت پیش‌فرض خاموش است مگر آنکه بخشی مقادیر متفاوتی برای VMA و LMA داشته باشد. .UNINDENT .INDENT 0.0.TP .B \-\-start\-address=
هنگام دیزاسمبل، فقط از آدرس مشخص‌شده به بعد دیزاسمبل انجام می‌شود. .sp هنگام چاپ بازنشانی‌ها، فقط بازنشانی‌هایی که آفست وصله‌کاری آن‌ها حداقل برابر با \fBaddress\fP باشد چاپ می‌شوند. .sp هنگام چاپ نمادها، فقط نمادهایی با مقداری حداقل برابر با \fBaddress\fP چاپ می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-stop\-address=
هنگام دیزاسمبل، دیزاسمبل فقط تا آدرس مشخص‌شده (بدون در بر گرفتن خود آن) انجام می‌شود. .sp هنگام چاپ بازنشانی‌ها، فقط بازنشانی‌هایی با آفست وصله‌کاری تا سقف \fBaddress\fP چاپ می‌شوند. .sp هنگام چاپ نمادها، فقط نمادهایی با مقداری تا سقف \fBaddress\fP چاپ می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-symbolize\-operands هنگام دیزاسمبل، عملوند مقصد انشعاب را نمادگذاری می‌کند تا به جای یک آدرس واقعی، یک برچسب چاپ شود. .sp هنگام چاپ یک مرجع نماد سراسری وابسته به PC، آن را به عنوان یک آفست از نماد پیشرو چاپ می‌کند. .sp هنگامی که یک بخش bb\-address\-map موجود باشد (یعنی فایل شیء با \fB\-fbasic\-block\-address\-map\fP ساخته شده باشد)، برچسب‌ها در عوض از آن بخش بازیابی می‌شوند. اگر یک pgo\-analysis\-map در کنار bb\-address\-map موجود باشد، هر تحلیل موجود پس از برچسب بلوک مربوطه چاپ می‌شود. به‌طور پیش‌فرض، هر تحلیلی با نمایش ویژه (مانند BlockFrequency، BranchProbability و غیره) به صورت مقادیر هگزادسیمال خام چاپ می‌شود. .sp تنها برای AArch64، BPF، PowerPC و X86 پشتیبانی می‌شود. .INDENT 7.0 .TP .B مثال: یک دستور انشعاب نمادگذاری‌نشده با یک مقصد محلی و دسترسی به حافظه وابسته به PC مانند .UNINDENT .INDENT 7.0 .INDENT 3.5 .sp .EX cmp eax, dword ptr [rip + 4112] jge 0x20117e <_start+0x25> .EE .UNINDENT .UNINDENT .sp ممکن است به این شکل تبدیل شود: .INDENT 7.0 .INDENT 3.5 .sp .EX : cmp eax, dword ptr jge .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-pretty\-pgo\-analysis\-map هنگام استفاده از \fB\-\-symbolize\-operands\fP به همراه bb\-address\-map و pgo\-analysis\-map، تحلیل‌ها با استفاده از همان قالبی که گذرهای تحلیلی آن‌ها نمایش می‌دهند چاپ می‌شوند. نمونه‌ای از قالب خوانا (pretty format)، چاپ فرکانس بلوک‌ها نسبت به بلوک ورودی، مشابه BFI است. .sp فقط زمانی کار می‌کند که \fB\-\-symbolize\-operands\fP فعال باشد. .UNINDENT .INDENT 0.0 .TP .B \-\-triple= سه‌گانه هدف (Target triple) برای انجام دیزاسمبل؛ برای مشاهده اهداف موجود \fB\-\-version\fP را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-w, \-\-wide جهت سازگاری با GNU objdump نادیده گرفته می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-x86\-asm\-syntax=