каковы общие символы в objdump?

Я читаю документацию по objdump в:
руководство по objdump

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


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

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

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

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

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


person Mike    schedule 09.01.2015    source источник
comment
Непонятно, о чем вы спрашиваете: хотите спросить, какие символы часто появляются, или что-то еще?   -  person ams    schedule 09.01.2015
comment
Я не понимаю, что такое общий символ. Например, если я определяю целочисленную переменную, это общий символ?   -  person Mike    schedule 09.01.2015
comment
О, теперь я вижу; документация имеет особое значение для термина «общий» в этом контексте.   -  person ams    schedule 09.01.2015


Ответы (1)


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

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

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

person ams    schedule 09.01.2015