Los ingenieros de la empresa Collabora han publicado un informe sobre la implementación del proyecto para facilitar la construcción de la biblioteca del sistema GNU C Library (glibc) utilizando herramientas LLVM (Clang, LLD, compiler-rt) en lugar de GCC. Hasta hace poco, glibc seguía siendo uno de los componentes significativos de las distribuciones, que solo soportaban la construcción a través de GCC.
Las dificultades para adaptar glibc para su construcción con LLVM surgen tanto por las diferencias en el comportamiento de GCC y Clang al manejar ciertas construcciones (por ejemplo, expresiones con el símbolo $, funciones anidadas, etiquetas en bloques asm, tipos long double y float128) como por la necesidad de reemplazar el runtime de libgcc por compiler-rt.
Para garantizar la construcción de glibc con LLVM, se han preparado alrededor de 150 parches para el entorno de Gentoo y 160 para el entorno basado en ChromiumOS. En su estado actual, la construcción en ChromiumOS ya pasa con éxito el conjunto de pruebas, pero aún no está habilitada por defecto. El siguiente paso será integrar los cambios preparados en la versión principal de glibc y LLVM, continuar con las pruebas y solucionar problemas inusuales que surjan. Algunos de los parches ya han sido aceptados en la rama glibc 2.37.
Fuente: opennet.ru
