Когда компоновщик выдает объектный файл, он записывает имя и адрес каждого символа, независимо от его видимости (в разделе .symtab
, который можно вывести с помощью readelf --symbols <elf-file>
).Он используется для отладки для отображения имен символов, даже если отладочная информация недоступна.Во время обычного выполнения этот раздел не загружается / не отображается в адресном пространстве.
Скрытые символы нельзя использовать для разрешения символов из других объектных файлов, так же как символы, помеченные ключевым словом static
.При необходимости вы можете удалить их с помощью утилиты strip
.