LLVM-READOBJ(1) LLVM LLVM-READOBJ(1)

llvm-readobj - ابزار خواندن پرونده‌های شیء LLVM

llvm-readobj [options] [input...]

ابزار llvm-readobj اطلاعات سطح پایین و وابسته به قالب پرونده را درباره یک یا چند پرونده شیء نمایش می‌دهد.

اگر input برابر با "-" باشد، llvm-readobj از ورودی استاندارد می‌خواند. در غیر این صورت، از filenames مشخص‌شده خواهد خواند.

ابزار llvm-readelf یک نام مستعار برای ابزار llvm-readobj <llvm-readobj.html> با یک رابط خط فرمان کمی متفاوت و خروجی سازگار با GNU است. در ادامه فهرستی از تفاوت‌های میان llvm-readelf و llvm-readobj آورده شده است:

  • llvm-readelf به‌طور پیش‌فرض از GNU برای گزینه --elf-output-style استفاده می‌کند. llvm-readobj از LLVM استفاده می‌کند.
  • llvm-readelf اجازه استفاده از پرچم‌های تک‌حرفی گروه‌بندی‌شده را می‌دهد (برای مثال llvm-readelf -SW مشابه llvm-readelf -S -W است). llvm-readobj گروه‌بندی را مجاز نمی‌داند.
  • llvm-readelf برای سازگاری با readelf گنو، گزینه -s را به عنوان یک نام مستعار برای --symbols ارائه می‌دهد، در حالی که در llvm-readobj نام مستعاری برای --section-headers است.
  • llvm-readobj گزینه -t را به عنوان نام مستعاری برای --symbols ارائه می‌دهد؛ llvm-readelf این امکان را فراهم نمی‌کند.
  • llvm-readobj به ترتیب --sr، --sd، --st و --dt را به عنوان نام‌های مستعار برای --section-relocations، --section-data، --section-symbols و --dyn-symbols ارائه می‌دهد. llvm-readelf برای جلوگیری از تداخل با پرچم‌های گروه‌بندی‌شده، این نام‌های مستعار را ارائه نمی‌کند.

این گزینه‌ها برای بیش از یک قالب پرونده کاربرد دارند، یا ارتباطی با قالب‌های پرونده ندارند.

معادل با مشخص کردن تمام گزینه‌های اصلی نمایش مربوط به قالب پرونده است.
جدول اهمیت نشانی (address-significance) را نمایش می‌دهد.
هنگامی که همراه با -x یا -p استفاده شود، محتوای فشرده‌زدایی‌شدهٔ بخش را تخلیه (dump) می‌کند. اگر بخش(ها) فشرده نباشند، همان‌طور که هستند نمایش داده می‌شوند.
نام نمادهای ناآراسته (demangled) را در خروجی نمایش می‌دهد. این گزینه فقط برای قالب‌های پرونده ELF و XCOFF است.
هنگامی که همراه با --relocs استفاده شود، هر بازنشانی (relocation) را در قالبی بازشده و چندخطی نمایش می‌دهد.
سرایندهای پرونده را نمایش می‌دهد.
معادل با مشخص کردن: --file-header، --program-headers و --sections.
خلاصه‌ای از گزینه‌های خط فرمان را نمایش می‌دهد.
بخش(های) مشخص‌شده را به صورت بایت‌های شانزده‌شانزدهی (هگزادسیمال) نمایش می‌دهد. section می‌تواند یک نمایه بخش یا نام بخش باشد.

اطلاعات مربوط به برچسب‌گذاری حافظه (memory tagging) موجود در باینری را نمایش می‌دهد. این شامل ورودی‌های پویای گوناگون مختص به memtag، بخش‌های توصیف‌گر سراسری رمزگشایی‌شده، و یادداشت‌های ELF رمزگشایی‌شده مختص به Android است.

کتابخانه‌های مورد نیاز را نمایش می‌دهد.
نام نمادها را در خروجی ناآراسته (demangle) نمی‌کند. این گزینه فقط برای قالب‌های پرونده ELF و XCOFF است. این گزینه به‌طور پیش‌فرض فعال است.
فهرست بسته‌های باراندازی (offload) HIP را نمایش می‌دهد.
ورودی‌های بازنشانی (relocation) موجود در پرونده را نمایش می‌دهد.
همه بخش‌ها را نمایش می‌دهد.
هنگامی که همراه با --sections استفاده شود، داده‌های بخش را برای هر بخش نمایش‌داده‌شده نشان می‌دهد. این گزینه برای خروجی به سبک GNU هیچ اثری ندارد.
هنگامی که همراه با --sections استفاده شود، بازنشانی‌ها را برای هر بخش نمایش‌داده‌شده نشان می‌دهد. این گزینه برای خروجی به سبک GNU هیچ اثری ندارد.
هنگامی که همراه با --sections استفاده شود، نمادها را برای هر بخش نمایش‌داده‌شده نشان می‌دهد. این گزینه برای خروجی به سبک GNU هیچ اثری ندارد.
کلیدها را برای مرتب‌سازی نمادها پیش از نمایش symtab مشخص می‌کند. مقادیر معتبر برای sort_key عبارتند از name و type.
--stackmap نمایش محتویات بخش stackmap.
نمایش بخش(های) مشخص‌شده به‌صورت فهرستی از رشته‌ها. section می‌تواند یک نمایه بخش یا نام بخش باشد.
نمایش محتویات جدول رشته‌ها.
نمایش جدول نمادها.
نمایش اطلاعات بازگشت پشته (unwind).
نمایش نسخه فایل اجرایی llvm-readobj.
@<FILE>
خواندن گزینه‌های خط فرمان از فایل پاسخ <FILE>.

