| READELF(1) | GNU Development Tools | READELF(1) |
نام (NAME)
aarch64-linux-gnu-readelf - نمایش اطلاعات و ساختار فایلهای باینری ELF برای معماری AArch64
خلاصه دستور (SYNOPSIS)
readelf [-a|--all]
[-h|--file-header]
[-l|--program-headers|--segments]
[-S|--section-headers|--sections]
[-g|--section-groups]
[-t|--section-details]
[-e|--headers]
[-s|--syms|--symbols]
[--dyn-syms|--lto-syms]
[--sym-base=[0|8|10|16]]
[--demangle=style|--no-demangle]
[--quiet]
[--recurse-limit|--no-recurse-limit]
[-U method|--unicode=method]
[-X|--extra-sym-info|--no-extra-sym-info]
[-n|--notes]
[-r|--relocs]
[-u|--unwind]
[-d|--dynamic]
[-V|--version-info]
[-A|--arch-specific]
[-D|--use-dynamic]
[-L|--lint|--enable-checks]
[-x <number or name>|--hex-dump=<number or name>]
[-p <number or name>|--string-dump=<number or
name>]
[-R <number or name>|--relocated-dump=<number or
name>]
[-j <number or name>|--display-section=<number or
name>]
[-z|--decompress]
[-c|--archive-index]
[-w|--debug-dump]
[-wa|--debug-dump=abbrev]
[-wA|--debug-dump=addr]
[-wr|--debug-dump=aranges]
[-wc|--debug-dump=cu_index]
[-wL|--debug-dump=decodedline]
[-wf|--debug-dump=frames]
[-wF|--debug-dump=frames-interp]
[-wg|--debug-dump=gdb_index]
[-wi|--debug-dump=info]
[-wk|--debug-dump=links]
[-wo|--debug-dump=loc]
[-wm|--debug-dump=macro]
[-wp|--debug-dump=pubnames]
[-wt|--debug-dump=pubtypes]
[-wR|--debug-dump=Ranges]
[-wl|--debug-dump=rawline]
[-ws|--debug-dump=str]
[-wO|--debug-dump=str-offsets]
[-wu|--debug-dump=trace_abbrev]
[-wT|--debug-dump=trace_aranges]
[-wU|--debug-dump=trace_info]
[-wK|--debug-dump=follow-links]
[-wN|--debug-dump=no-follow-links]
[-wD|--debug-dump=use-debuginfod]
[-wE|--debug-dump=do-not-use-debuginfod]
[--debug-dir=dir]
[-P|--process-links]
[--dwarf-depth=n]
[--dwarf-start=n]
[--ctf=section]
[--ctf-parent=section]
[--ctf-symbols=section]
[--ctf-strings=section]
[--sframe=section]
[-I|--histogram]
[--got-contents]
[-v|--version]
[-W|--wide]
[-T|--silent-truncation]
[-H|--help]
elffile...
توضیحات (DESCRIPTION)
دستور readelf اطلاعات مربوط به یک یا چند پرونده شیء با قالب ELF را نمایش میدهد. گزینهها تعیین میکنند چه اطلاعات مشخصی نمایش داده شود.
elffile... پروندههای شیء هستند که باید بررسی شوند. پروندههای ELF ۳۲-بیتی و ۶۴-بیتی و همچنین پروندههای بایگانی حاوی پروندههای ELF پشتیبانی میشوند.
این برنامه عملکردی مشابه با objdump دارد اما وارد جزئیات بیشتری میشود و مستقل از کتابخانه BFD عمل میکند؛ بنابراین اگر اشکالی در BFD وجود داشته باشد، readelf تحت تأثیر آن قرار نخواهد گرفت.
گزینهها (OPTIONS)
شکلهای کوتاه و بلند گزینهها که در اینجا به صورت جایگزین نشان داده شدهاند، معادل یکدیگرند. حداقل باید یک گزینه به جز -v یا -H مشخص شود.
- -a
- --all
- معادل با
مشخص کردن
گزینههای
--file-header، --program-headers،
--sections، --symbols، --relocs،
--dynamic، --notes،
--got-contents، --version-info،
--arch-specific، --unwind،
--section-groups و --histogram
است.
توجه - این گزینه به خودی خود --use-dynamic را فعال نمیکند، بنابراین اگر آن گزینه در خط فرمان مشخص نشده باشد، نمادهای پویا و بازنشانیهای پویا نمایش داده نخواهند شد.
- -h
- --file-header
- اطلاعات موجود در سرآیند ELF در ابتدای پرونده را نمایش میدهد.
- -l
- --program-headers
- --segments
- اطلاعات موجود در سرآیندهای قطعه (segment headers) پرونده را در صورت وجود نمایش میدهد.
- --quiet
- پیام تشخیصی «no symbols» (بدون نماد) را مسدود میکند.
- -S
- --sections
- --section-headers
- اطلاعات موجود در سرآیندهای بخش (section headers) پرونده را در صورت وجود نمایش میدهد.
- -g
- --section-groups
- اطلاعات موجود در گروههای بخش پرونده را در صورت وجود نمایش میدهد.
- -t
- --section-details
- اطلاعات تفصیلی بخشها را نمایش میدهد. این گزینه به طور ضمنی -S را نیز در بر دارد.
- -s
- --symbols
- --syms
- درایههای موجود در بخش جدول نماد پرونده را در صورت وجود نمایش میدهد. اگر نمادی دارای اطلاعات نسخه مرتبط باشد، آن اطلاعات نیز نمایش داده خواهد شد. رشته نسخه به صورت یک پسوند پس از نویسه @ به دنبال نام نماد نمایش مییابد؛ برای نمونه foo@VER_1. اگر نسخه، نسخه پیشفرضی باشد که هنگام حل ارجاعات بدون نسخه به نماد استفاده میشود، به صورت پسوندی پس از دو نویسه @ نمایش داده میشود؛ برای نمونه foo@@VER_2.
- --dyn-syms
- درایههای موجود در بخش جدول نمادهای پویا (dynamic symbol table) پرونده را در صورت وجود نمایش میدهد. قالب خروجی همان قالب مورد استفاده توسط گزینه --syms است.
- --lto-syms
- محتویات هرگونه جدول نماد LTO موجود در پرونده را نمایش میدهد.
- --sym-base=[0|8|10|16]
- فیلد اندازه در جدول نمادها را وادار به استفاده از مبنای مشخصشده میکند. هر گزینه ناشناخته به عنوان 0 در نظر گرفته میشود. --sym-base=0 بیانگر رفتار پیشفرض و سنتی است که اندازهها را برای اعداد کمتر از ۱۰۰۰۰۰ در مبنای دهدهی خروجی میدهد و برای مقادیر ۱۰۰۰۰۰ و بزرگتر، نمادگذاری هگزادسیمال با پیشوند 0x به کار میرود. --sym-base=8 اندازه نمادها را در مبنای هشت (octal) نمایش میدهد. --sym-base=10 همواره اندازه نمادها را در مبنای ده (decimal) ارائه میکند. --sym-base=16 همواره اندازه نمادها را در مبنای شانزده (hexadecimal) با پیشوند 0x ارائه میکند.
- -C
- --demangle[=style]
- رمزگشایی (demangle) نام نمادهای سطح پایین به نامهای سطح کاربر. این کار نام توابع ++C را خوانا میسازد. کامپایلرهای مختلف روشهای درهمسازی (mangling) متفاوتی دارند. آرگومان اختیاری شیوه demangle میتواند برای انتخاب یک شیوه مناسب برای کامپایلر شما به کار رود.
- --no-demangle
- نام نمادهای سطح پایین را demangle نمیکند. این حالت پیشفرض است.
- --recurse-limit
- --no-recurse-limit
- --recursion-limit
- --no-recursion-limit
- ایجاد
محدودیت در
میزان
بازگشت (recursion)
حین
رمزگشایی
رشتهها را
فعال یا
غیرفعال
میکند. از
آنجا که
قالبهای
درهمسازی
نام امکان
بازگشت
نامحدود را
فراهم
میکنند،
این احتمال
وجود دارد
که
رشتههایی
ایجاد شوند
که
رمزگشایی
آنها تمام
فضای پشته
در دسترس
روی ماشین
میزبان را
مصرف کرده و
موجب خطای
حافظه گردد.
این
محدودیت با
تحدید
بازگشت به
۲۰۴۸ سطح
تودرتو،
مانع بروز
این اتفاق
میشود.
حالت پیشفرض فعال بودن این محدودیت است، اما غیرفعال کردن آن ممکن است برای رمزگشایی نامهای واقعاً پیچیده لازم باشد. با این حال توجه داشته باشید که در صورت غیرفعال بودن محدودیت بازگشت، اتمام حافظه پشته امکانپذیر خواهد بود و هرگونه گزارش اشکال در مورد چنین رخدادی رد خواهد شد.
- -U [d|i|l|e|x|h]
- --unicode=[default|invalid|locale|escape|hex|highlight]
- نحوه نمایش
نویسههای
غیر ASCII در نام
شناسهها
را کنترل
میکند.
حالت
پیشفرض
(--unicode=locale یا --unicode=default)
رفتار با
آنها به
عنوان
نویسههای
چندبایتی و
نمایش در
محلیسازی
فعلی (locale) است.
تمام
گونههای
دیگر این
گزینه با
بایتها به
عنوان
مقادیر
کدگذاریشده
با UTF-8 برخورد
کرده و تلاش
میکنند
آنها را
تفسیر
نمایند. اگر
نتوان
آنها را
تفسیر کرد
یا اگر از
گزینه --unicode=invalid
استفاده
شود، به
صورت
دنبالهای
از
بایتهای
هگز محصور
در
نویسههای
آکولاد
نمایش
مییابند.
استفاده از گزینه --unicode=escape نویسهها را به عنوان توالیهای فرار یونیکد (\uxxxx) نمایش میدهد. استفاده از گزینه --unicode=hex نویسهها را به عنوان دنباله بایتهای هگز محصور میان علامتهای کوچکتری و بزرگتری نمایش میدهد.
استفاده از گزینه --unicode=highlight نویسهها را به عنوان توالیهای فرار یونیکد نمایش میدهد اما در صورتی که دستگاه خروجی از رنگ پشتیبانی کند، آنها را با رنگ قرمز برجسته نیز میسازد. هدف از این رنگآمیزی جلب توجه به وجود توالیهای یونیکد در جاهایی است که انتظار حضور آنها نمیرود.
- -X
- --extra-sym-info
- هنگام
نمایش
جزئیات
نمادها،
اطلاعات
اضافی که
معمولاً
ارائه
نمیشوند
را شامل
میشود. در
حال حاضر
این گزینه
فقط نام
بخشی را که
فیلد اندیس
نماد به آن
اشاره
دارد، در
صورت وجود
اضافه
میکند. در
آینده ممکن
است با فعال
بودن این
گزینه
اطلاعات
بیشتری
نمایش داده
شود.
فعال کردن این گزینه دستکم هنگام نمایش اطلاعات نمادها، عملاً گزینه --wide را نیز فعال میسازد.
- --no-extra-sym-info
- اثر گزینه --extra-sym-info را غیرفعال میسازد. این حالت پیشفرض است.
- -e
- --headers
- تمام سرآیندهای پرونده را نمایش میدهد. معادل با -h -l -S.
- -n
- --notes
- محتویات قطعات و/یا بخشهای NOTE را در صورت وجود نمایش میدهد.
- -r
- --relocs
- محتویات بخش بازنشانی (relocation) پرونده را در صورت وجود نمایش میدهد.
- -u
- --unwind
- محتویات بخش unwind پرونده را در صورت وجود نمایش میدهد. در حال حاضر فقط بخشهای unwind برای پروندههای IA64 ELF و همچنین جداول بازگشت ARM (".ARM.exidx" / ".ARM.extab") پشتیبانی میشوند. اگر پشتیبانی برای معماری شما هنوز پیادهسازی نشده است، میتوانید استخراج محتویات بخش .eh_frames را با استفاده از گزینههای --debug-dump=frames یا --debug-dump=frames-interp امتحان کنید.
- -d
- --dynamic
- محتویات بخش پویای پرونده را در صورت وجود نمایش میدهد.
- -V
- --version-info
- محتویات بخشهای نسخه را در صورت وجود در پرونده نمایش میدهد.
- -A
- --arch-specific
- اطلاعات مختص معماری را در صورت وجود در پرونده نمایش میدهد.
- -D
- --use-dynamic
- هنگام
نمایش
نمادها،
این گزینه
باعث
میشود که
readelf از جداول
درهمسازی
نماد در بخش
پویای
پرونده به
جای
بخشهای
جدول نماد
استفاده
کند.
هنگام نمایش بازنشانیها، این گزینه باعث میشود که readelf بازنشانیهای پویا را به جای بازنشانیهای ایستا نمایش دهد.
- -L
- --lint
- --enable-checks
- پیامهای هشدار پیرامون مشکلات احتمالی در پرونده(های) تحت بررسی را نمایش میدهد. اگر به تنهایی استفاده شود، تمام محتویات پرونده(ها) بررسی خواهد شد. اگر همراه با یکی از گزینههای استخراج و رونوشت استفاده شود، پیامهای هشدار فقط برای مواردی تولید میشوند که در حال نمایش هستند.
- -x <number or name>
- --hex-dump=<number or name>
- محتویات بخش مشخصشده را به صورت بایتهای شانزدهشانزدهی (hexadecimal) نمایش میدهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشته دیگری تمام بخشهای دارای آن نام را در فایل شیء مشخص میسازد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا رونوشت چندین بخش هگز درخواست شود.
- -R <number or name>
- --relocated-dump=<number or name>
- محتویات بخش مشخصشده را به صورت بایتهای شانزدهشانزدهی نمایش میدهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشته دیگری تمام بخشهای دارای آن نام را در فایل شیء مشخص میسازد. محتویات بخش پیش از نمایش بازنشانی خواهند شد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا رونوشت چندین بخش بازنشانیشده درخواست شود.
- -p <number or name>
- --string-dump=<number or name>
- محتویات بخش مشخصشده را به صورت رشتههای قابل چاپ نمایش میدهد. یک عدد، بخش خاصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشته دیگری تمام بخشهای دارای آن نام را در فایل شیء مشخص میسازد. این گزینه میتواند چندین بار در خط فرمان تکرار شود تا رونوشت چندین رشته درخواست شود.
- -j <number or name>
- --display-section
- محتویات
بخش
مشخصشده
را با توجه
به نوع
سرآیند بخش
آن نمایش
میدهد.
بخشهای
حاوی
بازنشانیها
(relocations) به
گونهای
نمایش داده
میشوند که
گویی از
گزینه --relocations
استفاده
شده است،
بخشهای
حاوی
نمادها
طوری نمایش
داده
میشوند که
گویی از
گزینه --syms
استفاده
شده است و
به همین
ترتیب.
یک عدد، بخش خاصی را بر اساس اندیس در جدول بخشها مشخص میکند؛ هر رشته دیگری تمام بخشهای دارای آن نام را در فایل(های) ورودی مشخص میسازد.
این گزینه میتواند چندین بار در خط فرمان تکرار شود تا رونوشت چندین بخش درخواست شود.
- -z
- --decompress
- درخواست میکند بخش(هایی) که توسط گزینههای x، R یا p استخراج میشوند، پیش از نمایش از حالت فشرده خارج شوند. اگر بخش(ها) فشرده نباشند، همانگونه که هستند نمایش داده میشوند.
- -c
- --archive-index
- اطلاعات اندیس نمادهای پرونده موجود در بخش سرآیند آرشیوهای باینری را نمایش میدهد. عملکردی مشابه دستور t در ar دارد، اما بدون استفاده از کتابخانه BFD.
- -w[lLiaprmfFsOoRtUuTgAckK]
- --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
- محتویات بخشهای اشکالزدایی DWARF را در صورت وجود در پرونده نمایش میدهد. بخشهای اشکالزدایی فشردهشده پیش از نمایش بهطور خودکار (به صورت موقت) از حالت فشرده خارج میشوند. اگر یک یا چند حرف یا کلمه اختیاری پس از این سوییچ بیاید، تنها آن نوع(ها) از دادهها استخراج و نمایش داده میشوند. این حروف و کلمات به اطلاعات زیر اشاره دارند:
- "a"
- "=abbrev"
- محتویات بخش .debug_abbrev را نمایش میدهد.
- "A"
- "=addr"
- محتویات بخش .debug_addr را نمایش میدهد.
- "c"
- "=cu_index"
- محتویات بخشهای .debug_cu_index و/یا .debug_tu_index را نمایش میدهد.
- "f"
- "=frames"
- محتویات خام یک بخش .debug_frame را نمایش میدهد.
- "F"
- "=frames-interp"
- محتویات تفسیرشده یک بخش .debug_frame را نمایش میدهد.
- "g"
- "=gdb_index"
- محتویات بخشهای .gdb_index و/یا .debug_names را نمایش میدهد.
- "i"
- "=info"
- محتویات بخش .debug_info را نمایش میدهد. نکته: خروجی این گزینه همچنین میتواند با استفاده از گزینههای --dwarf-depth و --dwarf-start محدود شود.
- "k"
- "=links"
- محتویات بخشهای .gnu_debuglink، .gnu_debugaltlink و .debug_sup را در صورت وجود هر یک از آنها نمایش میدهد. همچنین پیوندهای مربوط به فایلهای شیء مجزای dwarf (dwo) را در صورتی که توسط صفتهای DW_AT_GNU_dwo_name یا DW_AT_dwo_name در بخش .debug_info مشخص شده باشند، نمایش میدهد.
- "K"
- "=follow-links"
- محتویات هر
یک از
بخشهای
اشکالزدایی
انتخابشده
را که در
پرونده(های)
اطلاعات
اشکالزدایی
مجزا و
پیوندخورده
یافت
میشوند،
نمایش
میدهد. این
امر در
صورتی که یک
بخش
اشکالزدایی
در بیش از
یک پرونده
وجود داشته
باشد،
میتواند
منجر به
نمایش
چندین نسخه
از همان بخش
شود.
علاوه بر این، هنگام نمایش صفتهای DWARF، اگر فرمی یافت شود که به پرونده اطلاعات اشکالزدایی مجزا ارجاع میدهد، محتویات ارجاعدادهشده نیز نمایش داده خواهند شد.
نکته - در برخی توزیعها این گزینه بهطور پیشفرض فعال است. میتوان آن را با گزینه اشکالزدایی N غیرفعال کرد. حالت پیشفرض را میتوان هنگام پیکربندی binutils از طریق گزینههای --enable-follow-debug-links=yes یا --enable-follow-debug-links=no انتخاب کرد. اگر از این گزینهها استفاده نشود، پیشفرض فعال بودن دنبالکردن پیوندهای اشکالزدایی است.
نکته - اگر پشتیبانی از پروتکل debuginfod در زمان ساخت binutils فعال شده باشد، این گزینه همچنین تلاش برای برقراری ارتباط با هر یک از سرورهای debuginfod ذکرشده در متغیر محیطی DEBUGINFOD_URLS را در بر خواهد گرفت. تکمیل این فرایند ممکن است مدتی طول بکشد. این رفتار را میتوان از طریق گزینه اشکالزدایی =do-not-use-debuginfod غیرفعال کرد.
- "N"
- "=no-follow-links"
- دنبال کردن پیوندها به پروندههای مجزای اطلاعات اشکالزدایی را غیرفعال میکند.
- "D"
- "=use-debuginfod"
- برقراری ارتباط با سرورهای debuginfod را در صورت نیاز به دنبال کردن پیوندهای اشکالزدایی فعال میکند. این رفتار پیشفرض است.
- "E"
- "=do-not-use-debuginfod"
- برقراری ارتباط با سرورهای debuginfod را هنگام نیاز به دنبال کردن پیوندهای اشکالزدایی غیرفعال میکند.
- "l"
- "=rawline"
- محتویات بخش .debug_line را در قالبی خام نمایش میدهد.
- "L"
- "=decodedline"
- محتویات تفسیرشده بخش .debug_line را نمایش میدهد.
- "m"
- "=macro"
- محتویات بخشهای .debug_macro و/یا .debug_macinfo را نمایش میدهد.
- "o"
- "=loc"
- محتویات بخشهای .debug_loc و/یا .debug_loclists را نمایش میدهد.
- "O"
- "=str-offsets"
- محتویات بخش .debug_str_offsets را نمایش میدهد.
- "p"
- "=pubnames"
- محتویات بخشهای .debug_pubnames و/یا .debug_gnu_pubnames را نمایش میدهد.
- "r"
- "=aranges"
- محتویات بخش .debug_aranges را نمایش میدهد.
- "R"
- "=Ranges"
- محتویات بخشهای .debug_ranges و/یا .debug_rnglists را نمایش میدهد.
- "s"
- "=str"
- محتویات بخشهای .debug_str، .debug_line_str و/یا .debug_str_offsets را نمایش میدهد.
- "t"
- "=pubtype"
- محتویات بخشهای .debug_pubtypes و/یا .debug_gnu_pubtypes را نمایش میدهد.
- "T"
- "=trace_aranges"
- محتویات بخش .trace_aranges را نمایش میدهد.
- "u"
- "=trace_abbrev"
- محتویات بخش .trace_abbrev را نمایش میدهد.
- "U"
- "=trace_info"
- محتویات بخش .trace_info را نمایش میدهد.
نکته: نمایش محتویات بخشهای .debug_static_funcs، .debug_static_vars و debug_weaknames در حال حاضر پشتیبانی نمیشود.
- --dwarf-depth=n
- رونوشت بخش
".debug_info" را
به n فرزند
محدود
میکند. این
گزینه تنها
همراه با
--debug-dump=info کاربرد
دارد.
پیشفرض،
چاپ تمام
DIEها است؛
مقدار ویژه
0 برای n نیز
همین اثر را
خواهد داشت.
با تعیین مقداری غیر از صفر برای n، واحدهای DIE در سطح یا عمیقتر از n سطح چاپ نخواهند شد. محدوده برای n بر پایه صفر است.
- --dwarf-start=n
- تنها DIEهایی
را چاپ
میکند که
با DIE شماره n
آغاز
میشوند.
این گزینه
تنها همراه
با --debug-dump=info
کاربرد
دارد.
در صورت مشخص شدن، این گزینه از چاپ اطلاعات سرآیند و تمام DIEهای قبل از DIE شماره n جلوگیری میکند. تنها همسطحها (siblings) و فرزندان DIE مشخصشده چاپ خواهند شد.
این گزینه میتواند همراه با --dwarf-depth استفاده شود.
- --debug-dir=dir
- هنگام جستجوی پروندههای اطلاعات اشکالزدایی مجزا، پوشه dir را جستجو میکند.
- -P
- --process-links
- محتویات بخشهای غیر اشکالزدایی یافتشده در پروندههای اطلاعات اشکالزدایی مجزا که به پرونده اصلی پیوند دارند را نمایش میدهد. این گزینه بهطور خودکار مستلزم گزینه -wK است و تنها بخشهایی نمایش داده میشوند که توسط گزینههای دیگر خط فرمان درخواست شده باشند.
- --ctf[=section]
- محتویات
بخش CTF
مشخصشده
را نمایش
میدهد.
بخشهای CTF
خود شامل
زیربخشهای
متعددی
هستند که
همگی به
ترتیب
نمایش داده
میشوند.
بهطور پیشفرض، نام بخش با نام .ctf را که نام صادرشده توسط ld است، نمایش میدهد.
- --ctf-parent=member
- اگر بخش CTF شامل انواع به طور مبهم تعریفشده باشد، شامل آرشیوی از چندین فرهنگنامه CTF خواهد بود که همگی از یک فرهنگنامه حاوی انواع غیرمبهم ارثبری میکنند. این عضو بهطور پیشفرض مانند بخشی که شامل آن است .ctf نامیده میشود، اما میتوان این نام را با استفاده از تابع "ctf_link_set_memb_name_changer" در زمان پیوند تغییر داد. هنگام بررسی آرشیوهای CTF که توسط پیونددهندهای ایجاد شدهاند که از تغییردهنده نام برای تغییر نام عضو آرشیو والد استفاده میکند، میتوان از --ctf-parent برای مشخص کردن نام استفادهشده برای والد استفاده کرد.
- --ctf-parent-section=section
- این گزینه به شما امکان میدهد بخشی کاملاً متفاوت را برای فرهنگنامه والد CTF حاوی انواع بدون ابهام نسبت به فرهنگنامههای فرزند حاوی باقیمانده مبهم انتخاب کنید. پیونددهنده، اشیاء ELF با چنین ساختاری تولید نمیکند، اما برخی پیونددهندههای متفرقه ممکن است این کار را انجام دهند. همچنین بررسی CTF نوشتهشده به صورت چند پرونده خام جهت ترکیب آنها با objcopy راحت است، که میتواند آنها را در بخشهای مختلف ELF قرار دهد اما نه در اعضای مختلف یک فرهنگنامه واحد CTF.
- --ctf-symbols=section
- --ctf-strings=section
- نام بخش
دیگری را
مشخص
میکند که
پرونده CTF
میتواند
رشتهها و
نمادها را
از آن به
ارث ببرد.
بهطور
پیشفرض،
".symtab" و
جدول
رشتههای
متصل به آن
استفاده
میشوند.
اگر هر یک از گزینههای --ctf-symbols یا --ctf-strings مشخص شود، دیگری نیز باید الزاماً مشخص گردد.
- --got-contents
- محتویات بخشهای جدول آفست سراسری (GOT) پرونده را در صورت وجود نمایش میدهد. برای معماری MIPS، این گزینه مشابه --arch-specific است، اما تنها محتویات مرتبط با GOT را نمایش میدهد و هنگامی که --arch-specific استفاده شود، نادیده گرفته میشود.
- -I
- --histogram
- هنگام نمایش محتویات جدولهای نماد، یک هیستوگرام از طول فهرست باکتها نمایش میدهد.
- -v
- --version
- شماره نسخه readelf را نمایش میدهد.
- -W
- --wide
- خطوط خروجی را برای جا شدن در ۸۰ ستون نمیشکند. بهطور پیشفرض readelf خطوط فهرست سرآیند بخش و سگمنتها را برای پروندههای ELF ۶۴-بیتی میشکند تا در ۸۰ ستون جا شوند. این گزینه باعث میشود readelf هر سرآیند بخش یا هر سگمنت را در یک خط واحد چاپ کند، که در پایانههای پهنتر از ۸۰ ستون بسیار خواناتر است.
- -T
- --silent-truncation
- در حالت عادی هنگامی که readelf یک نام نماد را نمایش میدهد و برای جا دادن آن در نمایشگر ۸۰ ستونی مجبور به کوتاه کردن نام میشود، پسوند "[...]" را به انتهای نام اضافه میکند. این گزینه خط فرمان این رفتار را غیرفعال میکند و اجازه میدهد ۵ کاراکتر بیشتر از نام نمایش داده شود و رفتار قدیمی readelf (پیش از نسخه ۲.۳۵) را بازمیگرداند.
- -H
- --help
- گزینههای خط فرمان قابل فهم برای readelf را نمایش میدهد.
- @file
- گزینههای
خط فرمان را
از file
میخواند.
گزینههای
خواندهشده
به جای
گزینه اصلی
@file قرار
میگیرند.
اگر file وجود
نداشته
باشد یا
قابل
خواندن
نباشد، با
گزینه به
صورت لفظی
رفتار شده و
حذف نخواهد
شد.
گزینهها در file با فاصله خالی (whitespace) از یکدیگر جدا میشوند. یک کاراکتر فاصله خالی میتواند با قرار دادن کل گزینه در نقلقول تکی یا دوتایی درون یک گزینه گنجانده شود. هر کاراکتری (از جمله بکاسلش) را میتوان با پیشوند قرار دادن یک بکاسلش قبل از آن درج کرد. پرونده file خود میتواند شامل گزینههای @file دیگری باشد؛ هر یک از چنین گزینههایی بهطور بازگشتی پردازش خواهند شد.
همچنین ببینید (SEE ALSO)
objdump(1) و مدخلهای Info برای binutils.
کپیرایت (COPYRIGHT)
کپیرایت (c) ۱۹۹۱-۲۰۲۶ Free Software Foundation, Inc.
مجوز کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخه ۱.۳ یا هر نسخه بعدی منتشر شده توسط بنیاد نرمافزارهای آزاد اعطا میشود؛ بدون بخشهای تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد. نسخهای از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است.
| 2026-07-30 | binutils-2.47 |