Я использовал
readelf --dyn-sym my_elf_binary | grep FUNC | grep UND
для отображения динамически импортированных функций my_elf_binary
, из таблицы динамических символов в разделе .dynsym
, чтобы быть точным. Пример вывода:
[...]
3: 00000000 0 FUNC GLOBAL DEFAULT UND [email protected]_2.0 (3)
4: 00000000 0 FUNC GLOBAL DEFAULT UND [email protected]_2.0 (3)
5: 00000000 0 FUNC GLOBAL DEFAULT UND [email protected]_2.0 (3)
6: 00000000 0 FUNC GLOBAL DEFAULT UND [email protected]_2.0 (3)
7: 00000000 0 FUNC GLOBAL DEFAULT UND [email protected]_2.2 (4)
[...]
Можно ли предположить, что имена, связанные с этими символами, например, tcsetattr
или access
, всегда уникальны? Или возможно, или разумно *) иметь таблицу динамических символов (отфильтрованную для FUNC
и UND
), которая содержит две записи с одинаковой связанной строкой
Я задаю вопрос, что я ищу уникальный идентификатор для динамически импортируемых функций...
*) Не будет ли динамический компоновщик разрешать все символы "UND FUNC
" с тем же именем в одну и ту же функцию?