Я использовал
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" с тем же именем в одну и ту же функцию?