گزینه‌های زیر فقط برای قالب پرونده ELF پیاده‌سازی شده‌اند.

نمایش اطلاعات وابسته به معماری؛ مانند بخش ویژگی‌های ARM در ARM.
نمایش محتویات بخش(های) نگاشت آدرس بلوک‌های پایه (basic block)، که شامل آدرس هر تابع به‌همراه آفست نسبی هر بلوک پایه است.

هنگامی که نگاشت‌های تحلیل pgo موجود باشند، تمام تحلیل‌ها به‌صورت مقدار خام آنها چاپ می‌شوند.

هنگامی که نگاشت‌های تحلیل pgo در بخش(های) نگاشت آدرس بلوک پایه موجود باشند، تحلیل‌های دارای قالب‌های ویژه (مانند BlockFrequency، BranchProbability و غیره) با همان قالبی که در مرحله تحلیل مربوطه دارند چاپ می‌شوند.

برای اعمال، نیازمند گزینه --bb-addr-map است.

نمایش بخش کتابخانه‌های وابسته.
نمایش مدخل‌های بازنشانی پویا.
نمایش جدول نمادهای پویا.
نمایش جدول پویا.
نمایش بخش پروفایل گراف فراخوانی (callgraph).
نمایش بافت‌نگار فهرست باکت‌ها برای جدول‌های درهم‌سازی نماد پویا.
نمایش بخش گزینه‌های پیونددهنده.
قالب‌بندی اطلاعات ELF بر اساس سبک مشخص‌شده. گزینه‌های معتبر عبارتند از LLVM، GNU و JSON. خروجی LLVM (پیش‌فرض) قالبی بسط‌یافته و ساختاریافته است. خروجی GNU ساختار خروجی معادل دستور readelf در GNU را شبیه‌سازی می‌کند. خروجی JSON خروجی با ساختار JSON است که برای پردازش ماشینی در نظر گرفته شده است.
نمایش گروه‌های بخش‌ها.
نمایش جدول درهم‌سازی GNU برای نمادهای پویا.
نمایش جدول درهم‌سازی بسط‌یافته به‌همراه داده‌های نمادهای پویا.
نمایش جدول درهم‌سازی برای نمادهای پویا.
نمایش اطلاعات برچسب‌گذاری حافظه (memory tagging) موجود در باینری. این اطلاعات شامل مدخل‌های پویای مختلف، بخش‌های توصیف‌گر سراسری رمزگشایی‌شده و یادداشت‌های رمزگشایی‌شده ELF ویژه Android است.
نمایش تمام یادداشت‌ها (notes).
هنگام استفاده به‌همراه --elf-output-style، خروجی JSON در قالبی خواناتر و مرتب‌تر قالب‌بندی می‌شود.
نمایش سرآیندهای برنامه.
نمایش نگاشت بخش به قطعه (segment).
نمایش محتویات بخش(های) اندازه پشته، یعنی جفت نام‌های توابع و اندازه فریم پشته آنها. در حال حاضر فقط برای سبک خروجی GNU پیاده‌سازی شده است.
--version-info, -V
نمایش بخش‌های نسخه.

گزینه‌های زیر تنها برای قالب فایل Mach-O پیاده‌سازی شده‌اند.

نمایش دستور Data in Code.
نمایش دستور Dsymtab.
نمایش نمادهای غیرمستقیم (indirect symbols).
نمایش گزینه‌های پیونددهنده مختص Mach-O.
نمایش دستور Segment.
نمایش دستور version min.

گزینه‌های زیر تنها برای قالب فایل PE/COFF پیاده‌سازی شده‌اند.

نمایش اطلاعات اشکال‌زدایی CodeView.
--codeview-ghash
فعال‌سازی هشینگ سراسری جهت حذف موارد تکراری در جریان نوع (type stream) متعلق به CodeView.
--codeview-merged-types
نمایش جریان نوع ادغام‌شده CodeView.
--codeview-subsection-bytes
تخلیه محتوای خام رکوردها و بخش‌های اشکال‌زدایی CodeView.
نمایش بخش .reloc.
نمایش دایرکتوری اشکال‌زدایی (debug directory).
نمایش دایرکتوری TLS.
نمایش بخش .drectve.
نمایش جدول نمادهای صادرشده (export table).
نمایش جدول نمادهای واردشده (import table).
نمایش ساختار پیکربندی بارگذاری (load config).
نمایش بخش .rsrc.

گزینه‌های زیر تنها برای قالب فایل XCOFF پیاده‌سازی شده‌اند.

نمایش سرایند کمکی XCOFF.
نمایش مدخل‌های بخش استثنای XCOFF.
نمایش سرایند بخش بارگذار XCOFF.
نمایش جدول نمادهای بخش بارگذار.
نمایش مدخل‌های بازنشانی بخش بارگذار.

دستور llvm-readobj در شرایط عملکرد عادی مقدار 0 را بازمی‌گرداند. در صورت بروز هرگونه خطا، یک کد خروج غیرصفر برگردانده می‌شود.

llvm-nm(1) <llvm-nm.html>، llvm-objdump(1) <llvm-objdump.html>، llvm-readelf(1) <llvm-readelf.html>

توسط تیم LLVM نگهداری می‌شود (https://llvm.org).

2003-2026، LLVM Project

2026-07-15 22