Implémentation de la possibilité de construire Glibc à l'aide de la boîte à outils LLVM

Les ingénieurs de Collabora ont publié un rapport sur la mise en œuvre d'un projet visant à assurer l'assemblage de la bibliothèque système GNU C Library (glibc) à l'aide de la boîte à outils LLVM (Clang, LLD, compiler-rt) au lieu de GCC. Jusqu'à récemment, la Glibc restait l'un des composants importants des distributions qui prenaient en charge la construction uniquement avec GCC.

Les difficultés d'adaptation de Glibc pour l'assemblage à l'aide de LLVM sont causées à la fois par les différences de comportement de GCC et de Clang lors du traitement de certaines constructions (par exemple, les expressions avec le symbole $, les fonctions imbriquées, les étiquettes dans les blocs asm, les types long double et float128), et la nécessité de remplacer le runtime par libgcc sur le compilateur-rt.

Pour assurer l'assemblage de la Glibc à l'aide de LLVM, environ 150 patchs ont été préparés pour l'environnement Gentoo et 160 pour l'environnement basé sur ChromiumOS. Dans sa forme actuelle, la version de ChromiumOS a déjà réussi la suite de tests, mais n'est pas encore activée par défaut. La prochaine étape consistera à transférer les modifications préparées vers la structure principale de Glibc et LLVM, à continuer les tests et à corriger les problèmes atypiques qui surgissent. Certains correctifs ont déjà été acceptés dans la branche Glibc 2.37.

Source: opennet.ru

Ajouter un commentaire