Это команда aarch64-linux-gnu-objcopy, которую можно запустить в бесплатном хостинг-провайдере OnWorks с помощью одной из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
objcopy - копировать и переводить объектные файлы
СИНТАКСИС
объектная копия [-F имя парня|--target =имя парня]
[-I имя парня|--input-target =имя парня]
[-O имя парня|--output-target =имя парня]
[-B бфдарч|--binary-architecture =бфдарч]
[-S|- полосатая]
[-g|--strip-debug]
[-K имя символа|--keep-symbol =имя символа]
[-N имя символа|--strip-symbol =имя символа]
[--strip-ненужный-символ =имя символа]
[-G имя символа|--keep-глобальный-символ =имя символа]
[--localize-скрытый]
[-L имя символа|--localize-symbol =имя символа]
[--globalize-symbol =имя символа]
[-W имя символа|--weaken-symbol =имя символа]
[-w|--подстановочный знак]
[-x|--discard-все]
[-X|--discard-locals]
[-b байт|--byte =байт]
[-i [ширина]|--чередовать[=ширина]]
[--interleave-width =ширина]
[-j раздел|--only-section =раздел]
[-R раздел|--remove-section =раздел]
[-p|--консервировать даты]
[-D|- включить детерминированные архивы]
[-U|- отключить детерминированные архивы]
[--отладка]
[--gap-fill =волна]
[--pad-to =адрес]
[--set-start =волна]
[--adjust-start =увеличение]
[--change-адреса =увеличение]
[--изменить-адрес-раздела раздел{=, +, -}волна]
[--change-section-lma раздел{=, +, -}волна]
[--change-раздел-vma раздел{=, +, -}волна]
[--change-предупреждения] [--no-change-предупреждения]
[--set-section-флаги раздел=Флаги]
[--добавить-раздел имя раздела=имя файла]
[--dump-раздел имя раздела=имя файла]
[--update-раздел имя раздела=имя файла]
[--переименовать-раздел старое имя=новое имя[,Флаги]]
[--длинные имена разделов {включить, отключить, оставить}]
[--change-lead-char] [--remove-lead-char]
[--reverse-bytes =Num]
[--srec-len =Ival] [--srec-forceS3]
[--переопределить-сим старый=new]
[--redefine-syms =имя файла]
[- ослабить]
[--keep-symbols =имя файла]
[--strip-symbols =имя файла]
[--strip-ненужные-символы =имя файла]
[--keep-global-symbols =имя файла]
[--localize-symbols =имя файла]
[--globalize-symbols =имя файла]
[--weaken-symbols =имя файла]
[--добавить символ имя=[.:]ценностное [,Флаги]
[--alt-machine-code =индекс]
[--prefix-symbols =string]
[--prefix-разделы =string]
[--prefix-alloc-разделы =string]
[--add-gnu-debuglink =путь к файлу]
[--keep-файл-символы]
[--only-keep-debug]
[--strip-dwo]
[--extract-два]
[--extract-символ]
[--writable-текст]
[--readonly-текст]
[--чистый]
[- нечистый]
[- выравнивание файла =Num]
[--heap =размер]
[--image-base =адрес]
[--section-alignment =Num]
[--stack =размер]
[--subsystem =, которые:основной.небольшая]
[--compress-debug-разделы]
[--decompress-debug-разделы]
[--dwarf-depth =n]
[--dwarf-start =n]
[-v|--подробный]
[-V|--версия]
[--Помогите] [--Информация]
вводить [Outfile]
ОПИСАНИЕ
GNU объектная копия Утилита копирует содержимое объектного файла в другой. объектная копия использования
Библиотека GNU BFD для чтения и записи объектных файлов. Он может написать пункт назначения
объектный файл в формате, отличном от формата исходного объектного файла. Точное поведение
of объектная копия управляется параметрами командной строки. Обратите внимание, что объектная копия должны быть в состоянии
скопируйте полностью связанный файл между любыми двумя форматами. Однако копирование перемещаемого объекта
файл между любыми двумя форматами может работать не так, как ожидалось.
объектная копия создает временные файлы для перевода и впоследствии удаляет их.
объектная копия использует BFD для выполнения всей своей переводческой работы; имеет доступ ко всем форматам
описан в BFD и, таким образом, может распознавать большинство форматов без явного указания.
объектная копия может использоваться для генерации S-записей с помощью целевого объекта вывода секрет (например, используйте -O
секрет).
объектная копия может использоваться для создания необработанного двоичного файла с помощью целевого объекта вывода двоичный
(например, используйте -O двоичный). когда объектная копия генерирует необработанный двоичный файл, он по существу
создать дамп памяти содержимого входного объектного файла. Все символы и
Информация о перемещении будет удалена. Дамп памяти начнется с адреса загрузки
самого нижнего раздела, скопированного в выходной файл.
При создании S-записи или необработанного двоичного файла может быть полезно использовать -S удалять
разделы, содержащие отладочную информацию. В некоторых случаях -R будет полезно удалить
разделы, которые содержат информацию, которая не нужна двоичному файлу.
Примечание---объектная копия не может изменить порядок байтов входных файлов. Если вход
формат имеет порядок байтов (в некоторых форматах нет), объектная копия можно только копировать входные данные в файл
форматы, которые имеют такой же порядок следования байтов или не имеют порядка байтов (например, секрет). (Тем не мение,
см. --обратные байты опция).
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
вводить
Outfile
Входные и выходные файлы соответственно. Если вы не укажете Outfile, объектная копия
создает временный файл и деструктивно переименовывает результат с именем вводить.
-I имя парня
--input-target =имя парня
Считайте, что формат объекта исходного файла имя парня, а не пытаться
вывести это.
-O имя парня
--output-target =имя парня
Запишите выходной файл, используя формат объекта имя парня.
-F имя парня
--target =имя парня
Используйте имя парня как формат объекта как для входного, так и для выходного файла; т.е. просто
передавать данные из источника в пункт назначения без перевода.
-B бфдарч
--binary-architecture =бфдарч
Полезно при преобразовании входного файла без архитектуры в объектный файл. В этом
в случае, если выходная архитектура может быть установлена на бфдарч. Эта опция будет проигнорирована, если
входной файл имеет известное бфдарч. Вы можете получить доступ к этим двоичным данным внутри программы
путем ссылки на специальные символы, созданные в процессе преобразования. Эти
символы называются _binary_objfile_start, _binary_objfile_end и
_двоичный_objfile_размер. например, вы можете преобразовать файл изображения в объектный файл и
затем откройте его в своем коде, используя эти символы.
-j раздел
--only-section =раздел
Скопируйте только указанные разделы из входного файла в выходной файл. Этот вариант
можно давать более одного раза. Обратите внимание, что неправильное использование этого параметра может привести к
выходной файл непригоден для использования. Подстановочные знаки принимаются в раздел.
-R раздел
--remove-section =раздел
Удалите все совпадающие разделы раздел из выходного файла. Этот вариант может быть
давали не раз. Обратите внимание, что неправильное использование этой опции может привести к тому, что вывод
файл непригоден для использования. Подстановочные знаки принимаются в раздел. Используя как -j
и -R варианты вместе приводят к неопределенному поведению.
-S
- полосатая
Не копируйте информацию о перемещении и символах из исходного файла.
-g
--strip-debug
Не копируйте отладочные символы или разделы из исходного файла.
--strip-ненужные
Удалите все символы, которые не нужны для обработки перемещения.
-K имя символа
--keep-symbol =имя символа
При удалении символов оставьте символ имя символа даже если бы его обычно раздели.
Этот вариант можно давать более одного раза.
-N имя символа
--strip-symbol =имя символа
Не копировать символ имя символа из исходного файла. Этому варианту можно дать еще
чем один раз
--strip-ненужный-символ =имя символа
Не копировать символ имя символа из исходного файла, если это не требуется
переезд. Этот вариант можно давать более одного раза.
-G имя символа
--keep-глобальный-символ =имя символа
Оставить только символ имя символа Глобальный. Сделайте все остальные символы локальными для файла, чтобы
они не видны снаружи. Этот вариант можно давать более одного раза.
--localize-скрытый
В объекте ELF отметьте все символы, которые имеют скрытую или внутреннюю видимость, как локальные.
Этот параметр применяется поверх параметров локализации для конкретных символов, таких как -L.
-L имя символа
--localize-symbol =имя символа
Сделать символ имя символа local в файл, чтобы он не был виден извне. Этот
вариант может быть предоставлен более одного раза.
-W имя символа
--weaken-symbol =имя символа
Сделать символ имя символа слабый. Этот вариант можно давать более одного раза.
--globalize-symbol =имя символа
Дайте символ имя символа глобальная область видимости, чтобы она была видна за пределами файла в
который он определен. Этот вариант можно давать более одного раза.
-w
--подстановочный знак
Разрешить регулярные выражения в имя символаs используется в других параметрах командной строки. В
вопросительный знак (?), звездочка (*), обратная косая черта (\) и квадратные скобки ([]) могут
использоваться в любом месте имени символа. Если первый символ имени символа - это
восклицательный знак (!), то значение переключателя меняется на противоположное для этого символа. Для
пример:
-w -W! foo -W fo *
приведет к тому, что objcopy ослабит все символы, начинающиеся с "fo", кроме символа
"фу".
-x
--discard-все
Не копируйте неглобальные символы из исходного файла.
-X
--discard-locals
Не копируйте локальные символы, созданные компилятором. (Обычно они начинаются с L or ..)
-b байт
--byte =байт
Если чередование было разрешено через --чередовать вариант, затем запустите диапазон
байты для хранения байт-й байт. байт может быть в диапазоне от 0 до ширина-1, где
ширина это значение, заданное --чередовать опцию.
-i [ширина]
--interleave [=ширина]
Копировать только диапазон из каждого ширина байтов. (Данные заголовка не затрагиваются). Выбирать
какой байт в диапазоне начинает копию с --байт вариант. Выберите ширину
диапазон с --interleave-ширина опцию.
Эта опция полезна для создания файлов в ПЗУ программы. Обычно он используется с
цель вывода "srec". Обратите внимание, что объектная копия будет жаловаться, если вы не укажете
--байт вариант тоже.
Ширина чередования по умолчанию равна 4, поэтому с --байт установлен на 0, объектная копия скопировал бы
первый байт из каждых четырех байтов от входа к выходу.
--interleave-width =ширина
При использовании с --чередовать вариант, копия ширина байтов за раз. Начало
диапазон копируемых байтов устанавливается --байт вариант, и степень диапазона
установлен с --чередовать опцию.
Значение по умолчанию для этого параметра - 1. Значение ширина плюс байт значение, установленное
--байт параметр не должен превышать ширину чередования, установленную --чередовать
опцию.
Эта опция может использоваться для создания изображений для двух 16-битных вспышек, чередующихся в
32-битная шина попутно -b 0 -i 4 --interleave-width = 2 и -b 2 -i 4
--interleave-width = 2 до двух объектная копия команды. Если введено «12345678», то
выходы будут «1256» и «3478» соответственно.
-p
--консервировать даты
Установите даты доступа и изменения выходного файла такими же, как у
входной файл.
-D
- включить детерминированные архивы
Работать в детерминистический режим. При копировании участников архива и записи архива
index, используйте ноль для UID, GID, временных меток и используйте согласованные режимы файлов для всех
файлы.
If Binutils был настроен с - включить детерминированные архивы, то этот режим включен
по умолчанию. Его можно отключить с помощью -U вариант ниже.
-U
- отключить детерминированные архивы
Do работать в детерминистический режим. Это обратное -D вариант, выше:
при копировании членов архива и записи индекса архива используйте их фактические UID, GID,
отметка времени и значения режима файла.
Это значение по умолчанию, если Binutils был настроен с
- включить детерминированные архивы.
--отладка
Если возможно, преобразуйте отладочную информацию. Это не по умолчанию, потому что только
поддерживаются определенные форматы отладки, и процесс преобразования может быть
потребляющий.
--заполнение пропуска волна
Заполните промежутки между разделами волна. Эта операция применяется к загрузка адрес (ЛМА)
разделов. Делается это за счет увеличения размера секции нижним
адрес и заполнение дополнительного пространства, созданного с помощью волна.
--pad-to адрес
Дополните выходной файл до адреса загрузки адрес. Это делается за счет увеличения
размер последней секции. Дополнительное пространство заполняется значением, указанным в
--заполнение пропуска (по умолчанию ноль).
--set-старт волна
Установите начальный адрес нового файла на волна. Не все форматы объектных файлов поддерживают
установка начального адреса.
--change-start увеличение
- отрегулировать-старт увеличение
Измените начальный адрес, добавив увеличение. Не все форматы объектных файлов поддерживают настройку
начальный адрес.
--change-адреса увеличение
--adjust-vma увеличение
Измените адреса VMA и LMA всех разделов, а также начальный адрес на
добавить увеличение. Некоторые форматы объектных файлов не позволяют изменять адреса разделов
произвольно. Обратите внимание, что это не перемещает разделы; если программа ожидает
разделы, которые должны быть загружены по определенному адресу, и эта опция используется для изменения
такие разделы, что они загружаются по другому адресу, программа может выйти из строя.
--изменить-адрес-раздела раздел{=, +, -}волна
--adjust-section-vma раздел{=, +, -}волна
Установите или измените как адрес VMA, так и адрес LMA любого совпадающего раздела
раздел. Если = используется, адрес раздела установлен на волна, В противном случае, волна is
добавляется или вычитается из адреса раздела. См. Комментарии под
--change-адреса, выше. Если раздел не соответствует ни одному разделу во входных данных
файла, будет выдано предупреждение, если только --no-change-предупреждения используется.
--change-section-lma раздел{=, +, -}волна
Установите или измените адрес LMA для любых совпадающих секций раздел. LMA
адрес - это адрес, по которому раздел будет загружен в память при загрузке программы
время. Обычно это то же самое, что и адрес VMA, который является адресом
раздел во время выполнения программы, но в некоторых системах, особенно в тех, где программа
хранится в ПЗУ, эти два могут быть разными. Если = используется, адрес раздела установлен на
волна, В противном случае, волна добавляется или вычитается из адреса раздела. Увидеть
комментарии под --change-адреса, выше. Если раздел не соответствует ни одному
во входном файле будет выдано предупреждение, если только --no-change-предупреждения is
используемый.
--change-раздел-vma раздел{=, +, -}волна
Установите или измените адрес VMA для любого совпадающего раздела раздел. Адрес VMA
это адрес, по которому раздел будет расположен после запуска программы
выполнение. Обычно это то же самое, что и адрес LMA, то есть адрес, по которому
раздел будет загружен в память, но в некоторых системах, особенно в тех, где
программа хранится в ПЗУ, эти два могут быть разными. Если = используется адрес раздела
на волна, В противном случае, волна добавляется или вычитается из адреса раздела.
См. Комментарии под --change-адреса, выше. Если раздел не совпадает
любые разделы во входном файле, будет выдано предупреждение, если только --no-change-предупреждения
используется.
--change-предупреждения
- настройки-предупреждения
If --изменить-адрес-раздела or --change-section-lma or --change-раздел-vma используется,
и шаблон раздела не соответствует ни одному разделу, выдается предупреждение. Это
по умолчанию.
--no-change-предупреждения
--no-настроить-предупреждения
Не выдавать предупреждения, если --изменить-адрес-раздела or --adjust-section-lma or
--adjust-section-vma используется, даже если шаблон раздела не соответствует ни одному разделу.
--set-section-флаги раздел=Флаги
Установите флаги для любых разделов, совпадающих раздел, Флаги аргумент - запятая
разделенная строка имен флагов. Признанные имена Alloc, фактов, загрузка,
нет загрузки, только для чтения, код, данным, ПЗУ, Shareи отлаживать. Вы можете установить фактов флажок
для раздела, у которого нет содержимого, но не имеет смысла очищать
фактов флаг раздела, который имеет содержимое - вместо этого просто удалите раздел.
Не все флаги имеют смысл для всех форматов объектных файлов.
--добавить-раздел имя раздела=имя файла
Добавьте новый раздел с именем имя раздела при копировании файла. Содержание нового
секции взяты из файла имя файла. Размер раздела будет размером
файл. Этот параметр работает только с форматами файлов, которые могут поддерживать разделы с
произвольные имена. Примечание. Возможно, потребуется использовать --set-section-флаги вариант
установить атрибуты вновь созданного раздела.
--dump-раздел имя раздела=имя файла
Поместите содержимое раздела с именем имя раздела в файл имя файла, перезапись
любое содержимое, которое могло быть там ранее. Этот вариант противоположен
--добавить-раздел. Этот вариант аналогичен --only-раздел вариант, за исключением того, что это
не создает форматированный файл, он просто выгружает содержимое как необработанные двоичные данные,
без применения каких-либо перемещений. Опцию можно указывать более одного раза.
--update-раздел имя раздела=имя файла
Заменить существующее содержимое раздела с именем имя раздела с содержимым файла
имя файла. Размер раздела будет адаптирован к размеру файла. В
флаги раздела для имя раздела будет без изменений. Для файлов формата ELF раздел
отображение сегментов также останется неизменным, что невозможно при использовании
--удалить-раздел последующей --добавить-раздел. Опция может быть указана более чем
один раз.
Примечание - можно использовать --переименовать-раздел и --update-раздел как обновить, так и
переименовать раздел из одной командной строки. В этом случае передайте исходное название раздела
в --update-раздел, а также исходное и новое имена разделов в --переименовать-раздел.
--добавить символ имя=[.:]ценностное [,Флаги]
Добавьте новый символ с именем имя при копировании файла. Этот вариант может быть указан
многократно. Если . задан, символ будет связан с и
относительно этого раздела, в противном случае это будет символ ABS. Указание неопределенного
раздел приведет к фатальной ошибке. Проверки стоимости нет, она будет
принято как указано. Можно указать флаги символов, и не все флаги будут
имеет смысл для всех форматов объектных файлов. По умолчанию символ будет глобальным. В
специальный флаг 'before =другой'вставит новый символ перед указанным
другой, в противном случае символы будут добавлены в конец таблицы символов в
порядок их появления.
--переименовать-раздел старое имя=новое имя[,Флаги]
Переименовать раздел из старое имя в новое имя, при необходимости изменив флаги раздела на
Флаги в процессе. Это имеет преимущество перед использованием сценария компоновщика для выполнения
переименовать так, чтобы результат оставался как объектный файл и не становился связанным
исполняемый файл.
Эта опция особенно полезна, когда входной формат является двоичным, так как это
всегда создавайте раздел под названием .data. Если, например, вы хотите вместо этого создать
раздел под названием .rodata, содержащий двоичные данные, вы можете использовать следующую командную строку
для этого:
objcopy -I двоичный -O -B \
--rename-section .data = .rodata, alloc, load, только для чтения, данные, содержимое \
--длинные имена разделов {включить, отключить, оставить}
Управляет обработкой длинных имен разделов при обработке "COFF" и "PE-COFF"
форматы объектов. Поведение по умолчанию, держать, состоит в том, чтобы сохранить длинные имена разделов, если таковые имеются
присутствуют во входном файле. В включить и запрещать опции принудительно включить или
запретить использование длинных имен разделов в объекте вывода; когда запрещать действует,
любые длинные имена разделов во входном объекте будут обрезаны. В включить вариант будет
выдавать длинные имена разделов, только если они присутствуют во входных данных; это в основном то же самое
as держать, но остается неопределенным, включить опция может заставить создание
пустой таблицы строк в выходном файле.
--change-lead-char
В некоторых форматах объектных файлов в начале символов используются специальные символы. Большинство
распространенным таким символом является подчеркивание, которое компиляторы часто добавляют перед каждым символом.
Эта опция сообщает объектная копия для изменения ведущего символа каждого символа, когда он
конвертирует между форматами объектных файлов. Если форматы объектных файлов используют одинаковые ведущие
персонажа, этот параметр не действует. В противном случае он добавит символ или удалит
персонажа или при необходимости измените его.
--remove-lead-char
Если первый символ глобального символа является ведущим символом специального символа, используется
по формату объектного файла удалите символ. Самый распространенный символ ведущего
символ подчеркивания. Эта опция удалит ведущее подчеркивание из всех глобальных
символы. Это может быть полезно, если вы хотите связать вместе объекты из разных файлов.
форматы с различными соглашениями для имен символов. Это отличается от
--change-lead-char потому что он всегда меняет имя символа, когда это необходимо,
независимо от формата объектного файла выходного файла.
--reverse-bytes =Num
Переверните байты в разделе с выходным содержимым. Длина секции должна быть одинаковой.
делится на значение, указанное для возможности обмена. Реверсивный
происходит до выполнения чередования.
Этот параметр обычно используется при создании образов ПЗУ для проблемных целевых систем.
Например, на некоторых целевых платах 32-битные слова, полученные из 8-битных ПЗУ, повторно
собирается в порядке байтов с прямым порядком байтов независимо от порядка байтов ЦП. В зависимости от
В модели программирования может потребоваться изменение порядка байтов ПЗУ.
Рассмотрим простой файл с разделом, содержащим следующие восемь байтов: 12345678.
. --reverse-bytes = 2 для приведенного выше примера байты в выходном файле будут
заказал 21436587.
. --reverse-bytes = 4 для приведенного выше примера байты в выходном файле будут
заказал 43218765.
С помощью --reverse-bytes = 2 для приведенного выше примера, за которым следует --reverse-bytes = 4 на
выходной файл, байты во втором выходном файле будут иметь порядок 34127856.
--srec-len =Ival
Имеет значение только для вывода srec. Установите максимальную длину записываемых записей.
произведено для Ival. Эта длина охватывает поля адреса, данных и CRC.
--srec-forceS3
Имеет значение только для вывода srec. Избегайте создания записей S1 / S2, создавая только S3
формат записи.
--переопределить-сим старый=new
Изменить название символа старыйдо new. Это может быть полезно, когда кто-то пытается связать
две вещи вместе, для которых у вас нет источника, и есть конфликты имен.
--redefine-syms =имя файла
Применить --переопределить-сим каждой паре символов "старый new"перечислено в файле имя файла.
имя файла представляет собой простой файл с одной парой символов в строке. Комментарии к строке могут быть
вводится символом решетки. Этот вариант можно давать более одного раза.
- ослабить
Измените все глобальные символы в файле на слабые. Это может быть полезно при создании
объект, который будет связан с другими объектами с помощью -R вариант для компоновщика.
Этот параметр эффективен только при использовании формата объектного файла, который поддерживает слабые
символы.
--keep-symbols =имя файла
Применить --keep-символ опция для каждого символа, указанного в файле имя файла. имя файла is
просто плоский файл с одним именем символа в строке. Комментарии к строке могут быть введены
символ решетки. Этот вариант можно давать более одного раза.
--strip-symbols =имя файла
Применить --strip-символ опция для каждого символа, указанного в файле имя файла. имя файла is
просто плоский файл с одним именем символа в строке. Комментарии к строке могут быть введены
символ решетки. Этот вариант можно давать более одного раза.
--strip-ненужные-символы =имя файла
Применить --strip-ненужный-символ опция для каждого символа, указанного в файле имя файла.
имя файла представляет собой простой файл с одним именем символа в строке. Комментарии к строке могут быть
вводится символом решетки. Этот вариант можно давать более одного раза.
--keep-global-symbols =имя файла
Применить --keep-глобальный-символ опция для каждого символа, указанного в файле имя файла.
имя файла представляет собой простой файл с одним именем символа в строке. Комментарии к строке могут быть
вводится символом решетки. Этот вариант можно давать более одного раза.
--localize-symbols =имя файла
Применить --localize-символ опция для каждого символа, указанного в файле имя файла. имя файла
представляет собой простой файл с одним именем символа в строке. Могут быть добавлены строковые комментарии
символом решетки. Этот вариант можно давать более одного раза.
--globalize-symbols =имя файла
Применить --globalize-символ опция для каждого символа, указанного в файле имя файла. имя файла
представляет собой простой файл с одним именем символа в строке. Могут быть добавлены строковые комментарии
символом решетки. Этот вариант можно давать более одного раза.
--weaken-symbols =имя файла
Применить --слабый-символ опция для каждого символа, указанного в файле имя файла. имя файла is
просто плоский файл с одним именем символа в строке. Комментарии к строке могут быть введены
символ решетки. Этот вариант можно давать более одного раза.
--alt-machine-code =индекс
Если в выходной архитектуре есть альтернативные машинные коды, используйте индексвместо этого код
по умолчанию. Это полезно, если машине присвоен официальный код и
цепочка инструментов принимает новый код, но другие приложения по-прежнему зависят от
используется исходный код. Для архитектур на основе ELF, если индекс альтернатива
не существует, то значение рассматривается как абсолютное число, которое будет сохранено в
Поле e_machine заголовка ELF.
--writable-текст
Отметьте выходной текст как доступный для записи. Эта опция не имеет смысла для всех объектных файлов.
форматов.
--readonly-текст
Сделайте выходной текст защищенным от записи. Эта опция не имеет смысла для всех объектов
форматы файлов.
--чистый
Отметьте выходной файл как выгружаемый по запросу. Эта опция не имеет смысла для всех объектов
форматы файлов.
- нечистый
Отметьте выходной файл как нечистый. Эта опция не имеет смысла для всех объектных файлов.
форматов.
--prefix-symbols =string
Префикс всех символов в выходном файле с string.
--prefix-разделы =string
Приставьте все имена разделов в выходном файле к префиксу string.
--prefix-alloc-разделы =string
Приставьте все имена всех выделенных разделов в выходном файле к префиксу string.
--add-gnu-debuglink =путь к файлу
Создает раздел .gnu_debuglink, который содержит ссылку на путь к файлу и добавляет
его в выходной файл. Примечание: файл по адресу путь к файлу должен существовать. Часть
процесс добавления раздела .gnu_debuglink включает в себя встраивание контрольной суммы
содержимое файла отладочной информации в раздел.
Если файл отладочной информации создан в одном месте, но он будет установлен в
позже в другое место, тогда не используйте путь к установленному
расположение. --add-gnu-debuglink вариант не удастся, потому что установленный файл
еще не существует. Вместо этого поместите файл отладочной информации в текущий каталог и используйте
--add-gnu-debuglink вариант без каких-либо компонентов каталога, например:
objcopy --add-gnu-debuglink = foo.debug
Во время отладки отладчик попытается найти отдельный файл отладочной информации в
набор известных мест. Точный набор этих мест варьируется в зависимости от
используется дистрибутив, но обычно он включает:
«* В том же каталоге, что и исполняемый файл».
"* Подкаталог каталога, содержащего исполняемый файл"
называется .debug
«* Глобальный каталог отладки, такой как / usr / lib / debug.»
Если файл отладочной информации был установлен в одно из этих мест до
отладчик запущен, все должно работать правильно.
--keep-файл-символы
При удалении файла, возможно, с --strip-debug or --strip-ненужныесохранить любые
символы, указывающие имена исходных файлов, которые в противном случае были бы удалены.
--only-keep-debug
Разделите файл, удалив содержимое всех разделов, которые не будут удалены
--strip-debug и оставив разделы отладки нетронутыми. В файлах ELF это сохраняет
все разделы заметок в выводе.
Примечание - заголовки разделов вырезанных разделов сохраняются, включая их
размеры, но содержимое раздела отбрасывается. Заголовки разделов
сохранены, чтобы другие инструменты могли сопоставить файл debuginfo с реальным
исполняемый файл, даже если этот исполняемый файл был перемещен в другое адресное пространство.
Предполагается, что эта опция будет использоваться вместе с --add-gnu-debuglink
для создания исполняемого файла, состоящего из двух частей. Один разделенный двоичный файл, который будет занимать меньше места
в ОЗУ и в дистрибутиве, а второй файл с отладочной информацией, который только
необходимо, если требуются возможности отладки. Предлагаемая процедура создания этих
файлы выглядит следующим образом:
1.
"фу" тогда ...
1.
создать файл, содержащий отладочную информацию.
1.
удаленный исполняемый файл.
1.
чтобы добавить ссылку на отладочную информацию в удаленный исполняемый файл.
Примечание: выбор ".dbg" в качестве расширения для файла отладочной информации произвольный.
Также шаг «--only-keep-debug» необязателен. Вместо этого вы можете сделать это:
1.
1.
1.
1.
т.е. файл, на который указывает --add-gnu-debuglink может быть полным исполняемым файлом. Это
не обязательно должен быть файлом, созданным --only-keep-debug переключатель.
Примечание. Этот переключатель предназначен только для использования с полностью связанными файлами. Это не делает
имеет смысл использовать его в объектных файлах, где отладочная информация может быть неполной.
Помимо функции gnu_debuglink в настоящее время поддерживается только наличие одного имени файла.
содержащие отладочную информацию, а не несколько имен файлов в одном файле для каждого объекта
основа.
--strip-dwo
Удалите содержимое всех разделов DWARF .dwo, оставив оставшиеся отладочные
разделы и все символы без изменений. Эта опция предназначена для использования компилятором как
части -gsplit-карлик опция, которая разделяет отладочную информацию между файлом .o
и отдельный файл .dwo. Компилятор генерирует всю отладочную информацию в одном
файл, затем использует --extract-два возможность скопировать разделы .dwo в файл .dwo,
то --strip-dwo возможность удалить эти разделы из исходного файла .o.
--extract-два
Извлеките содержимое всех разделов DWARF .dwo. Увидеть --strip-dwo вариант для большего
Информация.
- выравнивание файлов Num
Укажите выравнивание файла. Разделы в файле всегда будут начинаться со смещений файла
которые кратны этому числу. По умолчанию это 512. [Этот параметр специфичен
к целям PE.]
- куча резерв
- куча резерв,совершать
Укажите количество байтов памяти, которые необходимо зарезервировать (и, при необходимости, зафиксировать), которые будут использоваться в качестве
куча для этой проги. [Эта опция специфична для целей PE.]
--изображение-база ценностное
Используйте ценностное в качестве базового адреса вашей программы или dll. Это самая низкая память
место, которое будет использоваться при загрузке вашей программы или библиотеки DLL. Чтобы уменьшить потребность в
перемещать и улучшать производительность ваших dll, каждая из которых должна иметь уникальный базовый адрес
и не перекрывать другие DLL. По умолчанию для исполняемых файлов установлено значение 0x400000, и
0x10000000 для dll. [Эта опция специфична для целей PE.]
--section-выравнивание Num
Устанавливает выравнивание раздела. Разделы в памяти всегда будут начинаться с адресов, которые
кратны этому числу. По умолчанию 0x1000. [Эта опция специфична для PE
цели.]
--куча резерв
--куча резерв,совершать
Укажите количество байтов памяти, которые необходимо зарезервировать (и, при необходимости, зафиксировать), которые будут использоваться в качестве
стек для этой программы. [Эта опция специфична для целей PE.]
--подсистема , которые
--подсистема , которые:основной
--подсистема , которые:основной.небольшая
Задает подсистему, в которой будет выполняться ваша программа. Правовые значения для
, которые являются "native", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" и "xbox". При желании вы также можете установить версию подсистемы. Числовой
значения также принимаются для , которые. [Эта опция специфична для целей PE.]
--extract-символ
Сохраните флаги и символы разделов файла, но удалите все данные раздела. Конкретно,
опция:
*
*
*
Этот вариант используется для создания .сим файл для ядра VxWorks. Это также может быть
полезный способ уменьшить размер --просто-символы входной файл компоновщика.
--compress-debug-разделы
Сжимайте разделы отладки DWARF с помощью zlib с SHF_COMPRESSED из ELF ABI. Примечание -
если сжатие действительно сделало бы раздел больше, то он не сжимается.
--compress-debug-section = нет
--compress-debug-section = zlib
--compress-debug-section = zlib-gnu
--compress-debug-section = zlib-gabi
Для файлов ELF эти параметры определяют способ сжатия отладочных разделов DWARF.
--compress-debug-section = нет эквивалентна --decompress-debug-разделы.
--compress-debug-section = zlib и --compress-debug-section = zlib-gabi эквивалентны
в --compress-debug-разделы. --compress-debug-section = zlib-gnu сжимает DWARF
разделы отладки с использованием zlib. Разделы отладки переименованы, чтобы начать с .zdebug
вместо .отлаживать. Примечание - если сжатие действительно приведет к созданию раздела больше, то
он не сжимается и не переименовывается.
--decompress-debug-разделы
Распакуйте разделы отладки DWARF с помощью zlib. Исходные названия разделов
сжатые участки восстанавливаются.
-V
--версия
Показать номер версии объектная копия.
-v
--подробный
Подробный вывод: список всех измененных объектных файлов. В случае архивов объектная копия -V
перечисляет всех участников архива.
--Помогите
Показать сводку опций для объектная копия.
--Информация
Отобразите список, показывающий все доступные архитектуры и форматы объектов.
@файл
Прочтите параметры командной строки из файл. Прочитанные параметры вставляются вместо
оригинал @файл вариант. Если файл не существует или не может быть прочитан, то опция
будут трактоваться буквально, а не удаляться.
Варианты в файл разделены пробелом. Может быть включен пробельный символ
в опции, заключив весь вариант в одинарные или двойные кавычки. Любой
символ (включая обратную косую черту) может быть включен путем добавления префикса к символу, который будет
включены с обратной косой чертой. В файл сам может содержать дополнительные @файл параметры; любой
такие параметры будут обрабатываться рекурсивно.
Используйте aarch64-linux-gnu-objcopy онлайн с помощью сервисов onworks.net