.\" 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-NM" "1" "2026-07-15" "22" "LLVM" .SH "نام (NAME)" llvm-nm \- فهرست‌بندی جدول نمادهای فایل‌های هدف و بیت‌کد LLVM .SH "خلاصه دستور (SYNOPSIS)" .sp \fBllvm\-nm\fP [\fIگزینه‌ها\fP] [\fIنام‌فایل‌ها...\fP] .SH "توضیحات (DESCRIPTION)" .sp ابزار \fBllvm\-nm\fP نام نمادها را از فایل‌های بیت‌کد LLVM، فایل‌های هدف (object files) و آرشیوها فهرست می‌کند. هر نماد به همراه اطلاعاتی ساده درباره منشأ آن نمایش داده می‌شود. اگر نام فایلی مشخص نشود، \fIa.out\fP به عنوان ورودی استفاده می‌شود. اگر از \fI\-\fP به عنوان نام فایل استفاده شود، \fBllvm\-nm\fP فایل را از جریان ورودی استاندارد خواهد خواند. .sp قالب خروجی پیش‌فرض \fBllvm\-nm\fP همان قالب سنتی BSD \fBnm\fP است. هر رکورد خروجی شامل یک آدرس هگزادسیمال ۸ رقمی (اختیاری)، یک نویسه کد نوع، و سپس نام برای هر نماد است. در هر سطر یک رکورد چاپ می‌شود؛ فیلدها با فاصله جدا می‌شوند. هنگامی که آدرس حذف شود، ۸ فاصله به جای آن قرار می‌گیرد. .sp نویسه‌های کد نوع پشتیبانی‌شده به شرح زیر هستند. در مواردی که هر دو نویسه کوچک و بزرگ برای یک مفهوم ذکر شده‌اند، نویسه کوچک نمایانگر نماد محلی (local) و نویسه بزرگ نمایانگر نماد سراسری (global/external) است: .sp a, A .INDENT 0.0 .INDENT 3.5 نماد مطلق (Absolute). .UNINDENT .UNINDENT .sp b, B .INDENT 0.0 .INDENT 3.5 شیء داده مقداردهی‌نشده (bss). .UNINDENT .UNINDENT .sp C .INDENT 0.0 .INDENT 3.5 نماد مشترک (Common). چندین تعریف در فرآیند پیوند در قالب یک تعریف ترکیب می‌شوند. .UNINDENT .UNINDENT .sp d, D .INDENT 0.0 .INDENT 3.5 شیء داده قابل نوشتن. .UNINDENT .UNINDENT .sp i, I .INDENT 0.0 .INDENT 3.5 در COFF: نماد .idata یا نماد در بخشی با فلگ IMAGE_SCN_LNK_INFO فعال. .UNINDENT .UNINDENT .sp n .INDENT 0.0 .INDENT 3.5 در ELF: نماد محلی از بخش غیرقابل تخصیص (non\-alloc). .sp در COFF: نماد اشکال‌زدایی (debug). .UNINDENT .UNINDENT .sp N .INDENT 0.0 .INDENT 3.5 در ELF: نماد بخش اشکال‌زدایی، یا نماد سراسری از بخش غیرقابل تخصیص. .UNINDENT .UNINDENT .sp s, S .INDENT 0.0 .INDENT 3.5 در COFF: نماد بخش (section). .sp در Mach\-O: نماد مطلق یا نماد از بخشی غیر از __TEXT_EXEC __text، __TEXT __text، __DATA __data، یا __DATA __bss. .UNINDENT .UNINDENT .sp r, R .INDENT 0.0 .INDENT 3.5 شیء داده فقط‌خواندنی. .UNINDENT .UNINDENT .sp t, T .INDENT 0.0 .INDENT 3.5 شیء کد برنامه یا متن (text). .UNINDENT .UNINDENT .sp u .INDENT 0.0 .INDENT 3.5 در ELF: نماد منحصر‌به‌فرد گنو (GNU unique). .UNINDENT .UNINDENT .sp U .INDENT 0.0 .INDENT 3.5 شیء نام‌برده در این فایل تعریف نشده است. .UNINDENT .UNINDENT .sp v .INDENT 0.0 .INDENT 3.5 در ELF: شیء ضعیف تعریف‌نشده (Undefined weak). تعریف نشدن شیء به منزله شکست در پیوند نیست. .UNINDENT .UNINDENT .sp V .INDENT 0.0 .INDENT 3.5 در ELF: نماد شیء ضعیف تعریف‌شده (Defined weak). این تعریف تنها در صورتی استفاده می‌شود که هیچ تعریف معمولی در فرآیند پیوند وجود نداشته باشد. اگر چندین تعریف ضعیف و هیچ تعریف معمولی وجود نداشته باشد، یکی از تعریف‌های ضعیف استفاده خواهد شد. .UNINDENT .UNINDENT .sp w .INDENT 0.0 .INDENT 3.5 نماد ضعیف تعریف‌نشده به جز نماد شیء ELF. تعریف نشدن نماد موجب شکست در پیوند نیست. .UNINDENT .UNINDENT .sp W .INDENT 0.0 .INDENT 3.5 نماد ضعیف تعریف‌شده به جز نماد شیء ELF. این تعریف تنها در صورتی استفاده می‌شود که هیچ تعریف معمولی در فرآیند پیوند وجود نداشته باشد. اگر چندین تعریف ضعیف و هیچ تعریف معمولی وجود نداشته باشد، یکی از تعریف‌های ضعیف استفاده خواهد شد. .UNINDENT .UNINDENT .sp \- .INDENT 0.0 .INDENT 3.5 در Mach\-O: نماد N_STAB. .UNINDENT .UNINDENT .sp ? .INDENT 0.0 .INDENT 3.5 موردی غیرقابل شناسایی. .UNINDENT .UNINDENT .sp از آنجا که فایل‌های بیت‌کد LLVM معمولاً حاوی اشیایی هستند که تا زمان پیوند خوردن در یک فایل اجرایی یا کامپایل پویا «درجا» (just\-in\-time) فاقد آدرس در نظر گرفته می‌شوند، \fBllvm\-nm\fP برای هیچ نمادی در فایل بیت‌کد LLVM آدرسی چاپ نمی‌کند، حتی نمادهایی که در خود فایل بیت‌کد تعریف شده‌اند. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .TP .B \-B استفاده از قالب خروجی BSD. نام مستعار برای \fB\-\-format=bsd\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-X مشخص کردن نوع فایل شیء XCOFF، شیء ELF یا شیء IR ورودی از خط فرمان یا از فایل‌های آرشیو که llvm\-nm باید بررسی کند. حالت باید یکی از موارد زیر باشد: .INDENT 7.0 .INDENT 3.5 .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B 32 تنها پردازش فایل‌های شیء ۳۲ بیتی. .TP .B 64 تنها پردازش فایل‌های شیء ۶۴ بیتی. .TP .B 32_64 پردازش هر دو فایل‌های شیء ۳۲ بیتی و ۶۴ بیتی. .TP .B any پردازش تمامی فایل‌های شیء پشتیبانی‌شده. .UNINDENT .UNINDENT .UNINDENT .sp در سیستم‌عامل AIX، حالت پیش‌فرض پردازش تنها فایل‌های شیء ۳۲ بیتی و نادیده گرفتن اشیاء ۶۴ بیتی است. این رفتار با تنظیم متغیر محیطی OBJECT_MODE قابل تغییر است. برای نمونه، OBJECT_MODE=64 باعث می‌شود \fBllvm\-nm\fP اشیاء ۶۴ بیتی را پردازش کرده و اشیاء ۳۲ بیتی را نادیده بگیرد. فلگ \-X بر متغیر OBJECT_MODE اولویت دارد. .sp در سایر سیستم‌عامل‌ها، پیش‌فرض پردازش تمام فایل‌های شیء است و متغیر محیطی OBJECT_MODE پشتیبانی نمی‌شود. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-syms, \-a نمایش تمام نمادها، حتی نمادهایی که معمولاً پنهان می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-defined\-only, \-U چاپ تنها نمادهای تعریف‌شده در این فایل. .UNINDENT .INDENT 0.0 .TP .B \-\-demangle, \-C نام‌گشایی (Demangle) نام نمادها. .UNINDENT .INDENT 0.0 .TP .B \-\-dynamic, \-D نمایش نمادهای پویا (dynamic) به جای نمادهای عادی. .UNINDENT .INDENT 0.0 .TP .B \-\-export\-symbols چاپ نمادهای مرتب‌شده به همراه سطح دسترسی و دیده‌شدن آن‌ها (در صورت وجود)، همراه با حذف موارد تکراری. .UNINDENT .INDENT 0.0 .TP .B \-\-extern\-only, \-g چاپ تنها نمادهایی که تعریف آن‌ها خارجی است؛ یعنی از فایل‌های دیگر قابل دسترسی هستند. .UNINDENT .INDENT 0.0 .TP .B \-\-format=, \-f انتخاب قالب خروجی؛ \fIformat\fP می‌تواند \fIsysv\fP، \fIposix\fP، \fIdarwin\fP، \fIbsd\fP یا \fIjust\-symbols\fP باشد. پیش‌فرض \fIbsd\fP است. .UNINDENT .INDENT 0.0 .TP .B \-\-help, \-h چاپ خلاصه‌ای از گزینه‌های خط فرمان و معانی آن‌ها. .UNINDENT .INDENT 0.0 .TP .B \-j چاپ تنها نام نمادها. نام مستعار برای \fI\-\-format=just\-symbols\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-line\-numbers, \-l استفاده از اطلاعات اشکال‌زدایی برای چاپ نام فایل‌ها و شماره خطوطی که نمادها در آن‌ها تعریف شده‌اند. برای نمادهای تعریف‌نشده، مکان نخستین بازتخصیص (relocation) آن‌ها چاپ می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-m استفاده از قالب Darwin. نام مستعار برای \fB\-\-format=darwin\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-demangle عدم نام‌گشایی نام نمادها. این رفتار پیش‌فرض است. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-llvm\-bc غیرفعال کردن خواننده بیت‌کد LLVM. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-sort, \-p نمایش نمادها به همان ترتیبی که در فایل مواجه می‌شوند. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-weak, \-W عدم چاپ نمادهای ضعیف (weak). .UNINDENT .INDENT 0.0 .TP .B \-\-numeric\-sort, \-n, \-v مرتب‌سازی نمادها بر اساس آدرس عددی. .UNINDENT .INDENT 0.0 .TP .B \-\-portability, \-P استفاده از قالب خروجی POSIX.2. نام مستعار برای \fB\-\-format=posix\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-armap چاپ جدول نمادهای آرشیو، علاوه بر نمادها. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-file\-name, \-A, \-o درج نام فایلی که نماد از آن آمده است پیش از هر نماد. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-size, \-S نمایش اندازه نماد و همچنین آدرس آن (برای Mach\-O کاربرد ندارد). .UNINDENT .INDENT 0.0 .TP .B \-\-quiet سرکوب پیام هشدار «بدون نماد» (no symbols). .UNINDENT .INDENT 0.0 .TP .B \-\-radix=, \-t مشخص کردن مبنای عددی آدرس نماد(ها). مقادیر پذیرفته‌شده عبارتند از \fId\fP (ده‌دهی)، \fIx\fP (شانزده‌شانزدهی/هگزادسیمال) و \fIo\fP (هشت‌هشتی/اکتال). .UNINDENT .INDENT 0.0 .TP .B \-\-reverse\-sort, \-r مرتب‌سازی معکوس نمادها. .UNINDENT .INDENT 0.0 .TP .B \-\-size\-sort مرتب‌سازی نمادها بر اساس اندازه. .UNINDENT .INDENT 0.0 .TP .B \-\-special\-syms عدم فیلتر کردن نمادهای ویژه از خروجی. .UNINDENT .INDENT 0.0 .TP .B \-\-undefined\-only, \-u چاپ تنها نمادهای تعریف‌نشده. .UNINDENT .INDENT 0.0 .TP .B \-\-version, \-V نمایش نسخه برنامه اجرایی \fBllvm\-nm\fP و سپس خروج. با سایر دستورات ترکیب نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B @ خواندن گزینه‌های خط فرمان از فایل پاسخ \fI\fP\&. .UNINDENT .SH "گزینه‌های ویژه MACH-O (MACH-O SPECIFIC OPTIONS)" .INDENT 0.0 .TP .B \-\-add\-dyldinfo افزودن نمادها از dyldinfo در صورتی که از قبل در جدول نمادها وجود نداشته باشند. این رفتار پیش‌فرض است. .UNINDENT .INDENT 0.0 .TP .B \-\-add\-inlinedinfo افزودن نمادها از کتابخانه‌های درون‌خطی‌شده (inlined)، تنها برای ورودی‌های فایل TBD. .UNINDENT .INDENT 0.0 .TP .B \-\-arch= استخراج نمادها از معماری(های) مشخص‌شده. .UNINDENT .INDENT 0.0 .TP .B \-\-dyldinfo\-only استخراج تنها نمادهای مربوط به dyldinfo. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-dyldinfo عدم افزودن هیچ نمادی از dyldinfo. .UNINDENT .INDENT 0.0 .TP .B \-s
استخراج تنها نمادها از این نام سگمنت و بخش. .UNINDENT .INDENT 0.0 .TP .B \-x چاپ مدخل نماد در قالب هگزادسیمال. .UNINDENT .SH "گزینه‌های ویژه XCOFF (XCOFF SPECIFIC OPTIONS)" .INDENT 0.0 .TP .B \-\-no\-rsrc مستثنی کردن نمادهای فایل منبع (\fB__rsrc\fP) از فهرست نمادهای صادراتی. .UNINDENT .SH "اشکالات (BUGS)" .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 ابزار \fBllvm\-nm\fP از تمامی آرگومان‌هایی که GNU \fBnm\fP پشتیبانی می‌کند، پشتیبانی نمی‌کند. .UNINDENT .UNINDENT .UNINDENT .SH "وضعیت خروج (EXIT STATUS)" .sp ابزار \fBllvm\-nm\fP با کد خروج صفر به کار خود پایان می‌دهد. .SH "همچنین ببینید (SEE ALSO)" .sp \fBllvm\-ar(1)\fP, \fBllvm\-objdump(1)\fP, \fBllvm\-readelf(1)\fP, \fBllvm\-readobj(1)\fP .SH "نویسنده (AUTHOR)" نگه‌داری شده توسط تیم LLVM (https://llvm.org). .SH "حق نشر (COPYRIGHT)" 2003-2026, LLVM Project .\" End of generated man page.