| |
objcopy [-F BFDNAME | --target=BFDNAME]
[-I BFDNAME | --input-target=BFDNAME]
[-O BFDNAME | --output-target=BFDNAME]
[-S | --strip-all] [-g | --strip-debug]
[-K SYMBOLNAME | --keep-symbol=SYMBOLNAME]
[-N SYMBOLNAME | --strip-symbol=SYMBOLNAME]
[-x | --discard-all] [-X | --discard-locals]
[-b BYTE | --byte=BYTE]
[-i INTERLEAVE | --interleave=INTERLEAVE]
[-R SECTIONNAME | --remove-section=SCTIONNAME]
[--gap-fill=VAL] [--pad-to=ADDRESS]
[--set-start=VAL] [--adjust-start=INCR]
[--adjust-vma=INCR]
[--adjust-section-vma=SECTION{=,+,-}VAL]
[--adjust-warnings] [--no-adjust-warnings]
[--set-section-flags=SECTION=FLAGS]
[--add-section=SECTIONNAME=FILENAME]
[-v | --verbose] [-V | --version] [--help]
INFILE [OUTFILE]
Утилита GNU objcopy копирует содержимое одних объектных
файлов в другие. Для чтения и записи объектных файлов objcopy
использует библиотеку GNU BFD. Она может записывать результирующие
объектные файлы в формате отличном от формата исходных объектных
файлов. Работа objcopy определяется опциями командной строки.
Во время трансляции objcopy создает временный файл, который после работы уничтожается. objcopy использует BFD на протяжении всей трансляции; это позволяет получить доступ ко всем форматам описанным в BFD и распозновать многие форматы без явного их указания. Смотри раздел BFD в 'Использование LD'.
objcopy может быть использован для создания S-записей используя вывод результата в 'srec' (используя '-O srec').
objcopy может быть использован для создания двоичных файлов используя вывод результата в 'binary' (используя '-O binary'). Когда objcopy создает двоичный файл, он на самом деле делает дамп памяти исходного объектного файла. Все символы и информация размещения могут быть удалены. Дамп памяти начиная с виртуального адреса первого раздела копируется в выходной файл.
Во время создания S-записи или двоичного файла, разделы содержащие отладочную информацию могут быть удалены с помощъю опции '-S'. Опция '-R' может быть полезна для удаления разделов содержащих информацию не нужную в двоичном файле.
Задают входной и выходной файлы, соответственно. Если Вы не указываете INFILE, objcopy создает временный файл и переименовывает результат в INFILE.
Принять формат исходного объектного файла за формат BFDNAME. Подробнее см. раздел 12.1 [Выбор целевой ОС], стр. 37.
Принять формат результирующего объектного файла за формат BFDNAME. Подробнее см. раздел 12.1 [Выбор целевой ОС], стр. 37.
Использовать BFDNAME как формат входного и выходного объектных файлов; т.е. просто перереписывает INFILE в OUTFILE без трансляции. Подробнее см. раздел 12.1 [Выбор целевой ОС], стр. 37.
Удаляет любые разделы с названием SECTIONNAME из выходного файла. Опция может задаваться неоднократно. ВНИМАНИЕ неосторожное применение этой опции может привести к порче выходного файла.
Не копировать информацию о распределении и символы из входного файла.
Не копировать отладочные символы из входного файла.
Убрать все сивыолы ненужные для процесса загрузки.
Копировать из входного файла только символ SYMBOLNAME. Опция может задаваться неоднократно.
Не копировать из входного файла символ SYMBOLNAME. Опция может задаваться неоднократно, и может комбинироваться с любыми '--strip-' - опциями также как и '-K'.
Не копировать не глобальные символы из входного файла.
Не копировать локальные символы, генерируемые компилятором (они обычно начинаются с 'L' имя '.' ).
Оставить только каждый BYTE-выи байт фходного файла (данные заголовка остаются без изменений). BYTE может быть в диапазоне от 0 до INTERLEAVE-1, где INTERLEAVE задается опцией -i или --interleave, и по умолчанию равен 4. Эта опция помогает создавать файлы для записи в ПЗУ. Обычно она используется с выводом в 'srec'.
Копировать только каждый INTERLIV-ный байт. Выберите копируемый байт используя опцию '-b' или '--byte'.
Заполняет промежутки в разделах значением VAL. Увеличивает размер раздела с нижних адресов и заполняет лишние пробелы значением VAL.
Расширяет выходной фай до виртуального адреса ADDRESS. Это достигается увеличением размера последнего раздела. Заполняет промежутки в разделах значением указанным в опци '--gap-fill' (по умолчанию 0).
Установить алрес нового файла в значение VAL. Не все форматы объектных файлов поддерживают установку начального адреса.
Выронять стартовый адрес посредством добавления INCR. Не все форматы объектных файлов поддерживают установку начального адреса.
Выравнивание адресов всех разделов, как и стартового адреса, прибавлением INCR. Некоторые форматы объектных файлов не позволяют произвольно изменять адрес секции. Обратите внимание на то что расположение разделов остается без изменения; если программа ожидает згрузки раздела по определенному адресу, и эта опция использовалась изменения адреса загрузки раздела, то программа может работать неправильно.
Установить или варовнять адрес раздела с названием SECTION. При использовании '=' адрес раздела устанавливается в VAL. Иначе VAL добавляется или вычитается из адреса раздела. См. выше комментарии к '--adjust-vma'. Если SECTION не существует во входном файле, будет выдано предупреждение, если не использована опция '--no-adjust-warnings'.
Если использована опция '--adjust-section-vma', и раздел не существует, выдается предупреждение. Опция используется по умолчанию.
Если использована опция '--adjust-section-vma', и раздел не существует, предупреждение не выдается.
Устанавливает флаги для указаного раздела. Аргумент FLAGS - является строкой имен флагов, разделенных точками. Возможны имены флагов: 'aloc', 'load', 'readonly', 'code', 'data' и 'rom'. не все флаги могут применяться для всех форматов объектного файла.
Добавить новый раздел с именем SECTIONNAME. Солержимое нового раздела берется из файла FILENAME. Размер раздела будет равен размеру файла. Эта опция работет с форматами объектных файлов, поддерживающих управление именами.
Выводит номер версии objcopy.
Выводит имена всех измененных объектных файлов. В применении к архивам, 'objcopy -v' выводит имена всех членов архива.
Выводит краткий список всех опций.
4. objdump
objdump [-a | --archive-headers] [-b BFDNAME | --target=BFDNAME] [-d | --disassemble] [-D | --disassemble-all] [-f | --file-headers] [-h | --section-headers | --headers] [-i | --info] [-j SECTION | --section=SECTION] [-l | --line-numbers] [-S | --source] [-m MACHINE | --architecture=MACHINE] [-r | --reloc] [-R | --dynamic-reloc] [-s | --full-contens] [--stabs] [-t | --syms] [-T | --dynamic-syms] [-x | --all-headers] [-w | --wide] [--tart-address=ADDRESS] [--stop-address=ADDRESS] [--version] [--help] OBJFILE ...
objdump показывает информацию об одом или нескольких объектных файлах. Эта опция управляет выдачей специфической информации. Эта опция весьма полезна как программистам работающим со средствами компиляции, так и программистам просто компилирующим и работающим со своими программами.
OBJFILE ... является именем исследуемого объектного файла. Если Вы указываете архив, objdump показывает информацию о каждом члене.
Длинные и короткие формы опций, приведенные в качестве альтернативных, эквивалентны. В конце каждой опции, кроме того, должно быть задано '-l'.
Для любого OBJFILE являющегося архивом, показывает информацию из заголовка (в формате аналогичном 'ls -l'). Кроме того, с 'ar tv', 'objdump -a' показывает формат объектного файла каждого члена архива.
Интерпретирует формат объектного кода в объектном фацле как BFDNAME. Опция не является обязательной, т.к. objdump может автоматически распознавать множесво форматов. Например:
objdump -b oasys -m vax -h fu.o
выдает краткую информацию по секции заголовка ('-h') для ''fu.o, которая явно определена ('-m') как VAX-овский объектный файл в формате представляемом компиляторами Oasys. Вы можете записать доступные форматы с опцией '-i'. Подробнее см. раздел 12.1 [Выбор целевой ОС], стр. 37.
Показывает OBJFILE в ассемблерных мнемониках машинных инструкций. Эта опция дезассемблирует только секции, в которых предполагается наличие машинного кода.
Аналогична опции '-d', но дезассемблирует содержимое всех секций, независимо от наличия в них машинного кода.
Показывает краткую информацию для всех заголовков файла OBJFILE.
Показывает краткую информацию для секции заголовка объектного файла. Сегменты в файле могут быть размещены по нестандартным адресам, например как при использовании '-Ttext', '-Tdata' или '-Tbss' в опции 'ld'. Тем не менее, в форматы некоторых объектных файлов, таких как 'a.out', не содержат информацию о начальных адресах сегментов. В таких случаях, несмотря на корректное перемещение секций 'ld', использование 'objdump -h' приводит к выдаче неправильных адресов из секции заголовка. Вместо этого отображаются обычные адреса, которые неявно подразумеваются.
Показывает краткий список опций objdump.
Показывает список с указанием доступных архитектур и форматов объектных файлов. Используется с '-b' или '-m'.
Показывает информацию только для раздела с именем NAME.
Выводит информацию (используя отладочную информацию) с именем файла и номерами строк соответствующих показываемому объектному коду. Используется только с '-d' или '-D'.
Показывает что объектный файл OBJFILE сделан для архитектура MACHINE. Вы можете получить список доступных архитектур используя опцию '-i'ю
Печатает таблицу связей файла. Если использована с '-d' или '-D' связи будут напечатаны вперемежку с дизассемблируемым кодом.
Печатает таблицу динамических связей файла. Опция действительна только для динамических объектов, таких как некоторые типы разделяемых библиотек.
Выводит полное содержимое любой запрошенной секции.
Выводит исходнай код вперемежку с дисассемблируемым (если возможно). Требует опцию '-d'.
Выводит полное содержимое запрошенной секции. Выводит содержимое секций: .stab .index, .stab .excl из ELF файлов. Это доступно только на системах (типа SOLARIS 2.0) в которых отладочная информация помещена в ELF раздел. Во многих других форматах файлов отладочная информация перемешана с другими символами и может быть просмотрена с помощью '--sims'.
Начать вывод данных с указанного адреса, не применяется с опциями '-d', '-r'.
Зкончить вывод данных с указанного адреса, не применяется с опциями '-d', '-r'.
Напечатать таблицу символов для файла. Аналогично результату от программы nm.
Напечатать информацию о динамических символах файла. Опция действительна только для динамических объектов, таких как некоторые типы разделяемых библиотек. Аналогично программе nm с опцией '-D' (--dynamic).
Печатает номер версии objdump и завершается.
Распечатывает всю доступную информацию из заголовка, включая таблицы символов и таблицы связей загрузки. Использование '-x' эквивалентно '-a -f -h -r -t'.
Форматировать некоторые строки для вывода на устройство имеющее более 80 колонок.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |