Хорошо известно, что glibc (и, насколько я знаю, также glibstd ++) использует механизм управления версиями символов. (Подробности см. В . Как я могу ссылаться на конкретную версию glibc .)
Вопрос в том, как определить точные версии GLIBC и GLIBCXX будет выбран компоновщиком для имен из libc и libstdc ++? Например, как получить что-то вроде этого:
time -> time@GLIBC_2_5
...
gethostbyname -> gethostbyname@GLIBC_2_3
Зачем нам это нужно? Мне кажется, что это может быть полезно, если вы хотите минимизировать требуемые версии glibc / libstdc ++.
Вы можете попробовать запустить objdump -T
в вашем двоичном файле.
Если вы рассматриваете возможность создания ссылок на более старые версии символов, имейте в виду, что эти более старые версии могут также зависеть от более старых, других структур или других определений. Чтобы этого избежать, компилируйте и связывайте с более старыми соответствующими заголовочными файлами и библиотеками.