Έκδοση τυπικών βιβλιοθηκών C Musl 1.2.3 και PicoLibc 1.7.6

Παρουσιάζεται η έκδοση της τυπικής βιβλιοθήκης C Musl 1.2.3, η οποία παρέχει μια υλοποίηση της libc, η οποία είναι κατάλληλη για χρήση τόσο σε επιτραπέζιους υπολογιστές όσο και σε διακομιστές, καθώς και σε συστήματα κινητής τηλεφωνίας, συνδυάζοντας την πλήρη υποστήριξη για πρότυπα (όπως στο Glibc) με ένα μικρό μέγεθος, χαμηλή κατανάλωση πόρων και υψηλή απόδοση (όπως στο uClibc, το dietlibc και το Android Bionic). Υπάρχει υποστήριξη για όλες τις απαιτούμενες διεπαφές C99 και POSIX 2008, καθώς και εν μέρει το C11 και ένα σύνολο επεκτάσεων για προγραμματισμό πολλαπλών νημάτων (νήματα POSIX), διαχείριση μνήμης και εργασία με τοπικές ρυθμίσεις. Ο κωδικός Musl παρέχεται με τη δωρεάν άδεια MIT.

Η νέα έκδοση προσθέτει τη συνάρτηση qsort_r, η οποία προορίζεται για συμπερίληψη σε ένα μελλοντικό πρότυπο POSIX και χρησιμοποιείται για την ταξινόμηση πινάκων χρησιμοποιώντας αυθαίρετες συναρτήσεις σύγκρισης στοιχείων. Για ορισμένα μοντέλα CPU PowerPC, έχει προστεθεί υποστήριξη για εναλλακτικούς SPE FPU (Signal Processing Engine). Έχουν γίνει αλλαγές για τη βελτίωση της συμβατότητας, όπως η αποθήκευση errno, η αποδοχή μηδενικών δεικτών στο gettext και ο χειρισμός της μεταβλητής περιβάλλοντος TZ. Έχουν επιδιορθωθεί παλινδρομικές αλλαγές στις συναρτήσεις wcwidth και duplocale, καθώς και αρκετά σφάλματα σε μαθηματικές συναρτήσεις που, υπό ορισμένες συνθήκες, οδήγησαν στον υπολογισμό ενός εσφαλμένου αποτελέσματος (για παράδειγμα, σε συστήματα χωρίς FPU, το fmaf στρογγυλοποίησε το αποτέλεσμα εσφαλμένα) .

Επιπλέον, μπορούμε να σημειώσουμε την κυκλοφορία της τυπικής βιβλιοθήκης C PicoLibc 1.7.6, που κυκλοφόρησε πριν από λίγες ημέρες, που αναπτύχθηκε από τον Keith Packard (αρχηγός του έργου X.Org) για χρήση σε ενσωματωμένες συσκευές με περιορισμένη ποσότητα μόνιμου αποθηκευτικού χώρου και RAM. Κατά την ανάπτυξη, μέρος του κώδικα δανείστηκε από τη βιβλιοθήκη newlib από το έργο Cygwin και AVR Libc, που αναπτύχθηκε για τους μικροελεγκτές AVR της Atmel. Ο κώδικας PicoLibc διανέμεται με την άδεια BSD. Η συναρμολόγηση βιβλιοθήκης υποστηρίζεται για αρχιτεκτονικές ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k και PowerPC. Η νέα έκδοση υλοποιεί τη χρήση μαθηματικών ενσωματωμένων συναρτήσεων για την αρχιτεκτονική aarch64 και τη δυνατότητα χρήσης μαθηματικών ενσωματωμένων συναρτήσεων σε εφαρμογές στις αρχιτεκτονικές βραχίονα και risc-v.

Πηγή: opennet.ru

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