У меня есть недокументированный общий объект, libXSAL.so , с которым я хотел бы связать.
Я написал файл частичного заголовка, содержащий нужные мне функции, с предполагаемыми сигнатурами от обратного инжиниринга с Ghidra.
gcc
завершается неудачно во время соединения: undefined reference to 'function_name'
для каждой из функций, которые я использую.
nm -D libXSAL.so
nm: libXSAL.so: No symbols
objdump -t libXSAL.so
libXSAL.so: file format elf32-little
SYMBOL TABLE:
no symbols
Однако Гидра определяет имена функций, как они даны в таблице символов, и, просматривая hexdump вручную, я могу видеть их тоже.
Насколько Я могу видеть, искажение имени не под рукой ни в библиотеке, ни в моем собственном коде; библиотека, кажется, C, и мой код тоже.
Моя цель - иметь возможность ссылаться на эту библиотеку как есть.
Почему некоторые инструменты видят символы, в то время как другие нет?