Εφάρμοσε τη δυνατότητα δημιουργίας Glibc χρησιμοποιώντας το κιτ εργαλείων LLVM

Μηχανικοί από την Collabora δημοσίευσαν μια αναφορά σχετικά με την υλοποίηση ενός έργου για τη διασφάλιση της συναρμολόγησης της βιβλιοθήκης συστήματος GNU C Library (glibc) χρησιμοποιώντας το κιτ εργαλείων LLVM (Clang, LLD, compiler-rt) αντί για GCC. Μέχρι πρόσφατα, το Glibc παρέμενε ένα από τα σημαντικά στοιχεία των διανομών που υποστήριζαν την κατασκευή μόνο με χρήση GCC.

Οι δυσκολίες στην προσαρμογή του Glibc για συναρμολόγηση με χρήση LLVM προκαλούνται και από τις διαφορές στη συμπεριφορά του GCC και του Clang κατά την επεξεργασία ορισμένων δομών (για παράδειγμα, εκφράσεις με το σύμβολο $, ένθετες συναρτήσεις, ετικέτες σε μπλοκ asm, τύπους long double και float128). και την ανάγκη αντικατάστασης του χρόνου εκτέλεσης με libgcc στον compiler-rt.

Για να διασφαλιστεί η συναρμολόγηση του Glibc χρησιμοποιώντας το LLVM, έχουν προετοιμαστεί περίπου 150 ενημερώσεις κώδικα για το περιβάλλον Gentoo και 160 για το περιβάλλον που βασίζεται στο ChromiumOS. Στην τρέχουσα μορφή της, η έκδοση στο ChromiumOS περνά ήδη με επιτυχία τη δοκιμαστική σουίτα, αλλά δεν είναι ακόμη ενεργοποιημένη από προεπιλογή. Το επόμενο βήμα θα είναι η μεταφορά των προετοιμασμένων αλλαγών στην κύρια δομή του Glibc και του LLVM, η συνέχιση της δοκιμής και η διόρθωση άτυπων προβλημάτων που εμφανίζονται. Ορισμένες από τις ενημερώσεις κώδικα έχουν ήδη γίνει αποδεκτές στον κλάδο Glibc 2.37.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο