Если вы можете связать исполняемый файл, самый простой способ выяснить, откуда берутся ссылки и определения, - использовать флаг ld
-y
. Например:
$ cat t.c
int main() { printf("Hello\n"); return 0; }
$ gcc t.c -Wl,-yprintf
/lib/libc.so.6: definition of printf
Если вы не можете связать исполняемый файл, запустите на нем ldd
, а затем 'nm -D'
на всех библиотеках, перечисленных по порядку, и grep
для интересующего вас символа.