Существует ли какая-то официальная документация о совместимости версий между binutils, glibc и GCC? я нашел эта матрица для binutils против совместимости с версией GCC. Было бы хорошо иметь что-то подобное и для GCC против glibc.
Вопрос, о котором я спрашиваю, заключается в том, что мне нужно знать, могу ли я собрать, скажем, перекрестную версию GCC 4.9.2 с «встроенным» glibc 2.2.4, чтобы иметь возможность поддерживать довольно старые цели, такие как CentOS 5.
Спасибо.
крайне маловероятно, что вы сможете собрать такую старую версию glibc с такой новой версией gcc. glibc документирует минимальную требуемую версию binutils & GCC в своем УСТАНОВИТЬ файл.
glibc-2.23 сообщает:
Recommended Tools for Compilation
GCC 4.7 or newer
GNU 'binutils' 2.22 or later
Обычно, если вы хотите использовать более новую версию, glibc будет работать с версией gcc, которая была в разработке на момент выпуска. например glibc-2.23 был выпущен 18 февраля 2016 года, и gcc-6 в то время находился в стадии разработки, поэтому glibc-2.23 будет работать с gcc-4.7 по gcc-6.
так что найдите версия gcc Вы хотите, затем найдите дату выпуска, а затем посмотрите на Glibc релизы примерно в то же время.
все, что сказано, использование старой версии glibc — ужасная идея. он будет полон известных уязвимостей безопасности (в том числе удаленно эксплуатируемых). последняя версия glibc-2.23, например, исправлена CVE-2015-7547 который влияет на любое приложение, выполняющее разрешение сети DNS, и влияет на версии, начиная с glibc-2.9. помните: это не единственная скрывающаяся ошибка.
Других решений пока нет …