Это команда aarch64-linux-gnu-nm, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
nm - вывести список символов из объектных файлов
СИНТАКСИС
нм [-A|-o|--print-имя-файла] [-a|--debug-syms]
[-B|--format = bsd] [-C|- распутать[=стиль]]
[-D|- динамический] [-fформат|--format =формат]
[-g|- только внешний] [-h|--Помогите]
[-l|- номера строк] [-n|-v|--числовая сортировка]
[-P|- портативность] [-p|- без сортировки]
[-r|--обратная сортировка] [-S|- размер отпечатка]
[-s|- принт-армап] [-t корень|--radix =корень]
[-u|--undefined-только] [-V|--версия]
[-X 32_64] [--только определенные] [--no-разбирать]
[--плагин имя] [- размер-сортировка] [--специальные символы]
[- синтетический] [--target =имя парня]
[objfile...]
ОПИСАНИЕ
GNU nm перечисляет символы из объектных файлов objfile.... Если в списке нет объектных файлов
аргументы, nm предполагает файл а. выход.
Для каждого символа nm Выставки:
· Значение символа в системе счисления, выбранной параметрами (см. Ниже), или в шестнадцатеричной системе счисления
по умолчанию.
· Тип символа. Используются по крайней мере следующие типы; другие тоже
в зависимости от формата объектного файла. В нижнем регистре символ обычно является локальным; если
прописные, символ глобальный (внешний). Однако есть несколько символов в нижнем регистре
которые показаны для специальных глобальных символов («u», «v» и «w»).
"A" Значение символа является абсолютным и не будет изменено при дальнейшем связывании.
«В»
«b» Символ находится в разделе неинициализированных данных (известном как BSS).
«C» Символ обычный. Общие символы - это неинициализированные данные. При связывании
несколько общих символов могут появляться с одним и тем же именем. Если символ определен
в любом месте общие символы рассматриваются как неопределенные ссылки.
"D"
"d" Символ находится в секции инициализированных данных.
"Г"
"g" Символ находится в разделе инициализированных данных для небольших объектов. Какой-то объектный файл
форматы обеспечивают более эффективный доступ к небольшим объектам данных, таким как глобальный int
переменная в отличие от большого глобального массива.
"i" Для файлов в формате PE это означает, что символ находится в разделе, специфичном для
реализация DLL. Для файлов формата ELF это означает, что символ является
косвенная функция. Это расширение GNU для стандартного набора символов ELF.
типы. Он указывает на символ, который, если на него ссылаются при перемещении, не
оценивается по его адресу, но вместо этого должен вызываться во время выполнения. Время выполнения
Затем выполнение вернет значение, которое будет использоваться при перемещении.
«I» Этот символ является косвенной ссылкой на другой символ.
"N" Символ - это символ отладки.
"p" Символы находятся в секции размотки стопки.
"Р"
"r" Символ находится в разделе данных только для чтения.
"S"
"s" Символ находится в разделе неинициализированных данных для небольших объектов.
«Т»
"t" Символ находится в текстовой (кодовой) части.
«U» Символ не определен.
«u» Этот символ является уникальным глобальным символом. Это расширение GNU к стандартному набору
привязок символов ELF. Для такого символа динамический компоновщик позаботится о том, чтобы
во всем процессе используется только один символ с таким именем и типом.
«В»
"v" Символ - слабый объект. Когда слабый определенный символ связан с нормальным
определенный символ, нормально определенный символ используется без ошибок. Когда слабый
неопределенный символ связан, и символ не определен, значение слабого
символ становится нулевым без ошибок. В некоторых системах заглавные буквы указывают на то, что
указано значение по умолчанию.
"W"
"w" Этот символ является слабым символом, который не был специально помечен как слабый объект.
условное обозначение. Когда слабый определенный символ связан с обычным определенным символом,
нормально определенный символ используется без ошибок. Когда слабый неопределенный символ
связаны и символ не определен, значение символа определяется в
специфичный для системы способ без ошибок. В некоторых системах заглавные буквы указывают на то, что
указано значение по умолчанию.
"-" Этот символ представляет собой ударный символ в объектном файле a.out. В этом случае следующий
напечатанные значения - это поле stabs other, поле stabs desc и тип stab.
Символы ударов используются для хранения отладочной информации.
"?" Тип символа неизвестен или зависит от формата объектного файла.
· Название символа.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Длинная и краткая формы опционов, показанные здесь как альтернативы, эквивалентны.
-A
-o
--print-имя-файла
Перед каждым символом ставьте имя входного файла (или члена архива), в котором он был
найден, а не идентифицирует входной файл только один раз перед всеми его символами.
-a
--debug-syms
Отображать все символы, даже символы только отладчика; обычно их нет в списке.
-B Такой же как --format = bsd (для совместимости с MIPS nm).
-C
--demangle [=стиль]
Расшифровать (разобрать) имена символов низкого уровня в имена пользовательского уровня. Помимо удаления любых
начальное подчеркивание, добавленное системой в начале, делает имена функций C ++ удобочитаемыми.
У разных компиляторов разные стили манипуляции. Необязательный стиль демонтажа
аргумент может использоваться для выбора подходящего стиля разборки для вашего компилятора.
--no-разбирать
Не разбирайте названия символов низкого уровня. Это значение по умолчанию.
-D
- динамический
Отображайте динамические символы, а не обычные символы. Это только имеет смысл
для динамических объектов, таких как определенные типы разделяемых библиотек.
-f формат
--format =формат
Используйте выходной формат формат, который может быть «bsd», «sysv» или «posix». По умолчанию
"БСД". Только первый персонаж из формат имеет значение; он может быть как верхним, так и
нижний регистр.
-g
- только внешний
Отображать только внешние символы.
-h
--Помогите
Показать сводку опций для nm и выйти.
-l
- номера строк
Для каждого символа используйте отладочную информацию, чтобы попытаться найти имя файла и номер строки.
Для определенного символа найдите номер строки адреса символа. Для
undefined, найдите номер строки записи о перемещении, которая относится к
условное обозначение. Если можно найти информацию о номере строки, выведите ее после другого символа.
Информация.
-n
-v
--числовая сортировка
Сортируйте символы численно по их адресам, а не в алфавитном порядке по их
имена.
-p
- без сортировки
Не утруждайте себя сортировкой символов в любом порядке; распечатайте их в найденном порядке.
-P
- портативность
Используйте стандартный выходной формат POSIX.2 вместо формата по умолчанию. Эквивалентно
-f POSIX.
-r
--обратная сортировка
Измените порядок сортировки (числовой или буквенный); пусть приходит последнее
первый.
-S
- размер отпечатка
Выведите как значение, так и размер определенных символов для стиля вывода «bsd». Этот вариант
не действует для форматов объектов, в которых не записываются размеры символов, если только - размер-сортировка
также используется, в этом случае отображается рассчитанный размер.
-s
- принт-армап
При перечислении символов из элементов архива включите индекс: отображение (хранится в
архивировать ar or ранлиб) какие модули содержат определения для каких имен.
-t корень
--radix =корень
Используйте корень в качестве системы счисления для печати значений символов. Это должно быть d для десятичного числа, o
для восьмеричного, или x для шестнадцатеричного.
-u
--undefined-только
Отображать только неопределенные символы (внешние по отношению к каждому объектному файлу).
-V
--версия
Показать номер версии nm и выйти.
-X Этот параметр игнорируется для совместимости с версией AIX. nm. Требуется один
параметр, который должен быть строкой 32_64. Режим по умолчанию AIX nm соответствует
-X 32, который не поддерживается GNU nm.
--только определенные
Отображать только определенные символы для каждого объектного файла.
--плагин имя
Загрузите плагин под названием имя чтобы добавить поддержку дополнительных типов целей. Этот вариант
доступно только в том случае, если набор инструментов был построен с включенной поддержкой плагинов.
- размер-сортировка
Сортировать символы по размеру. Размер рассчитывается как разница между значением
символ и значение символа со следующим по величине значением. Если вывод "bsd"
формат используется размер символа, а не значение, и -S должен
использоваться для того, чтобы напечатать и размер, и значение.
--специальные символы
Отображение символов, имеющих особое значение для конкретной цели. Эти символы
обычно используется целью для некоторой специальной обработки и обычно не помогает
при включении в обычные списки символов. Например, для целей ARM эта опция
пропустит символы сопоставления, используемые для обозначения переходов между кодом ARM и кодом THUMB
и данные.
- синтетический
Включите синтетические символы в вывод. Это специальные символы, созданные
компоновщик для различных целей. По умолчанию они не отображаются, так как не являются частью
исходный код двоичного файла.
--target =имя парня
Укажите формат объектного кода, отличный от формата по умолчанию в вашей системе.
@файл
Прочтите параметры командной строки из файл. Прочитанные параметры вставляются вместо
оригинал @файл вариант. Если файл не существует или не может быть прочитан, то опция
будут трактоваться буквально, а не удаляться.
Варианты в файл разделены пробелом. Может быть включен пробельный символ
в опции, заключив весь вариант в одинарные или двойные кавычки. Любой
символ (включая обратную косую черту) может быть включен путем добавления префикса к символу, который будет
включены с обратной косой чертой. В файл сам может содержать дополнительные @файл параметры; любой
такие параметры будут обрабатываться рекурсивно.
Используйте aarch64-linux-gnu-nm в Интернете с помощью сервисов onworks.net