Έκδοση της βασικής βιβλιοθήκης Musl 1.2.5 C

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

Βασικές αλλαγές:

  • Προστέθηκε η συνάρτηση statx(), η οποία διαφέρει από την fstatat64 έχοντας ένα πρόσθετο όρισμα σημαίας. Εάν ο πυρήνας δεν υποστηρίζει την κλήση συστήματος statx, η οποία επιστρέφει εκτεταμένες πληροφορίες αρχείου, συμπεριλαμβανομένου του χρόνου δημιουργίας αρχείων και των σημαιών για το συγκεκριμένο σύστημα αρχείων, χρησιμοποιείται ξανά η κλήση συστήματος fstatat.
  • Προστέθηκαν οι λειτουργίες preadv2() και pwritev2(), οι οποίες παρέχουν περιτυλίγματα στις κλήσεις του συστήματος πυρήνα Linux με το ίδιο όνομα. Οι νέες συναρτήσεις διαφέρουν από την preadv() και την pwritev() λόγω της παρουσίας ενός ακόμη ορίσματος για τη μετάδοση πρόσθετων σημαιών στον πυρήνα, όπως RWF_SYNC (ξέπλυμα δεδομένων και μεταδεδομένων από την κρυφή μνήμη στο μέσο μετά την ολοκλήρωση της λειτουργίας) και RWF_DSYNC ( αναγκαστική έκπλυση μόνο δεδομένων στα μέσα).
  • Προστέθηκε υποστήριξη για αρχιτεκτονικές Loongarch64 και Riscv32.
  • Η υλοποίηση της συνάρτησης clone() έχει τεθεί σε κατάσταση χρήσης.
  • Η συνάρτηση statvfs() διασφαλίζει ότι επιστρέφεται ένα αποτέλεσμα με τύπο f_type.
  • Για συστήματα Riscv64, έχει προστεθεί υποστήριξη για τον μηχανισμό TLSDESC (Thread-Local Storage Descriptor).
  • Ο αναλυτής DNS υλοποιεί την επεξεργασία των απαντήσεων με μεγάλες ακολουθίες CNAME. Επιλύθηκε ένα πρόβλημα που προκάλεσε την απόρριψη ορισμένων μεγάλων απαντήσεων που αποστέλλονται μέσω TCP.
  • Οι διεπαφές mntent έχουν πλέον υποστήριξη για διαφυγή χώρων σε διαδρομές αρχείων και επιλογές.
  • Το Snprintf και το swprintf παρέχουν σωστό χειρισμό της κατάστασης όταν επεξεργάζονται αριθμούς μεγαλύτερους από INT_MAX. Βελτιωμένη συμμόρφωση με την οικογένεια λειτουργιών printf.

Πηγή: opennet.ru

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