實作了使用 LLVM 工具包建構 Glibc 的能力

Инженеры из компании Сollabora опубликовали отчёт о реализации проекта по обеспечению сборки системной библиотеки GNU C Library (glibc) с использованием инструментария LLVM (Clang, LLD, compiler-rt) вместо GCC. До последнего времени Glibc оставался одним из значительных компонентов дистрибутивов, поддерживающих сборку только при помощи GCC.

Сложности адаптации Glibc для сборки при помощи LLVM вызваны как различиями в поведении GCC и Clang при обработке некоторых конструкций (например, выражений с символом $, вложенных функций, меток в asm-блоках, типов long double и float128), так и необходимостью замены runtime с libgcc на compiler-rt.

Для обеспечения сборки Glibc при помощи LLVM подготовлено около 150 патчей для окружения Gentoo и 160 для окружения на базе ChromiumOS. В текущем виде сборка в ChromiumOS уже успешно проходит тестовый набор, но пока не включена по умолчанию. Следующим шагом станет передача подготовленных изменений в основной состав Glibc и LLVM, продолжение тестирования и исправление всплывающих нетипичных проблем. Некоторые из патчей уже приняты в ветку Glibc 2.37.

來源: opennet.ru

添加評論