Implementó la capacidad de construir Glibc usando el kit de herramientas LLVM.

Los ingenieros de Collabora han publicado un informe sobre la implementación de un proyecto para garantizar el ensamblaje de la biblioteca del sistema GNU C Library (glibc) utilizando el kit de herramientas LLVM (Clang, LLD, compilador-rt) en lugar de GCC. Hasta hace poco, Glibc seguía siendo uno de los componentes importantes de las distribuciones que admitían la construcción únicamente utilizando GCC.

Las dificultades para adaptar Glibc para ensamblar usando LLVM se deben a diferencias en el comportamiento de GCC y Clang al procesar ciertas construcciones (por ejemplo, expresiones con el símbolo $, funciones anidadas, etiquetas en bloques ASM, tipos long double y float128). y la necesidad de reemplazar el tiempo de ejecución con libgcc en compilador-rt.

Para asegurar el ensamblaje de Glibc usando LLVM, se han preparado alrededor de 150 parches para el entorno Gentoo y 160 para el entorno basado en ChromiumOS. En su forma actual, la compilación en ChromiumOS ya está pasando con éxito el conjunto de pruebas, pero aún no está habilitada de forma predeterminada. El siguiente paso será transferir los cambios preparados a la estructura principal de Glibc y LLVM, continuar probando y corrigiendo los problemas atípicos que surjan. Algunos de los parches ya han sido aceptados en la rama Glibc 2.37.

Fuente: opennet.ru

Añadir un comentario