Phát hành thư viện C chuẩn Musl 1.2.3 và PicoLibc 1.7.6

Thư viện C tiêu chuẩn Musl 1.2.3 được phát hành, cung cấp triển khai libc, phù hợp để sử dụng trên cả máy tính để bàn và máy chủ cũng như trên hệ thống di động, kết hợp hỗ trợ đầy đủ cho các tiêu chuẩn (như trong Glibc) với một phần nhỏ kích thước, mức tiêu thụ tài nguyên thấp và hiệu suất cao (như trong uClibc, dietlibc và Android Bionic). Có hỗ trợ cho tất cả các giao diện C99 và POSIX 2008 cần thiết, cũng như một phần C11 và một bộ tiện ích mở rộng cho lập trình đa luồng (luồng POSIX), quản lý bộ nhớ và làm việc với ngôn ngữ. Mã Musl được cung cấp theo giấy phép MIT miễn phí.

Phiên bản mới bổ sung hàm qsort_r, dự kiến ​​sẽ được đưa vào tiêu chuẩn POSIX trong tương lai và được sử dụng để sắp xếp các mảng bằng các hàm so sánh phần tử tùy ý. Đối với một số kiểu CPU PowerPC, hỗ trợ cho các FPU SPE (Công cụ xử lý tín hiệu) thay thế đã được thêm vào. Các thay đổi đã được thực hiện để cải thiện khả năng tương thích, chẳng hạn như lưu trữ errno, chấp nhận con trỏ null trong gettext và xử lý biến môi trường TZ. Các thay đổi hồi quy trong hàm wcwidth và duplocale đã được sửa, cũng như một số lỗi trong hàm toán học, trong một số trường hợp nhất định, dẫn đến việc tính toán kết quả không chính xác (ví dụ: trên các hệ thống không có FPU, fmaf đã làm tròn kết quả không chính xác) .

Ngoài ra, chúng ta có thể lưu ý việc phát hành thư viện C tiêu chuẩn PicoLibc 1.7.6, được phát hành vài ngày trước, được phát triển bởi Keith Packard (trưởng dự án X.Org) để sử dụng trên các thiết bị nhúng có dung lượng lưu trữ và RAM cố định hạn chế. Trong quá trình phát triển, một phần mã được mượn từ thư viện newlib của dự án Cygwin và AVR Libc, được phát triển cho bộ vi điều khiển Atmel AVR. Mã PicoLibc được phân phối theo giấy phép BSD. Việc lắp ráp thư viện được hỗ trợ cho các kiến ​​trúc ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k và PowerPC. Phiên bản mới triển khai việc sử dụng các hàm toán học nội tuyến cho kiến ​​trúc aarch64 và khả năng sử dụng các hàm toán học nội tuyến trong các ứng dụng trên kiến ​​trúc nhánh và risc-v.

Nguồn: opennet.ru

Thêm một lời nhận xét