Как определить версию двоичного файла glibc (glibcxx)? - PullRequest
7 голосов
/ 09 августа 2010

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

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

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

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

1 Ответ

10 голосов
/ 09 августа 2010

Одна вещь, которую вы можете попробовать, это запустить objdump -T в вашем двоичном файле.

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

...