.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX العنوان "OBJCOPY 1" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH OBJCOPY 1 "9 فبراير 2026" binutils\-2.46 "أدوات تطوير جنو" .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم objcopy \- نسخ ملفات الكائنات وترجمتها .SH موجز .IX الرأس موجز objcopy [\fB\-F\fP \fIاسم_bfd\fP|\fB\-\-target=\fP\fIاسم_bfd\fP] [\fB\-I\fP \fIاسم_bfd\fP|\fB\-\-input\-target=\fP\fIاسم_bfd\fP] [\fB\-O\fP \fIاسم_bfd\fP|\fB\-\-output\-target=\fP\fIاسم_bfd\fP] [\fB\-B\fP \fIمعمارية_bfd\fP|\fB\-\-binary\-architecture=\fP\fIمعمارية_bfd\fP] [\fB\-S\fP|\fB\-\-strip\-all\fP] [\fB\-g\fP|\fB\-\-strip\-debug\fP] [\fB\-\-strip\-unneeded\fP] [\fB\-K\fP \fIاسم_الرمز\fP|\fB\-\-keep\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-\-keep\-file\-symbols\fP] [\fB\-\-keep\-section\-symbols\fP] [\fB\-N\fP \fIاسم_الرمز\fP|\fB\-\-strip\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-\-strip\-unneeded\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-G\fP \fIاسم_الرمز\fP|\fB\-\-keep\-global\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-\-localize\-hidden\fP] [\fB\-L\fP \fIاسم_الرمز\fP|\fB\-\-localize\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-\-globalize\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-\-globalize\-symbols=\fP\fIاسم_الملف\fP] [\fB\-W\fP \fIاسم_الرمز\fP|\fB\-\-weaken\-symbol=\fP\fIاسم_الرمز\fP] [\fB\-w\fP|\fB\-\-wildcard\fP] [\fB\-x\fP|\fB\-\-discard\-all\fP] [\fB\-X\fP|\fB\-\-discard\-locals\fP] [\fB\-b\fP \fIبايت\fP|\fB\-\-byte=\fP\fIبايت\fP] [\fB\-i\fP [\fIاتساع\fP]|\fB\-\-interleave\fP[=\fIاتساع\fP]] [\fB\-\-interleave\-width=\fP\fIعرض\fP] [\fB\-j\fP \fIنمط_القسم\fP|\fB\-\-only\-section=\fP\fIنمط_القسم\fP] [\fB\-R\fP \fIنمط_القسم\fP|\fB\-\-remove\-section=\fP\fIنمط_القسم\fP] [\fB\-\-keep\-section=\fP\fIنمط_القسم\fP] [\fB\-\-remove\-relocations=\fP\fIنمط_القسم\fP] [\fB\-\-strip\-section\-headers\fP] [\fB\-p\fP|\fB\-\-preserve\-dates\fP] [\fB\-D\fP|\fB\-\-enable\-deterministic\-archives\fP] [\fB\-U\fP|\fB\-\-disable\-deterministic\-archives\fP] [\fB\-\-debugging\fP] [\fB\-\-gap\-fill=\fP\fIقيمة\fP] [\fB\-\-pad\-to=\fP\fIعنوان\fP] [\fB\-\-set\-start=\fP\fIقيمة\fP] [\fB\-\-adjust\-start=\fP\fIزيادة\fP] [\fB\-\-change\-addresses=\fP\fIزيادة\fP] [\fB\-\-change\-section\-address\fP \fIنمط_القسم\fP{=,+,\-}\fIقيمة\fP] [\fB\-\-change\-section\-lma\fP \fIنمط_القسم\fP{=,+,\-}\fIقيمة\fP] [\fB\-\-change\-section\-vma\fP \fIنمط_القسم\fP{=,+,\-}\fIقيمة\fP] [\fB\-\-change\-warnings\fP] [\fB\-\-no\-change\-warnings\fP] [\fB\-\-set\-section\-flags\fP \fIنمط_القسم\fP=\fIأعلام\fP] [\fB\-\-set\-section\-alignment\fP \fIنمط_القسم\fP=\fIمحاذاة\fP] [\fB\-\-add\-section\fP \fIاسم_القسم\fP=\fIاسم_الملف\fP] [\fB\-\-dump\-section\fP \fIاسم_القسم\fP=\fIاسم_الملف\fP] [\fB\-\-update\-section\fP \fIاسم_القسم\fP=\fIاسم_الملف\fP] [\fB\-\-rename\-section\fP \fIاسم_قديم\fP=\fIاسم_جديد\fP[,\fIأعلام\fP]] [\fB\-\-long\-section\-names\fP {enable,disable,keep}] [\fB\-\-change\-leading\-char\fP] [\fB\-\-remove\-leading\-char\fP] [\fB\-\-reverse\-bytes=\fP\fIعدد\fP] [\fB\-\-srec\-len=\fP\fIقيمة_صحيحة\fP] [\fB\-\-srec\-forceS3\fP] [\fB\-\-redefine\-sym\fP \fIقديم\fP=\fIجديد\fP] [\fB\-\-redefine\-syms=\fP\fIاسم_الملف\fP] [\fB\-\-weaken\fP] [\fB\-\-keep\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-strip\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-strip\-unneeded\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-keep\-global\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-localize\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-weaken\-symbols=\fP\fIاسم_الملف\fP] [\fB\-\-binary\-symbol\-prefix\fP\fIسلسلة\fP] [\fB\-\-add\-symbol\fP \fIاسم\fP=[\fIقسم\fP:]\fIقيمة\fP[,\fIأعلام\fP]] [\fB\-\-alt\-machine\-code=\fP\fIفهرس\fP] [\fB\-\-prefix\-symbols=\fP\fIسلسلة\fP] [\fB\-\-prefix\-sections=\fP\fIسلسلة\fP] [\fB\-\-prefix\-alloc\-sections=\fP\fIسلسلة\fP] [\fB\-\-add\-gnu\-debuglink=\fP\fIمسار_إلى_ملف\fP] [\fB\-\-only\-keep\-debug\fP] [\fB\-\-strip\-dwo\fP] [\fB\-\-extract\-dwo\fP] [\fB\-\-extract\-symbol\fP] [\fB\-\-writable\-text\fP] [\fB\-\-readonly\-text\fP] [\fB\-\-pure\fP] [\fB\-\-impure\fP] [\fB\-\-file\-alignment=\fP\fIعدد\fP] [\fB\-\-heap=\fP\fIمحجوز\fP[,\fIمُنفذ\fP]] [\fB\-\-image\-base=\fP\fIعنوان\fP] [\fB\-\-section\-alignment=\fP\fIعدد\fP] [\fB\-\-stack=\fP\fIمحجوز\fP[,\fIمُنفذ\fP]] [\fB\-\-subsystem=\fP\fIأي\fP:\fIرئيس\fP.\fIفرعي\fP] [\fB\-\-compress\-debug\-sections\fP] [\fB\-\-decompress\-debug\-sections\fP] [\fB\-\-elf\-stt\-common=\fP\fIقيمة\fP] [\fB\-\-merge\-notes\fP] [\fB\-\-no\-merge\-notes\fP] [\fB\-\-verilog\-data\-width=\fP\fIقيمة\fP] [\fB\-v\fP|\fB\-\-verbose\fP] [\fB\-V\fP|\fB\-\-version\fP] [\fB\-\-help\fP] [\fB\-\-info\fP] \fIملف_المدخل\fP [\fIملف_المخرج\fP] .SH الوصف .IX الرأس الوصف تنسخ أداة GNU \fBobjcopy\fP محتويات ملف كائن إلى آخر. تستخدم \fBobjcopy\fP مكتبة GNU BFD لقراءة ملفات الكائنات وكتابتها. يمكنها كتابة ملف الكائن الوجهة بتنسيق يختلف عن تنسيق ملف الكائن المصدر. يُتحكم في السلوك الدقيق لـ \fBobjcopy\fP عبر خيارات سطر الأوامر. لاحظ أن \fBobjcopy\fP يجب أن تكون قادرة على نسخ ملف مرتبط بالكامل بين أي تنسيقين. ومع ذلك، قد لا يعمل نسخ ملف كائن قابل لإعادة التوطين بين أي تنسيقين كما هو متوقع. .PP \&تنشئ \fBobjcopy\fP ملفات مؤقتة لإجراء ترجماتها وتحذفها بعد ذلك. تستخدم \fBobjcopy\fP مكتبة BFD للقيام بكل أعمال الترجمة؛ ولديها وصول إلى جميع التنسيقات الموصوفة في BFD وبالتالي فهي قادرة على التعرف على معظم التنسيقات دون إخبارها صراحة. .PP \&يمكن استخدام \fBobjcopy\fP لتوليد سجلات\-S باستخدام هدف مخرج \fBsrec\fP (على سبيل المثال، استخدم \fB\-O srec\fP). .PP \&يمكن استخدام \fBobjcopy\fP لتوليد ملف ثنائي خام باستخدام هدف مخرج \fBbinary\fP (على سبيل المثال، استخدم \fB\-O binary\fP). عندما \&تولد \fBobjcopy\fP ملفاً ثنائياً خاماً، فإنها ستنتج جوهرياً تفريغاً للذاكرة لمحتويات ملف كائن المدخل. ستُطرح جميع الرموز ومعلومات إعادة التوطين. سيبدأ تفريغ الذاكرة عند عنوان التحميل لأدنى قسم نُسخ إلى ملف المخرج. .PP عند توليد سجل\-S أو ملف ثنائي خام، قد يكون من المفيد استخدام \fB\-S\fP لإزالة الأقسام التي تحتوي على معلومات تنقيح. في بعض الحالات، سيكون \fB\-R\fP مفيداً لإزالة الأقسام التي تحتوي على معلومات لا يحتاجها الملف الثنائي. .PP ملاحظة\-\-\-لا تستطيع \fBobjcopy\fP تغيير ترتيب البايتات (endianness) لملفات مدخلاتها. إذا كان لتنسيق المدخل ترتيب بايتات (بعض التنسيقات ليس لها)، \&فإن \fBobjcopy\fP يمكنها فقط نسخ المدخلات إلى تنسيقات ملفات لها نفس ترتيب البايتات أو التي ليس لها ترتيب بايتات (مثل \fBsrec\fP). (ومع ذلك، انظر خيار \fB\-\-reverse\-bytes\fP.) .SH الخيارات .IX الرأس الخيارات .IP \fIملف_المدخل\fP 4 .IX عنصر ملف_المدخل .PD 0 .IP \fIملف_المخرج\fP 4 .IX عنصر ملف_المخرج .PD ملفا المدخل والمخرج، على التوالي. إذا لم تحدد \fIملف_المخرج\fP، فستنشئ \fBobjcopy\fP ملفاً مؤقتاً وتغير اسم النتيجة بشكل تخريبي إلى اسم \fIملف_المدخل\fP. .IP "\fB\-I\fP \fIاسم_bfd\fP" 4 .IX عنصر "\-I bfdname" .PD 0 .IP \fB\-\-input\-target=\fP\fIbfdname\fP 4 .IX عنصر \-\-input\-target=bfdname .PD اعتبر تنسيق كائن ملف المصدر هو \fIاسم_bfd\fP، بدلاً من محاولة استنتاجه. .IP "\fB\-O\fP \fIاسم_bfd\fP" 4 .IX عنصر "\-O bfdname" .PD 0 .IP \fB\-\-output\-target=\fP\fIاسم_bfd\fP 4 .IX عنصر \-\-output\-target=bfdname .PD اكتب ملف المخرج باستخدام تنسيق الكائن \fIاسم_bfd\fP. .IP "\fB\-F\fP \fIاسم_bfd\fP" 4 .IX عنصر "\-F bfdname" .PD 0 .IP \fB\-\-target=\fP\fIاسم_bfd\fP 4 .IX عنصر \-\-target=اسم_bfd .PD استخدم \fIاسم_bfd\fP كتنسيق كائن لكل من ملفي المدخل والمخرج؛ أي انقل البيانات ببساطة من المصدر إلى الوجهة دون ترجمة. .IP "\fB\-B\fP \fIمعمارية_bfd\fP" 4 .IX عنصر "\-B معمارية_bfd" .PD 0 .IP \fB\-\-binary\-architecture=\fP\fIمعمارية_bfd\fP 4 .IX عنصر \-\-binary\-architecture=معمارية_bfd .PD مفيد عند تحويل ملف مدخل عديم المعمارية إلى ملف كائن. في هذه الحالة يمكن ضبط معمارية المخرج إلى \fIمعمارية_bfd\fP. سيُتجاهل هذا الخيار إذا كان لملف المدخل \fIمعمارية_bfd\fP معروفة. يمكنك الوصول إلى هذه البيانات الثنائية داخل برنامج ما بالإشارة إلى الرموز الخاصة التي أُنشئت بواسطة عملية التحويل. تُسمى هذه الرموز _binary_\fIobjfile\fP_start و _binary_\fIobjfile\fP_end و _binary_\fIobjfile\fP_size. على سبيل المثال، يمكنك تحويل ملف صورة إلى ملف كائن ثم الوصول إليه في كودك البرمجي باستخدام هذه الرموز. .IP "\fB\-j\fP \fIنمط_القسم\fP" 4 .IX عنصر "\-j نمط_القسم" .PD 0 .IP \fB\-\-only\-section=\fP\fIنمط_القسم\fP 4 .IX عنصر \-\-only\-section=نمط_القسم .PD انسخ فقط الأقسام المشار إليها من ملف المدخل إلى ملف المخرج. يمكن إعطاء هذا الخيار أكثر من مرة. لاحظ أن استخدام هذا الخيار بشكل غير مناسب قد يجعل ملف المخرج غير قابل للاستخدام. محارف البدل مقبولة في \fIنمط_القسم\fP. .Sp إذا كان المحرف الأول من \fIنمط_القسم\fP هو علامة التعجب (!)، فلن تُنسخ الأقسام المتطابقة، حتى لو كان استخدام سابق لـ \fB\-\-only\-section\fP في نفس سطر الأوامر سيؤدي بخلاف ذلك إلى نسخها. على سبيل المثال: .Sp .Vb 1 \& \-\-only\-section=.text.* \-\-only\-section=!.text.foo .Ve .Sp سيُنسخ جميع الأقسام التي تطابق \*(Aq.text.*\*(Aq ولكن ليس القسم \&\*(Aq.text.foo\*(Aq. .IP "\fB\-R\fP \fIنمط_القسم\fP" 4 .IX عنصر "\-R نمط_القسم" .PD 0 .IP \fB\-\-remove\-section=\fP\fIنمط_القسم\fP 4 .IX عنصر \-\-remove\-section=نمط_القسم .PD أزل أي قسم يطابق \fIنمط_القسم\fP من ملف المخرج. يمكن إعطاء هذا الخيار أكثر من مرة. لاحظ أن استخدام هذا الخيار بشكل غير مناسب قد يجعل ملف المخرج غير قابل للاستخدام. محارف البدل مقبولة في \fIنمط_القسم\fP. يؤدي استخدام كل من الخيارين \&\fB\-j\fP و \fB\-R\fP معاً إلى سلوك غير محدد. .Sp إذا كان المحرف الأول من \fIsectionpattern\fP هو علامة التعجب (!)، فلن تتم إزالة الأقسام المتطابقة حتى لو كان استخدام سابق لـ \fB\-\-remove\-section\fP في نفس سطر الأوامر سيؤدي إلى إزالتها. على سبيل المثال: .Sp .Vb 1 \& \-\-remove\-section=.text.* \-\-remove\-section=!.text.foo .Ve .Sp سيزيل جميع الأقسام التي تطابق النمط \*(Aq.text.*\*(Aq، لكنه لن يزيل القسم \*(Aq.text.foo\*(Aq. .IP \fB\-\-keep\-section=\fP\fIsectionpattern\fP 4 .IX عنصر \-\-keep\-section=نمط_القسم عند إزالة الأقسام من ملف المخرج، احتفظ بالأقسام التي تطابق \&\fIsectionpattern\fP. .IP \fB\-\-remove\-relocations=\fP\fIنمط_القسم\fP 4 .IX عنصر \-\-remove\-relocations=نمط_القسم أزل عمليات إعادة التوطين غير الديناميكية من ملف المخرج لأي قسم يطابق \fIنمط_القسم\fP. يمكن إعطاء هذا الخيار أكثر من مرة. لاحظ أن استخدام هذا الخيار بشكل غير مناسب قد يجعل ملف المخرج غير قابل للاستخدام، ومحاولة إزالة قسم إعادة توطين ديناميكي مثل \fB.rela.plt\fP من ملف تنفيذي أو مكتبة مشتركة باستخدام \&\fB\-\-remove\-relocations=.plt\fP لن تنجح. محارف البدل مقبولة في \fIنمط_القسم\fP. على سبيل المثال: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* .Ve .Sp سيزيل عمليات إعادة التوطين لجميع الأقسام التي تطابق النمط \&\*(Aq.text.*\*(Aq. .Sp إذا كان المحرف الأول من \fIsectionpattern\fP هو علامة التعجب (!)، فلن يتم إزالة إعادة التوطين (relocation) للأقسام المتطابقة حتى لو كان استخدام سابق لـ \fB\-\-remove\-relocations\fP في نفس سطر الأوامر سيؤدي إلى إزالة عمليات إعادة التوطين. على سبيل المثال: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* \-\-remove\-relocations=!.text.foo .Ve .Sp سيزيل جميع عمليات إعادة التوطين للأقسام التي تطابق النمط \&\*(Aq.text.*\*(Aq، لكنه لن يزيل عمليات إعادة التوطين للقسم \&\*(Aq.text.foo\*(Aq. .IP \fB\-\-strip\-section\-headers\fP 4 .IX عنصر \-\-strip\-section\-headers جرد رأس القسم؛ هذا الخيار خاص بملفات ELF. ويتضمن \fB\-\-strip\-all\fP و \fB\-\-merge\-notes\fP. .IP \fB\-S\fP 4 .IX عنصر \-S .PD 0 .IP \fB\-\-strip\-all\fP 4 .IX عنصر \-\-strip\-all .PD لا تنسخ معلومات إعادة التوطين والرموز من ملف المصدر. كما يحذف أقسام تنقيح الأخطاء. .IP \fB\-g\fP 4 .IX عنصر \-g .PD 0 .IP \fB\-\-strip\-debug\fP 4 .IX عنصر \-\-strip\-debug .PD لا تنسخ رموز أو أقسام تنقيح الأخطاء من ملف المصدر. .IP \fB\-\-strip\-unneeded\fP 4 .IX عنصر \-\-strip\-unneeded إزالة جميع الرموز التي لا حاجة إليها لمعالجة إعادة التوطين بالإضافة إلى رموز تنقيح الأخطاء والمقاطع المزالَة بواسطة \&\fB\-\-strip\-debug\fP. .IP "\fB\-K\fP \fIاسم_الرمز\fP" 4 .IX عنصر "\-K symbolname" .PD 0 .IP \fB\-\-keep\-symbol=\fP\fIsymbolname\fP 4 .IX عنصر \-\-keep\-symbol=اسم_الرمز .PD عند تجريد الرموز، احتفظ بالرمز \fIsymbolname\fP حتى لو كان سيُجرد في الحالة العادية. يمكن إعطاء هذا الخيار أكثر من مرة. .IP "\fB\-N\fP \fIاسم_الرمز\fP" 4 .IX عنصر "\-N symbolname" .PD 0 .IP \fB\-\-strip\-symbol=\fP\fIاسم_الرمز\fP 4 .IX عنصر \-\-strip\-symbol=اسم_الرمز .PD لا تنسخ الرمز \fIاسم_الرمز\fP من ملف المصدر. يمكن إعطاء هذا الخيار أكثر من مرة. .IP \fB\-\-strip\-unneeded\-symbol=\fP\fIاسم_الرمز\fP 4 .IX عنصر \-\-strip\-unneeded\-symbol=symbolname لا تنسخ الرمز \fIsymbolname\fP من ملف المصدر إلا إذا كان مطلوبًا لعملية إعادة توطين (relocation). يمكن تكرار هذا الخيار أكثر من مرة. .IP "\fB\-G\fP \fIsymbolname\fP" 4 .IX عنصر "\-G symbolname" .PD 0 .IP \fB\-\-keep\-global\-symbol=\fP\fIsymbolname\fP 4 .IX عنصر \-\-keep\-global\-symbol=symbolname .PD أبقِ الرمز \fIsymbolname\fP وحده عالميًا. اجعل جميع الرموز الأخرى محلية في الملف، بحيث لا تظهر خارجيًا. يمكن تكرار هذا الخيار أكثر من مرة. ملاحظة: لا يمكن استخدام هذا الخيار مع خياري \fB\-\-globalize\-symbol\fP أو \&\fB\-\-globalize\-symbols\fP. .IP \fB\-\-localize\-hidden\fP 4 .IX عنصر \-\-localize\-hidden في كائن ELF، علم جميع الرموز التي لها رؤية مخفية أو داخلية على أنها محلية. يُطبق هذا الخيار فوق خيارات التحويل إلى محلي الخاصة برموز معينة مثل \fB\-L\fP. .IP "\fB\-L\fP \fIsymbolname\fP" 4 .IX عنصر "\-L symbolname" .PD 0 .IP \fB\-\-localize\-symbol=\fP\fIsymbolname\fP 4 .IX عنصر \-\-localize\-symbol=symbolname .PD حوّل رمزًا عالميًا أو ضعيفًا يسمى \fIsymbolname\fP إلى رمز محلي، بحيث لا يظهر خارجيًا. يمكن تكرار هذا الخيار أكثر من مرة. ملاحظة \- لا تُحوّل الرموز الفريدة. .IP "\fB\-W\fP \fIsymbolname\fP" 4 .IX عنصر "\-W symbolname" .PD 0 .IP \fB\-\-weaken\-symbol=\fP\fIsymbolname\fP 4 .IX عنصر \-\-weaken\-symbol=symbolname .PD اجعل الرمز \fIsymbolname\fP ضعيفًا. يمكن تكرار هذا الخيار أكثر من مرة. .IP \fB\-\-binary\-symbol\-prefix=\fP\fIstring\fP 4 .IX عنصر \-\-binary\-symbol\-prefix=string عند استخدامه مع \fB\-\-input\-target=binary\fP، يضبط \fIstring\fP ليكون الاسم الأساسي للرموز المولدة لملف المدخلات. هذه الرموز هي: .Sp .Vb 3 \& _start \& _end \& _size .Ve .Sp يشتق معالج المدخلات الثنائية مبدئيًا اسم بادئة الرمز من نسخة مشوهة (mangled) لاسم ملف المدخلات والبادئة _binary. يتيح هذا الخيار تحديدها صراحة. .IP \fB\-\-globalize\-symbol=\fP\fIsymbolname\fP 4 .IX عنصر \-\-globalize\-symbol=symbolname امنح الرمز \fIsymbolname\fP نطاقًا عالميًا بحيث يظهر خارج الملف الذي عُرّف فيه. يمكن تكرار هذا الخيار أكثر من مرة. ملاحظة: لا يمكن استخدام هذا الخيار بالتزامن مع خيارات \fB\-G\fP أو \fB\-\-keep\-global\-symbol\fP. .IP \fB\-w\fP 4 .IX عنصر \-w .PD 0 .IP \fB\-\-wildcard\fP 4 .IX عنصر \-\-wildcard .PD اسمح بالتعبيرات النمطية في \fIsymbolname\fPs المستخدمة في خيارات سطر الأوامر الأخرى. يمكن استخدام معاملات علامة الاستفهام (?)، والنجمة (*)، والشرطة المائلة العكسية (\e)، والأقواس المربعة ([]) في أي مكان في اسم الرمز. إذا كان المحرف الأول من اسم الرمز هو علامة التعجب (!)، فإن معنى التبديل يُعكس لهذا الرمز. على سبيل المثال: .Sp .Vb 1 \& \-w \-W !foo \-W fo* .Ve .Sp سيؤدي ذلك إلى قيام objcopy بإضعاف جميع الرموز التي تبدأ بـ "fo" باستثناء الرمز "foo". .IP \fB\-x\fP 4 .IX عنصر \-x .PD 0 .IP \fB\-\-discard\-all\fP 4 .IX عنصر \-\-discard\-all .PD لا تنسخ الرموز غير العالمية من ملف المصدر. .IP \fB\-X\fP 4 .IX عنصر \-X .PD 0 .IP \fB\-\-discard\-locals\fP 4 .IX عنصر \-\-discard\-locals .PD لا تنسخ الرموز المحلية التي ولدها المجمّع. (تبدأ هذه عادةً بـ \fBL\fP أو \fB.\fP.) .IP "\fB\-b\fP \fIbyte\fP" 4 .IX عنصر "\-b byte" .PD 0 .IP \fB\-\-byte=\fP\fIbyte\fP 4 .IX عنصر \-\-byte=byte .PD إذا فعل التداخل عبر خيار \fB\-\-interleave\fP، فابدأ نطاق البايتات المراد إبقاؤها عند البايت رقم \fIbyte\fP. يمكن أن يكون \fIbyte\fP في النطاق من 0 إلى \fIbreadth\fP\-1، حيث \fIbreadth\fP هي القيمة المعطاة عبر خيار \fB\-\-interleave\fP. .IP "\fB\-i [\fP\fIbreadth\fP\fB]\fP" 4 .IX عنصر "\-i [breadth]" .PD 0 .IP \fB\-\-interleave[=\fP\fIbreadth\fP\fB]\fP 4 .IX عنصر \-\-interleave[=breadth] .PD انسخ فقط نطاقًا من كل \fIbreadth\fP بايت. (لا تتأثر بيانات الترويسة). اختر أي بايت في النطاق يبدأ النسخ باستخدام خيار \fB\-\-byte\fP. اختر عرض النطاق باستخدام خيار \&\fB\-\-interleave\-width\fP. .Sp هذا الخيار مفيد لإنشاء ملفات لبرمجة ROM. يُستخدم عادةً مع هدف مخرجات \f(CW\*(C`srec\*(C'\fP. لاحظ أن \&\fBobjcopy\fP سيصدر تنبيهًا إذا لم تحدد خيار \&\fB\-\-byte\fP أيضًا. .Sp عرض التداخل المبدئي هو 4، لذا عند ضبط \fB\-\-byte\fP على 0، سيقوم \&\fBobjcopy\fP بنسخ البايت الأول من كل أربعة بايتات من المدخلات إلى المخرجات. .IP \fB\-\-interleave\-width=\fP\fIwidth\fP 4 .IX عنصر \-\-interleave\-width=width عند استخدامه مع خيار \fB\-\-interleave\fP، انسخ \fIwidth\fP بايت في المرة الواحدة. تُحدد بداية نطاق البايتات المراد نسخها بواسطة خيار \fB\-\-byte\fP، ويُحدد مدى النطاق باستخدام خيار \fB\-\-interleave\fP. .Sp القيمة المبدئية لهذا الخيار هي 1. يجب ألا تتجاوز قيمة \fIwidth\fP زائد قيمة \fIbyte\fP المحددة بخيار \fB\-\-byte\fP عرض التداخل المحدد بخيار \fB\-\-interleave\fP. .Sp يمكن استخدام هذا الخيار لإنشاء صور لوميضتين (flashes) بسعة 16 بت متداخلتين في ناقل 32 بت عن طريق تمرير \fB\-b 0 \-i 4 \-\-interleave\-width=2\fP و \fB\-b 2 \-i 4 \-\-interleave\-width=2\fP إلى أمري \fBobjcopy\fP. إذا كانت المدخلات \*(Aq12345678\*(Aq فستكون المخرجات \*(Aq1256\*(Aq و \*(Aq3478\*(Aq على التوالي. .IP \fB\-p\fP 4 .IX عنصر \-p .PD 0 .IP \fB\-\-preserve\-dates\fP 4 .IX عنصر \-\-preserve\-dates .PD اضبط تاريخي الوصول والتعديل لملف المخرجات ليكونا نفس تاريخي ملف المدخلات. .Sp ينسخ هذا الخيار أيضًا التاريخ المخزن في ترويسة ملف بتنسيق PE، ما لم يكن متغير البيئة SOURCE_DATE_EPOCH معرفًا. إذا كان معرفًا، فسيُستخدم هذا المتغير كالتاريخ المخزن في الترويسة، ويُفسر على أنه عدد الثواني منذ حقبة يونكس. .IP \fB\-D\fP 4 .IX عنصر \-D .PD 0 .IP \fB\-\-enable\-deterministic\-archives\fP 4 .IX عنصر \-\-enable\-deterministic\-archives .PD العمل في الوضع \fIالمحدد\fP (deterministic). عند نسخ أعضاء الأرشيف وكتابة فهرس الأرشيف، استخدم صفرًا لـ UIDs و GIDs والطوابع الزمنية، واستخدم أوضاع ملفات متسقة لجميع الملفات. .Sp إذا ضُبطت \fIbinutils\fP مع خيار \&\fB\-\-enable\-deterministic\-archives\fP، فإن هذا الوضع يكون مفعلا مبدئيا. يمكن تعطيله بخيار \fB\-U\fP أدناه. .IP \fB\-U\fP 4 .IX عنصر \-U .PD 0 .IP \fB\-\-disable\-deterministic\-archives\fP 4 .IX عنصر \-\-disable\-deterministic\-archives .PD \fIلا\fP يعمل في الوضع \fIالمحدد\fP. هذا هو عكس الخيار \fB\-D\fP أعلاه: عند نسخ أعضاء الأرشيف وكتابة فهرس الأرشيف، تُستخدم قيم UID وGID والطابع الزمني ووضع الملف الفعلية. .Sp هذا هو المبدئي ما لم يتم ضبط \fIbinutils\fP بـ \&\fB\-\-enable\-deterministic\-archives\fP. .IP \fB\-\-debugging\fP 4 .IX عنصر \-\-debugging حوّل معلومات التنقيح، إن أمكن. ليس هذا هو المبدئي لأن تنسيقات تنقيح معينة فقط هي المدعومة، وعملية التحويل قد تستغرق وقتًا طويلاً. .IP "\fB\-\-gap\-fill\fP \fIval\fP" 4 .IX عنصر "\-\-gap\-fill val" املأ الفجوات بين الأقسام بالقيمة \fIval\fP. تنطبق هذه العملية على \fIعنوان التحميل\fP (LMA) للأقسام. يُنفذ ذلك عن طريق زيادة حجم القسم ذي العنوان الأدنى، وملء المساحة الإضافية الناتجة بالقيمة \fIval\fP. .IP "\fB\-\-pad\-to\fP \fIaddress\fP" 4 .IX عنصر "\-\-pad\-to address" حشّ ملف المخرجات حتى عنوان التحميل \fIaddress\fP. يُنفذ ذلك عن طريق زيادة حجم القسم الأخير. تُملأ المساحة الإضافية بالقيمة المحددة بواسطة \fB\-\-gap\-fill\fP (المبدئي هو صفر). .IP "\fB\-\-set\-start\fP \fIval\fP" 4 .IX عنصر "\-\-set\-start val" اضبط عنوان البدء (يُعرف أيضًا باسم عنوان الإدخال) للملف الجديد على \fIval\fP. لا تدعم جميع تنسيقات ملفات الكائنات ضبط عنوان البدء. .IP "\fB\-\-change\-start\fP \fIincr\fP" 4 .IX عنصر "\-\-change\-start incr" .PD 0 .IP "\fB\-\-adjust\-start\fP \fIincr\fP" 4 .IX عنصر "\-\-adjust\-start incr" .PD غيّر عنوان البدء (يُعرف أيضًا باسم عنوان الإدخال) بإضافة \fIincr\fP. لا تدعم جميع تنسيقات ملفات الكائنات ضبط عنوان البدء. .IP "\fB\-\-change\-addresses\fP \fIincr\fP" 4 .IX عنصر "\-\-change\-addresses incr" .PD 0 .IP "\fB\-\-adjust\-vma\fP \fIincr\fP" 4 .IX عنصر "\-\-adjust\-vma incr" .PD يُغيّر عناوين VMA و LMA لجميع الأقسام، بالإضافة إلى عنوان البدء، عبر إضافة \fIincr\fP. لا تسمح بعض تنسيقات ملفات الكائنات بتغيير عناوين الأقسام عشوائيًا. لاحظ أن هذا لا يعيد توطين الأقسام؛ فإذا كان البرنامج يتوقع تحميل الأقسام في عنوان معين، واستُخدم هذا الخيار لتغيير الأقسام بحيث تُحمّل في عنوان مختلف، فقد يفشل البرنامج. .IP "\fB\-\-change\-section\-address\fP \fIsectionpattern\fP\fB{=,+,\-}\fP\fIval\fP" 4 .IX عنصر "\-\-change\-section\-address sectionpattern{=,+,\-}val" .PD 0 .IP "\fB\-\-adjust\-section\-vma\fP \fIsectionpattern\fP\fB{=,+,\-}\fP\fIval\fP" 4 .IX عنصر "\-\-adjust\-section\-vma sectionpattern{=,+,\-}val" .PD يضبط أو يُغيّر كلاً من عنوان VMA وعنوان LMA لأي قسم يطابق \fIsectionpattern\fP. إذا استُخدمت علامة \fB=\fP، يُضبط عنوان القسم على \fIval\fP. خلاف ذلك، تُضاف \fIval\fP إلى عنوان القسم أو تُطرح منه. راجع الملاحظات الواردة تحت \&\fB\-\-change\-addresses\fP أعلاه. إذا لم يطابق \fIsectionpattern\fP أي أقسام في ملف المدخلات، فسيُصدر تحذير، ما لم يُستخدم الخيار \&\fB\-\-no\-change\-warnings\fP. .IP "\fB\-\-change\-section\-lma\fP \fIsectionpattern\fP\fB{=,+,\-}\fP\fIval\fP" 4 .IX عنصر "\-\-change\-section\-lma sectionpattern{=,+,\-}val" يضبط أو يُغيّر عنوان LMA لأي أقسام تطابق \&\fIsectionpattern\fP. عنوان LMA هو العنوان الذي سيُحمّل القسم فيه داخل الذاكرة وقت تحميل البرنامج. عادةً ما يكون هو نفسه عنوان VMA، وهو عنوان القسم وقت تشغيل البرنامج، ولكن في بعض الأنظمة، خاصة تلك التي يُحفظ فيها البرنامج في ROM، يمكن أن يختلف الاثنان. إذا استُخدمت علامة \fB=\fP، يُضبط عنوان القسم على \fIval\fP. خلاف ذلك، تُضاف \&\fIval\fP إلى عنوان القسم أو تُطرح منه. راجع الملاحظات الواردة تحت \fB\-\-change\-addresses\fP أعلاه. إذا لم يطابق \&\fIsectionpattern\fP أي أقسام في ملف المدخلات، فسيُصدر تحذير، ما لم يُستخدم \fB\-\-no\-change\-warnings\fP. .IP "\fB\-\-change\-section\-vma\fP \fIsectionpattern\fP\fB{=,+,\-}\fP\fIval\fP" 4 .IX عنصر "\-\-change\-section\-vma sectionpattern{=,+,\-}val" يضبط أو يُغيّر عنوان VMA لأي قسم يطابق \&\fIsectionpattern\fP. عنوان VMA هو العنوان الذي سيقع فيه القسم بمجرد بدء تنفيذ البرنامج. عادةً ما يكون هو نفسه عنوان LMA، وهو العنوان الذي سيُحمّل القسم فيه داخل الذاكرة، ولكن في بعض الأنظمة، خاصة تلك التي يُحفظ فيها البرنامج في ROM، يمكن أن يختلف الاثنان. إذا استُخدمت علامة \fB=\fP، يُضبط عنوان القسم على \&\fIval\fP. خلاف ذلك، تُضاف \fIval\fP إلى عنوان القسم أو تُطرح منه. راجع الملاحظات الواردة تحت \fB\-\-change\-addresses\fP أعلاه. إذا لم يطابق \fIsectionpattern\fP أي أقسام في ملف المدخلات، فسيُصدر تحذير، ما لم يُستخدم \&\fB\-\-no\-change\-warnings\fP. .Sp ملاحظة \- قد يكون تغيير VMA للأقسام في ملف ثنائي مرتبِط كليًا أمرًا خطيرًا، حيث قد توجد شيفرات تتوقع وجود الأقسام في عناوينها القديمة. .IP \fB\-\-change\-warnings\fP 4 .IX عنصر \-\-change\-warnings .PD 0 .IP \fB\-\-adjust\-warnings\fP 4 .IX عنصر \-\-adjust\-warnings .PD إذا استُخدم \fB\-\-change\-section\-address\fP أو \fB\-\-change\-section\-lma\fP أو \&\fB\-\-change\-section\-vma\fP، ولم يطابق نمط القسم أي أقسام، فيُصدر تحذير. وهذا هو السلوك المبدئي. .IP \fB\-\-no\-change\-warnings\fP 4 .IX عنصر \-\-no\-change\-warnings .PD 0 .IP \fB\-\-no\-adjust\-warnings\fP 4 .IX عنصر \-\-no\-adjust\-warnings .PD لا يُصدر تحذيرًا إذا استُخدم \fB\-\-change\-section\-address\fP أو \&\fB\-\-adjust\-section\-lma\fP أو \fB\-\-adjust\-section\-vma\fP، حتى لو لم يطابق نمط القسم أي أقسام. .IP "\fB\-\-set\-section\-flags\fP \fIsectionpattern\fP\fB=\fP\fIflags\fP" 4 .IX عنصر "\-\-set\-section\-flags sectionpattern=flags" يضبط الأعلام لأي أقسام تطابق \fIsectionpattern\fP. المعطى \&\fIflags\fP هو سلسلة نصية من أسماء الأعلام مفصولة بفاصلة. الأسماء المعروفة هي \fBalloc\fP، و \fBcontents\fP، و \fBload\fP، و \&\fBnoload\fP، و \fBreadonly\fP، و \fBcode\fP، و \fBdata\fP، و \fBrom\fP، و \&\fBexclude\fP، و \fBshare\fP، و \fBdebug\fP، و \fBlarge\fP. يمكنك ضبط العلم \fBcontents\fP لقسم ليس له محتويات، ولكن ليس من المنطقي مسح علم \fBcontents\fP لقسم له محتويات \-\- فبدلاً من ذلك ما عليك سوى إزالة القسم. ليست كل الأعلام ذات معنى لجميع تنسيقات ملفات الكائنات. وبشكل خاص، علم \&\fBshare\fP ليس له معنى إلا لملفات بتنسيق COFF وليس لملفات بتنسيق ELF. يقابل علم \fBlarge\fP الخاص بـ ELF x86\-64 القيمة SHF_X86_64_LARGE. .IP "\fB\-\-set\-section\-alignment\fP \fIsectionpattern\fP\fB=\fP\fIalign\fP" 4 .IX عنصر "\-\-set\-section\-alignment sectionpattern=align" يضبط المحاذاة لأي أقسام تطابق \fIsectionpattern\fP. يحدد \&\fIalign\fP المحاذاة بالبايت ويجب أن يكون من قوى العدد اثنين، أي 1، 2، 4، 8.... .Sp ملاحظة \- لا يؤدي ضبط محاذاة القسم إلى محاذاة عناوين LMA أو VMA الخاصة به آليًا. إذا لزم تغيير هذه العناوين أيضًا، فينبغي استخدام الخيارين \&\fB\-\-change\-section\-lma\fP و/أو \fB\-\-change\-section\-vma\fP. لاحظ أيضًا أن تغيير قيم VMA يمكن أن يسبب مشكلات في الملفات الثنائية المرتبِطة كليًا حيث قد توجد شيفرات تتوقع وجود محتويات الأقسام في عناوينها القديمة. .IP "\fB\-\-add\-section\fP \fIsectionname\fP\fB=\fP\fIfilename\fP" 4 .IX عنصر "\-\-add\-section sectionname=filename" يضيف قسمًا جديدًا باسم \fIsectionname\fP أثناء نسخ الملف. تُؤخذ محتويات القسم الجديد من الملف \fIfilename\fP. سيكون حجم القسم هو نفس حجم الملف. لا يعمل هذا الخيار إلا مع تنسيقات الملفات التي تدعم أقسامًا بأسماء عشوائية. ملاحظة \- قد يلزم استخدام خيار \fB\-\-set\-section\-flags\fP لضبط سمات القسم المنشأ حديثًا. .IP "\fB\-\-dump\-section\fP \fIsectionname\fP\fB=\fP\fIfilename\fP" 4 .IX عنصر "\-\-dump\-section sectionname=filename" يضع محتويات القسم المسمى \fIsectionname\fP في الملف \&\fIfilename\fP، مع الكتابة فوق أي محتويات قد كانت موجودة مسبقًا. هذا الخيار هو عكس \fB\-\-add\-section\fP. يشبه هذا الخيار خيار \fB\-\-only\-section\fP باستثناء أنه لا ينشئ ملفًا منسقًا، بل يفرغ المحتويات كبيانات ثنائية خام فقط، دون تطبيق أي عمليات إعادة توطين. يمكن تحديد هذا الخيار أكثر من مرة. .IP "\fB\-\-update\-section\fP \fIsectionname\fP\fB=\fP\fIfilename\fP" 4 .IX عنصر "\-\-update\-section sectionname=filename" يستبدل المحتويات الحالية لقسم مسمى \fIsectionname\fP بمحتويات الملف \fIfilename\fP. سيُعدّل حجم القسم ليناسب حجم الملف. ستبقى أعلام القسم لـ \&\fIsectionname\fP دون تغيير. وبالنسبة لملفات بتنسيق ELF، سيبقى أيضًا تعيين القسم إلى القطعة (segment) دون تغيير، وهو أمر غير ممكن باستخدام \fB\-\-remove\-section\fP متبوعًا بـ \&\fB\-\-add\-section\fP. يمكن تحديد هذا الخيار أكثر من مرة. .Sp ملاحظة \- من الممكن استخدام \fB\-\-rename\-section\fP و \&\fB\-\-update\-section\fP لتحديث وإعادة تسمية قسم معًا من سطر أوامر واحد. في هذه الحالة، مرر اسم القسم الأصلي إلى \&\fB\-\-update\-section\fP، والاسمين الأصلي والجديد للقسم إلى \&\fB\-\-rename\-section\fP. .IP "\fB\-\-add\-symbol\fP \fIname\fP\fB=[\fP\fIsection\fP\fB:]\fP\fIvalue\fP\fB[,\fP\fIflags\fP\fB]\fP" 4 .IX عنصر "\-\-add\-symbol name=[section:]value[,flags]" يضيف رمزًا جديدًا باسم \fIname\fP أثناء نسخ الملف. يمكن تحديد هذا الخيار عدة مرات. إذا حُدد \fIsection\fP، فسيُربط الرمز بهذا القسم ويكون نسبيًا له، وإلا فسيكون رمزًا مطلقًا (ABS). سيؤدي تحديد قسم غير معرف إلى خطأ فادح. لا يوجد تحقق من القيمة، بل ستُؤخذ كما هي محددة. يمكن تحديد أعلام الرموز وليست كل الأعلام ذات معنى لجميع تنسيقات ملفات الكائنات. سيكون الرمز عالميًا بشكل مبدئي. العلم الخاص \&\*(Aqbefore=\fIothersym\fP\*(Aq سيُدرج الرمز الجديد أمام \&\fIothersym\fP المحدد، وإلا فستُضاف الرموز في نهاية جدول الرموز بالترتيب الذي ظهرت به. .IP "\fB\-\-rename\-section\fP \fIoldname\fP\fB=\fP\fInewname\fP\fB[,\fP\fIflags\fP\fB]\fP" 4 .IX عنصر "\-\-rename\-section oldname=newname[,flags]" يُعيد تسمية قسم من \fIoldname\fP إلى \fInewname\fP، مع إمكانية تغيير أعلام القسم إلى \fIflags\fP أثناء العملية. يتميز هذا عن استخدام سيناريو رابط (linker script) لإجراء إعادة التسمية في أن المخرجات تظل ملف كائن ولا تصبح ملفًا تنفيذيًا مرتبِطًا. يقبل هذا الخيار نفس مجموعة الأعلام التي يقبلها خيار \&\fB\-\-set\-section\-flags\fP. .Sp هذا الخيار مفيد بشكل خاص عندما يكون تنسيق المدخلات ثنائيًا، حيث سيؤدي ذلك دائمًا إلى إنشاء قسم يسمى .data. فإذا أردت مثلاً إنشاء قسم يسمى .rodata يحتوي على بيانات ثنائية، فيمكنك استخدام سطر الأوامر التالي لتحقيق ذلك: .Sp .Vb 3 \& objcopy \-I binary \-O \-B \e \& \-\-rename\-section .data=.rodata,alloc,load,readonly,data,contents \e \& .Ve .IP "\fB\-\-long\-section\-names {enable,disable,keep}\fP" 4 .IX عنصر "\-\-long\-section\-names {enable,disable,keep}" يتحكم في التعامل مع أسماء الأقسام الطويلة عند معالجة تنسيقات الكائنات \f(CW\*(C`COFF\*(C'\fP و \f(CW\*(C`PE\-COFF\*(C'\fP. السلوك المبدئي، \fBkeep\fP، هو الحفاظ على أسماء الأقسام الطويلة إذا كانت موجودة في ملف المدخلات. يُمكن الخياران \fBenable\fP و \fBdisable\fP أو يعطلان قسريًا استخدام أسماء الأقسام الطويلة في كائن المخرجات؛ فعند تفعيل \fBdisable\fP، ستُبتر أي أسماء أقسام طويلة في كائن المدخلات. سيُصدر خيار \fBenable\fP أسماء أقسام طويلة فقط إذا كانت موجودة في المدخلات؛ وهذا يماثل \fBkeep\fP تقريبًا، ولكن لم يُحدد ما إذا كان خيار \fBenable\fP قد يفرض إنشاء جدول سلاسل نصية فارغ في ملف المخرجات. .IP \fB\-\-change\-leading\-char\fP 4 .IX عنصر \-\-change\-leading\-char تستخدم بعض تنسيقات ملفات الكائنات محارف خاصة في بداية الرموز. المحرف الأكثر شيوعًا هو الشرطة السفلية، التي غالبًا ما تضيفها المترجمات قبل كل رمز. يخبر هذا الخيار \fBobjcopy\fP بتغيير المحرف البادئ لكل رمز عند التحويل بين تنسيقات ملفات الكائنات. إذا كانت تنسيقات ملفات الكائنات تستخدم نفس المحرف البادئ، فلن يكون لهذا الخيار أي تأثير. خلاف ذلك، سيضيف محرفًا، أو يزيل محرفًا، أو يغير محرفًا، حسب الاقتضاء. .IP \fB\-\-remove\-leading\-char\fP 4 .IX عنصر \-\-remove\-leading\-char إذا كان المحرف الأول لرمز عالمي هو محرف بادئ خاص بالرموز يستخدمه تنسيق ملف الكائن، فسيُزال هذا المحرف. المحرف البادئ الأكثر شيوعًا للرموز هو الشرطة السفلية. سيقوم هذا الخيار بإزالة الشرطة السفلية البادئة من جميع الرموز العالمية. يمكن أن يكون هذا مفيدًا إذا كنت ترغب في ربط كائنات من تنسيقات ملفات مختلفة تتبع اصطلاحات مختلفة لأسماء الرموز. يختلف هذا عن \&\fB\-\-change\-leading\-char\fP لأنه يغير اسم الرمز دائمًا عند الاقتضاء، بغض النظر عن تنسيق ملف الكائن لملف المخرجات. .IP \fB\-\-reverse\-bytes=\fP\fInum\fP 4 .IX عنصر \-\-reverse\-bytes=num يعكس البايتات في قسم له محتويات مخرجات. يجب أن يكون طول القسم قابلاً للقسمة تمامًا على القيمة المعطاة لكي تتم عملية التبادل. تتم عملية العكس قبل إجراء التداخل. .Sp يُستخدم هذا الخيار عادةً في توليد صور ROM للأنظمة المستهدفة التي بها مشكلات. على سبيل المثال، في بعض لوحات الأجهزة المستهدفة، تُعاد تجميع الكلمات ذات 32 بت المجلوية من ذاكرات ROM ذات 8 بت بترتيب البايتات الصغير (little\-endian) بغض النظر عن ترتيب بايتات المعالج. وبناءً على نموذج البرمجة، قد يلزم تعديل ترتيب بايتات (endianness) الـ ROM. .Sp لنتأمل ملفًا بسيطًا يحتوي على قسم يضم البايتات الثمانية التالية: \f(CW12345678\fP. .Sp باستخدام \fB\-\-reverse\-bytes=2\fP للمثال أعلاه، ستكون البايتات في ملف المخرجات مرتبة كالتالي \f(CW21436587\fP. .Sp باستخدام \fB\-\-reverse\-bytes=4\fP للمثال أعلاه، ستكون البايتات في ملف المخرجات مرتبة كالتالي \f(CW43218765\fP. .Sp باستخدام \fB\-\-reverse\-bytes=2\fP للمثال أعلاه، متبوعًا بـ \&\fB\-\-reverse\-bytes=4\fP على ملف المخرجات، ستكون البايتات في ملف المخرجات الثاني مرتبة كالتالي \f(CW34127856\fP. .IP \fB\-\-srec\-len=\fP\fIival\fP 4 .IX عنصر \-\-srec\-len=ival ذو معنى فقط لمخرجات srec. يضبط الحد الأقصى لطول سجلات S المنتجة إلى \fIival\fP. يغطي هذا الطول كلاً من حقول العنوان والبيانات و crc. .IP \fB\-\-srec\-forceS3\fP 4 .IX عنصر \-\-srec\-forceS3 ذو معنى فقط لمخرجات srec. يتجنب توليد سجلات S1/S2، وينشئ تنسيق سجلات S3 فقط. .IP "\fB\-\-redefine\-sym\fP \fIold\fP\fB=\fP\fInew\fP" 4 .IX عنصر "\-\-redefine\-sym old=new" يغير اسم الرمز \fIold\fP إلى \fInew\fP. يمكن أن يكون هذا مفيدًا عند محاولة ربط شيئين ببعضهما دون توفر المصدر، ومع وجود تضارب في الأسماء. .IP \fB\-\-redefine\-syms=\fP\fIfilename\fP 4 .IX عنصر \-\-redefine\-syms=filename يطبق خيار \fB\-\-redefine\-sym\fP على كل زوج من الرموز "\fIold\fP \fInew\fP" المذكورة في الملف \fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على زوج رموز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-weaken\fP 4 .IX عنصر \-\-weaken يغير جميع الرموز العالمية في الملف لتصبح ضعيفة (weak). يمكن أن يكون هذا مفيدًا عند بناء كائن سيُربط بكائنات أخرى باستخدام خيار \fB\-R\fP للرابط. لا يكون هذا الخيار فعلاً إلا عند استخدام تنسيق ملف كائن يدعم الرموز الضعيفة. .IP \fB\-\-keep\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-keep\-symbols=filename يطبق خيار \fB\-\-keep\-symbol\fP على كل رمز مذكور في الملف \&\fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-strip\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-strip\-symbols=filename يطبق خيار \fB\-\-strip\-symbol\fP على كل رمز مذكور في الملف \&\fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-strip\-unneeded\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-strip\-unneeded\-symbols=filename يطبق خيار \fB\-\-strip\-unneeded\-symbol\fP على كل رمز مذكور في الملف \fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-keep\-global\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-keep\-global\-symbols=filename يطبق خيار \fB\-\-keep\-global\-symbol\fP على كل رمز مذكور في الملف \fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-localize\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-localize\-symbols=filename يطبق خيار \fB\-\-localize\-symbol\fP على كل رمز مذكور في الملف \&\fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. .IP \fB\-\-globalize\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-globalize\-symbols=filename يطبق خيار \fB\-\-globalize\-symbol\fP على كل رمز مذكور في الملف \&\fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، يحتوي على اسم رمز واحد في كل سطر. يمكن كتابة تعليقات الأسطر باستخدام محرف الهاش. يمكن تحديد هذا الخيار أكثر من مرة. ملاحظة: لا يمكن استخدام هذا الخيار بالتزامن مع الخيارين \fB\-G\fP أو \fB\-\-keep\-global\-symbol\fP. .IP \fB\-\-weaken\-symbols=\fP\fIfilename\fP 4 .IX عنصر \-\-weaken\-symbols=filename طبق خيار \fB\-\-weaken\-symbol\fP على كل رمز مدرج في الملف \&\fIfilename\fP. الملف \fIfilename\fP هو ببساطة ملف مسطح، مع اسم رمز واحد في كل سطر. يمكن تقديم تعليقات الأسطر باستخدام علامة المربع. يمكن إعطاء هذا الخيار أكثر من مرة. .IP \fB\-\-alt\-machine\-code=\fP\fIindex\fP 4 .IX عنصر \-\-alt\-machine\-code=index إذا كانت بنية المخرجات تحتوي على رموز آلة بديلة، فاستخدم الرمز رقم \&\fIindex\fP بدلاً من الرمز المبدئي. هذا مفيد في حالة تخصيص رمز رسمي لآلة ما واعتماد سلسلة الأدوات للرمز الجديد، بينما لا تزال التطبيقات الأخرى تعتمد على استخدام الرمز الأصلي. بالنسبة للبنيات القائمة على ELF، إذا لم يكن البديل \fIindex\fP موجودًا، فستُعامل القيمة كعدد مطلق ليُخزن في حقل e_machine في ترويسة ELF. .IP \fB\-\-writable\-text\fP 4 .IX عنصر \-\-writable\-text ميز نص المخرجات كقابل للكتابة. هذا الخيار ليس ذا معنى لجميع تنسيقات ملفات الكائنات. .IP \fB\-\-readonly\-text\fP 4 .IX عنصر \-\-readonly\-text اجعل نص المخرجات محميًا من الكتابة. هذا الخيار ليس ذا معنى لجميع تنسيقات ملفات الكائنات. .IP \fB\-\-pure\fP 4 .IX عنصر \-\-pure ميز ملف المخرجات كملف بتبويب عند الطلب. هذا الخيار ليس ذا معنى لجميع تنسيقات ملفات الكائنات. .IP \fB\-\-impure\fP 4 .IX عنصر \-\-impure ميز ملف المخرجات كغير نقي. هذا الخيار ليس ذا معنى لجميع تنسيقات ملفات الكائنات. .IP \fB\-\-prefix\-symbols=\fP\fIstring\fP 4 .IX عنصر \-\-prefix\-symbols=string أضف البادئة \fIstring\fP لكل الرموز في ملف المخرجات. .IP \fB\-\-prefix\-sections=\fP\fIstring\fP 4 .IX عنصر \-\-prefix\-sections=string أضف البادئة \fIstring\fP لكل أسماء الأقسام في ملف المخرجات. .IP \fB\-\-prefix\-alloc\-sections=\fP\fIstring\fP 4 .IX عنصر \-\-prefix\-alloc\-sections=string أضف البادئة \&\fIstring\fP لكل أسماء جميع الأقسام المخصصة في ملف المخرجات. .IP \fB\-\-add\-gnu\-debuglink=\fP\fIpath\-to\-file\fP 4 .IX عنصر \-\-add\-gnu\-debuglink=path\-to\-file ينشئ قسم .gnu_debuglink الذي يحتوي على مرجع إلى \&\fIpath\-to\-file\fP ويضيفه إلى ملف المخرجات. ملاحظة: يجب أن يكون الملف الموجود في \&\fIpath\-to\-file\fP موجودًا. يتضمن جزء من عملية إضافة قسم \&.gnu_debuglink تضمين مجموع فحص لمحتويات ملف معلومات التنقيح داخل القسم. .Sp إذا بُني ملف معلومات التنقيح في موقع ما ولكن سيُنصب في وقت لاحق في موقع مختلف، فلا تستخدم المسار إلى الموقع المنصب. سيفشل خيار \fB\-\-add\-gnu\-debuglink\fP لأن الملف المنصب غير موجود بعد. بدلاً من ذلك، ضع ملف معلومات التنقيح في الدليل الحالي واستخدم خيار \&\fB\-\-add\-gnu\-debuglink\fP بدون أي مكونات دليل، هكذا: .Sp .Vb 1 \& objcopy \-\-add\-gnu\-debuglink=foo.debug .Ve .Sp في وقت التنقيح، سيحاول منقح الأخطاء البحث عن ملف معلومات التنقيح المنفصل في مجموعة من المواقع المعروفة. تختلف المجموعة المحددة لهذه المواقع حسب التوزيعة المستخدمة، ولكنها تشمل عادةً: .RS 4 .IP \(bu 4 نفس الدليل الذي يحتوي على الملف التنفيذي. .IP \(bu 4 دليل فرعي من الدليل الذي يحتوي على الملف التنفيذي يسمى \&.debug. .IP \(bu 4 دليل تنقيح عام مثل /usr/lib/debug. .RE .RS 4 .Sp طالما نُصب ملف معلومات التنقيح في أحد هذه المواقع قبل تشغيل منقح الأخطاء، فيجب أن يعمل كل شيء بشكل صحيح. .RE .IP \fB\-\-keep\-section\-symbols\fP 4 .IX عنصر \-\-keep\-section\-symbols عند تجريد ملف، ربما باستخدام \fB\-\-strip\-debug\fP أو \&\fB\-\-strip\-unneeded\fP، احتفظ بأي رموز تحدد أسماء الأقسام، والتي كانت ستُجرد لولا ذلك. .IP \fB\-\-keep\-file\-symbols\fP 4 .IX عنصر \-\-keep\-file\-symbols عند تجريد ملف، ربما باستخدام \fB\-\-strip\-debug\fP أو \&\fB\-\-strip\-unneeded\fP، احتفظ بأي رموز تحدد أسماء ملفات المصدر، والتي كانت ستُجرد لولا ذلك. .IP \fB\-\-only\-keep\-debug\fP 4 .IX عنصر \-\-only\-keep\-debug جرد ملفًا، مع إزالة محتويات أي أقسام لن تُجرد بواسطة \fB\-\-strip\-debug\fP وترك أقسام التنقيح سليمة. في ملفات ELF، يحافظ هذا على جميع أقسام الملاحظات في المخرجات. .Sp ملاحظة \- يُحافظ على ترويسات الأقسام للأقسام المجردة، بما في ذلك أحجامها، ولكن يتم التخلص من محتويات القسم. يُحافظ على ترويسات الأقسام لتمكين الأدوات الأخرى من مطابقة ملف معلومات التنقيح مع الملف التنفيذي الحقيقي، حتى لو نُقل ذلك الملف التنفيذي إلى مساحة عناوين مختلفة. .Sp القصد هو استخدام هذا الخيار بالاشتراك مع \&\fB\-\-add\-gnu\-debuglink\fP لإنشاء ملف تنفيذي من جزأين. الأول ثنائي مجرد يشغل مساحة أقل في ذاكرة الوصول العشوائي وفي التوزيعة، والثاني ملف معلومات تنقيح لا يُحتاج إليه إلا إذا كانت قدرات التنقيح مطلوبة. الإجراء المقترح لإنشاء هذه الملفات هو كما يلي: .RS 4 .IP 1. 4 اربط الملف التنفيذي كالمعتاد. بافتراض أنه يسمى \f(CW\*(C`foo\*(C'\fP فعندها... .IP 2. 4 شغل \f(CW\*(C`objcopy \-\-only\-keep\-debug foo foo.dbg\*(C'\fP لإنشاء ملف يحتوي على معلومات تنقيح الأخطاء. .IP 3. 4 شغل \f(CW\*(C`objcopy \-\-strip\-debug foo\*(C'\fP لإنشاء ملف تنفيذي مجرد. .IP 4. 4 شغل \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.dbg foo\*(C'\fP لإضافة رابط لمعلومات تنقيح الأخطاء في الملف التنفيذي المجرد. .RE .RS 4 .Sp ملاحظة\-\-\-اختيار \f(CW\*(C`.dbg\*(C'\fP كامتداد لملف معلومات التنقيح هو أمر اعتباطي. وأيضًا خطوة \f(CW\*(C`\-\-only\-keep\-debug\*(C'\fP اختيارية. يمكنك بدلاً من ذلك القيام بهذا: .IP 1. 4 اربط الملف التنفيذي كالمعتاد. .IP 2. 4 انسخ \f(CW\*(C`foo\*(C'\fP إلى \f(CW\*(C`foo.full\*(C'\fP. .IP 3. 4 شغل \f(CW\*(C`objcopy \-\-strip\-debug foo\*(C'\fP. .IP 4. 4 شغل \f(CW\*(C`objcopy \-\-add\-gnu\-debuglink=foo.full foo\*(C'\fP. .RE .RS 4 .Sp أي أن الملف الذي يشير إليه \fB\-\-add\-gnu\-debuglink\fP يمكن أن يكون الملف التنفيذي بالكامل. ليس بالضرورة أن يكون ملفًا أُنشئ بواسطة خيار \&\fB\-\-only\-keep\-debug\fP. .Sp ملاحظة\-\-\-هذا المفتاح مخصص للاستخدام فقط في الملفات المربوطة بالكامل. ليس من المنطقي استخدامه في الملفات الكائنية حيث قد تكون معلومات التنقيح غير كاملة. بالإضافة إلى ذلك، ميزة gnu_debuglink تدعم حاليًا وجود اسم ملف واحد فقط يحتوي على معلومات التنقيح، وليس عدة أسماء ملفات على أساس ملف لكل كائن. .RE .IP \fB\-\-strip\-dwo\fP 4 .IX عنصر \-\-strip\-dwo أزل محتويات جميع أقسام DWARF .dwo، مع ترك أقسام التنقيح المتبقية وجميع الرموز سليمة. هذا الخيار مخصص للاستخدام من قبل المترجم كجزء من خيار \fB\-gsplit\-dwarf\fP، الذي يفصل معلومات التنقيح بين ملف .o وملف .dwo منفصل. ينتج المترجم كل معلومات التنقيح في نفس الملف، ثم يستخدم خيار \fB\-\-extract\-dwo\fP لنسخ أقسام .dwo إلى ملف .dwo، ثم خيار \fB\-\-strip\-dwo\fP لإزالة تلك الأقسام من ملف .o الأصلي. .IP \fB\-\-extract\-dwo\fP 4 .IX عنصر \-\-extract\-dwo استخرج محتويات جميع أقسام DWARF .dwo. انظر خيار \&\fB\-\-strip\-dwo\fP لمزيد من المعلومات. .IP "\fB\-\-file\-alignment\fP \fInum\fP" 4 .IX عنصر "\-\-file\-alignment num" حدد محاذاة الملف. ستبدأ الأقسام في الملف دائمًا عند إزاحات ملف تكون مضاعفات لهذا العدد. القيمة المبدئية هي 512. [هذا الخيار خاص بأهداف PE.] .IP "\fB\-\-heap\fP \fIاحتياطي\fP" 4 .IX عنصر "\-\-heap reserve" .PD 0 .IP "\fB\-\-heap\fP \fIاحتياطي\fP\fB,\fP\fIإيداع\fP" 4 .IX عنصر "\-\-heap reserve,commit" .PD حدد عدد بايتات الذاكرة المراد احتياطها (وإيداعها اختياريًا) لتُستخدم ككومة لهذا البرنامج. [هذا الخيار خاص بأهداف PE.] .IP "\fB\-\-image\-base\fP \fIvalue\fP" 4 .IX عنصر "\-\-image\-base value" استخدم \fIvalue\fP كعنوان أساس لبرنامجك أو dll. هذا هو أدنى موقع ذاكرة سيُستخدم عند تحميل برنامجك أو dll. لتقليل الحاجة إلى نقل وتحسين أداء ملفات dll الخاصة بك، يجب أن يكون لكل منها عنوان أساس فريد ولا يتداخل مع أي dlls أخرى. القيمة المبدئية هي 0x400000 للملفات التنفيذية، و 0x10000000 لملفات dll. [هذا الخيار خاص بأهداف PE.] .IP "\fB\-\-section\-alignment\fP \fInum\fP" 4 .IX عنصر "\-\-section\-alignment num" [هذا الخيار خاص بأهداف PE.] .Sp يضبط حقل محاذاة القسم في ترويسة PE \- إذا كانت موجودة في الملف الثنائي. ستبدأ الأقسام في الذاكرة دائمًا عند عناوين تكون مضاعفة لهذا العدد. القيمة المبدئية هي 0x1000. .Sp ملاحظة \- إذا لم تعد عناوين LMA أو VMA لقسم ما محاذية، ولم تُضبط تلك العناوين عبر خيارات \fB\-\-set\-section\-lma\fP أو \&\fB\-\-set\-section\-vma\fP، ونُقل الملف بالكامل، فسيُصدر إشعار تحذيري. سيعود الأمر حينها للمستخدم ليقرر ما إذا كانت LMA و VMA بحاجة إلى تحديث. .IP "\fB\-\-stack\fP \fIاحتياطي\fP" 4 .IX عنصر "\-\-stack reserve" .PD 0 .IP "\fB\-\-stack\fP \fIاحتياطي\fP\fB,\fP\fIإيداع\fP" 4 .IX عنصر "\-\-stack reserve,commit" .PD حدد عدد بايتات الذاكرة المراد احتياطها (وإيداعها اختياريًا) لتُستخدم ككدسة لهذا البرنامج. [هذا الخيار خاص بأهداف PE.] .IP "\fB\-\-subsystem\fP \fIأي\fP" 4 .IX عنصر "\-\-subsystem which" .PD 0 .IP "\fB\-\-subsystem\fP \fIأي\fP\fB:\fP\fIرئيس\fP" 4 .IX عنصر "\-\-subsystem which:major" .IP "\fB\-\-subsystem\fP \fIأي\fP\fB:\fP\fIرئيس\fP\fB.\fP\fIفرعي\fP" 4 .IX عنصر "\-\-subsystem which:major.minor" .PD يحدد النظام الفرعي الذي سيُنفذ برنامجك تحته. القيم القانونية لـ \fIأي\fP هي \f(CW\*(C`native\*(C'\fP، و \f(CW\*(C`windows\*(C'\fP، و \&\f(CW\*(C`console\*(C'\fP، و \f(CW\*(C`posix\*(C'\fP، و \f(CW\*(C`efi\-app\*(C'\fP، و \f(CW\*(C`efi\-bsd\*(C'\fP، و \&\f(CW\*(C`efi\-rtd\*(C'\fP، و \f(CW\*(C`sal\-rtd\*(C'\fP، و \f(CW\*(C`xbox\*(C'\fP. يمكنك اختياريًا ضبط إصدار النظام الفرعي أيضًا. تُقبل القيم العددية أيضًا لـ \&\fIأي\fP. [هذا الخيار خاص بأهداف PE.] .IP \fB\-\-extract\-symbol\fP 4 .IX عنصر \-\-extract\-symbol احتفظ بأعلام أقسام الملف ورموزه ولكن أزل جميع بيانات الأقسام. تحديدًا، هذا الخيار: .RS 4 .IP \(bu 4 يُزيل محتويات جميع الأقسام. .IP \(bu 4 يضبط حجم كل قسم على الصفر. .IP \(bu 4 يضبط عنوان بدء الملف على الصفر. .RE .RS 4 .Sp يُستخدم هذا الخيار لبناء ملف \fI.sym\fP لنواة VxWorks. يمكن أن يكون أيضًا وسيلة مفيدة لتقليل حجم ملف مدخلات الرابط \fB\-\-just\-symbols\fP. .RE .IP \fB\-\-compress\-debug\-sections\fP 4 .IX عنصر \-\-compress\-debug\-sections يضغط أقسام تنقيح DWARF باستخدام zlib مع SHF_COMPRESSED من ELF ABI. ملاحظة \- إذا كان الضغط سيجعل القسم \fIأكبر\fP بالفعل، فلن يُضغط. .IP \fB\-\-compress\-debug\-sections=none\fP 4 .IX عنصر \-\-compress\-debug\-sections=none .PD 0 .IP \fB\-\-compress\-debug\-sections=zlib\fP 4 .IX عنصر \-\-compress\-debug\-sections=zlib .IP \fB\-\-compress\-debug\-sections=zlib\-gnu\fP 4 .IX عنصر \-\-compress\-debug\-sections=zlib\-gnu .IP \fB\-\-compress\-debug\-sections=zlib\-gabi\fP 4 .IX عنصر \-\-compress\-debug\-sections=zlib\-gabi .IP \fB\-\-compress\-debug\-sections=zstd\fP 4 .IX عنصر \-\-compress\-debug\-sections=zstd .PD بالنسبة لملفات ELF، تتحكم هذه الخيارات في كيفية ضغط أقسام تنقيح DWARF. \fB\-\-compress\-debug\-sections=none\fP يكافئ \fB\-\-decompress\-debug\-sections\fP. الخياران \fB\-\-compress\-debug\-sections=zlib\fP و \fB\-\-compress\-debug\-sections=zlib\-gabi\fP يكافئان \fB\-\-compress\-debug\-sections\fP. يضغط \fB\-\-compress\-debug\-sections=zlib\-gnu\fP أقسام تنقيح DWARF باستخدام تنسيق zlib\-gnu المهجور. تُغير أسماء أقسام التنقيح لتبدأ بـ \fB.zdebug\fP. يضغط \fB\-\-compress\-debug\-sections=zstd\fP أقسام تنقيح DWARF باستخدام zstd. ملاحظة \- إذا كان الضغط سيجعل القسم \fIأكبر\fP بالفعل، فلن يُضغط ولن يُعاد تسميته. .IP \fB\-\-decompress\-debug\-sections\fP 4 .IX عنصر \-\-decompress\-debug\-sections يفك ضغط أقسام تنقيح DWARF. بالنسبة لقسم \fB.zdebug\fP، يُستعاد الاسم الأصلي. .IP \fB\-\-elf\-stt\-common=yes\fP 4 .IX عنصر \-\-elf\-stt\-common=yes .PD 0 .IP \fB\-\-elf\-stt\-common=no\fP 4 .IX عنصر \-\-elf\-stt\-common=no .PD بالنسبة لملفات ELF، تتحكم هذه الخيارات فيما إذا كان يجب تحويل الرموز المشتركة إلى النوع \f(CW\*(C`STT_COMMON\*(C'\fP أو النوع \f(CW\*(C`STT_OBJECT\*(C'\fP. يُحوّل \fB\-\-elf\-stt\-common=yes\fP نوع الرمز المشترك إلى \f(CW\*(C`STT_COMMON\*(C'\fP. بينما يُحوّل \fB\-\-elf\-stt\-common=no\fP نوع الرمز المشترك إلى \f(CW\*(C`STT_OBJECT\*(C'\fP. .IP \fB\-\-merge\-notes\fP 4 .IX عنصر \-\-merge\-notes .PD 0 .IP \fB\-\-no\-merge\-notes\fP 4 .IX عنصر \-\-no\-merge\-notes .PD بالنسبة لملفات ELF، حاوِل (أو لا تحاول) تقليل حجم أي أقسام من نوع SHT_NOTE عن طريق إزالة الملاحظات المكررة. .IP \fB\-V\fP 4 .IX عنصر \-V .PD 0 .IP \fB\-\-version\fP 4 .IX عنصر \-\-version .PD أظهر رقم إصدار \fBobjcopy\fP. .IP \fB\-\-verilog\-data\-width=\fP\fIالبايتات\fP 4 .IX عنصر \-\-verilog\-data\-width=bytes لمخرجات Verilog، يتحكم هذا الخيار في عدد البايتات المحولة لكل عنصر بيانات مخرجات. يتحكم هدف المدخلات في ترتيب البايتات (endianness) للتحويل. .IP \fB\-v\fP 4 .IX عنصر \-v .PD 0 .IP \fB\-\-verbose\fP 4 .IX عنصر \-\-verbose .PD مخرجات مسهبة: اسرد جميع ملفات الكائنات التي عُدّلت. في حالة الأرشيفات، يسرد \fBobjcopy \-V\fP جميع أعضاء الأرشيف. .IP \fB\-\-help\fP 4 .IX عنصر \-\-help أظهر ملخصًا لخيارات \fBobjcopy\fP. .IP \fB\-\-info\fP 4 .IX عنصر \-\-info اعرض قائمة توضح جميع المعماريات وتنسيقات الكائنات المتاحة. .IP \fB@\fP\fIالملف\fP 4 .IX عنصر @file اقرأ خيارات سطر الأوامر من \fIfile\fP. تُدرج الخيارات المقروءة مكان خيار @\fIfile\fP الأصلي. إذا كان \fIfile\fP غير موجود، أو لا يمكن قراءته، فسيُعامل الخيار حرفيًا ولن يُزال. .Sp تُفصل الخيارات في \fIfile\fP بمسافات فارغة. يمكن تضمين حرف مسافة فارغة في خيار ما عن طريق إحاطة الخيار بالكامل إما بعلامات اقتباس مفردة أو مزدوجة. يمكن تضمين أي حرف (بما في ذلك الشرطة المائلة العكسية) عن طريق سبق الحرف المراد تضمينه بشرطة مائلة عكسية. يمكن لـ \fIfile\fP نفسه أن يحتوي على خيارات @\fIfile\fP إضافية؛ وتُعالج أي خيارات من هذا القبيل بشكل متكرر. .SH "انظر أيضًا" .IX الرأس "انظر أيضًا" \fBld\fP\|(1)، و \fBobjdump\fP\|(1)، ومدخلات Info لـ \fIbinutils\fP. .SH "حقوق النسخ" .IX الرأس "حقوق النسخ" حقوق الطبع والنشر (c) لعام 1991\-2026 لمؤسسة البرمجيات الحرة، المحدودة. .PP يُمنح الإذن بنسخ وتوزيع و/أو تعديل هذا المستند بموجب شروط رخصة جنو للوثائق الحرة (GNU Free Documentation License)، الإصدار 1.3 أو أي إصدار لاحق تنشره مؤسسة البرمجيات الحرة؛ مع عدم وجود أقسام ثابتة، وبدون نصوص غلاف أمامي، وبدون نصوص غلاف خلفي. نُسخة من الرخصة مضمنة في القسم المعنون "GNU Free Documentation License". .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .