Как определить версию glibc (glibcxx ) двоичный файл будет зависеть от?

Хорошо известно, что glibc (и, насколько я знаю, также glibstd ++) использует механизм управления версиями символов. (Подробности см. В . Как я могу ссылаться на конкретную версию glibc .)

Вопрос в том, как определить точные версии GLIBC и GLIBCXX будет выбран компоновщиком для имен из libc и libstdc ++? Например, как получить что-то вроде этого:

time -> time@GLIBC_2_5
...
gethostbyname -> gethostbyname@GLIBC_2_3

Зачем нам это нужно? Мне кажется, что это может быть полезно, если вы хотите минимизировать требуемые версии glibc / libstdc ++.

7
задан Community 23 May 2017 в 12:01
поделиться

1 ответ

Вы можете попробовать запустить objdump -T в вашем двоичном файле.

Если вы рассматриваете возможность создания ссылок на более старые версии символов, имейте в виду, что эти более старые версии могут также зависеть от более старых, других структур или других определений. Чтобы этого избежать, компилируйте и связывайте с более старыми соответствующими заголовочными файлами и библиотеками.

10
ответ дан 7 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: