Какова цель, чтобы содержать информацию о статических переменных в таблице символов?

Я пытаюсь понять .symtab Тип setcion для перемещаемых объектных файлов. И я знаю, что он содержит информацию о статических переменных. Но почему?

Все, что нам нужно сделать для связывания перемещаемых объектных файлов с некоторыми другими, это переместить адрес этой статической переменной (и некоторых других, конечно, но это не имеет значения для статических переменных). Так что все, что нам нужно - это таблица перемещений, которая хранится в .rel.data и содержит всю информацию для перемещения статической переменной, не так ли?

2 ответа

Решение

Но для отладки может быть полезно знать, где находятся переменные.

Не уверен в вашем компиляторе, но для компилятора IBM AIX по умолчанию не добавляются статические переменные в таблицу символов.

Тем не менее, для отладки, скажем, gdb весьма полезно знать, что содержат статические переменные и связанные с ними символы, поэтому было бы целесообразно, чтобы они там появлялись.

Другие вопросы по тегам