2015-01-09 4 views
1

Я читаю документацию objdump в:
objdump manualКаковы общие символы в objdump?

и в строке, которая определяет вывод таблицы символов для файлов записей на основе ELF с опцией -t, есть одна строка, что я хотел бы лучше понять. Я скопировал эту часть документации здесь, чтобы уточнить. Мой вопрос заключается в том, что для общих символов objdump показывает выравнивание, но что считается общим символом?
Спасибо заранее.


содержание документации

Другой общий формат вывода, как правило, рассматривается с файлами на основе ELF, выглядит следующим образом:

 00000000 l d .bss 00000000 .bss 
     00000000 g  .text 00000000 fred 

Здесь первый номер является значение символа (иногда называемое его адресом). Следующее поле представляет собой набор символов и пробелов, обозначающих биты флага, которые установлены на символе. Эти символы описаны ниже. Далее идет раздел, с которым символ связан или ABS если секция является абсолютным (т.е. не связан с какой-либо секции), или UND если раздел ссылается файл выбрасывали, но не определен там ,

После названия раздела появляется другое поле, число, которое для общих символов - это выравнивание, а для другого символа - размер. Наконец, отображается имя символа .

+0

Непонятно, что вы спрашиваете: действительно ли спросите, какие символы часто появляются или что-то еще? – ams

+0

Я не понимаю, что такое общий символ. Например, если я определяю целочисленную переменную, это общий символ? – Mike

+0

О, я вижу сейчас; в этом контексте документация имеет особое значение для термина «общий». – ams

ответ

0

Я не совсем знаком с этой терминологией, но я считаю, «общий символ» относится к символам в «общем переменном хранении», что означает раздел .bss. См. the assembler documentation.

Раздел .bss используется для данных, которые не инициализируются (или нуль инициализируются) при запуске программы. Эти данные не имеют значения, хранящихся в объектном файле, поэтому смещение файла было бы неуместным.

Символы, не являющиеся общеупотребительными, являются переменными, функциями и т. Д., Которые связаны с данными или кодом, хранящимися в объектном файле, и которые будут загружены в память во время выполнения.