Melaksanakan keupayaan untuk membina Glibc menggunakan kit alat LLVM

Jurutera dari Collabora telah menerbitkan laporan mengenai pelaksanaan projek untuk memastikan pemasangan perpustakaan sistem Perpustakaan GNU C (glibc) menggunakan kit alat LLVM (Clang, LLD, compiler-rt) dan bukannya GCC. Sehingga baru-baru ini, Glibc kekal sebagai salah satu komponen pengedaran penting yang menyokong pembinaan hanya menggunakan GCC.

Kesukaran untuk menyesuaikan Glibc untuk pemasangan menggunakan LLVM disebabkan oleh kedua-dua perbezaan dalam kelakuan GCC dan Clang semasa memproses binaan tertentu (contohnya, ungkapan dengan simbol $, fungsi bersarang, label dalam blok asm, jenis double panjang dan float128), dan keperluan untuk menggantikan runtime dengan libgcc pada compiler-rt.

Untuk memastikan pemasangan Glibc menggunakan LLVM, kira-kira 150 patch telah disediakan untuk persekitaran Gentoo dan 160 untuk persekitaran berasaskan ChromiumOS. Dalam bentuk semasa, binaan dalam ChromiumOS sudah berjaya melepasi suite ujian, tetapi belum didayakan secara lalai. Langkah seterusnya ialah memindahkan perubahan yang disediakan kepada struktur utama Glibc dan LLVM, teruskan menguji dan membetulkan masalah atipikal yang muncul. Beberapa patch telah diterima ke dalam cawangan Glibc 2.37.

Sumber: opennet.ru

Tambah komen