Phát hành thư viện C chuẩn Musl 1.2.5

Sau 10 tháng phát triển, thư viện C tiêu chuẩn Musl 1.2.5 đã đượ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 kích thước nhỏ, 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í.

Sự thay đổi chính:

  • Đã thêm hàm statx(), khác với fstatat64 ở chỗ có thêm đối số cờ. Nếu kernel không hỗ trợ lệnh gọi hệ thống statx, trả về thông tin tệp mở rộng, bao gồm thời gian tạo tệp và các cờ dành riêng cho hệ thống tệp, thì nó sẽ quay lại sử dụng lệnh gọi hệ thống fstatat.
  • Đã thêm các hàm preadv2() và pwritev2(), cung cấp các hàm bao cho lệnh gọi hệ thống nhân Linux cùng tên. Các hàm mới khác với preadv() và pwritev() ở chỗ có thêm một đối số để chuyển các cờ bổ sung tới kernel, chẳng hạn như RWF_SYNC (xóa dữ liệu và siêu dữ liệu từ bộ đệm sang phương tiện sau khi hoàn thành thao tác) và RWF_DSYNC ( buộc chỉ gửi dữ liệu vào phương tiện truyền thông).
  • Đã thêm hỗ trợ cho kiến ​​trúc Loongarch64 và Riscv32.
  • Việc triển khai hàm clone() đã được đưa về trạng thái có thể sử dụng được.
  • Hàm statvfs() đảm bảo rằng kết quả có loại f_type được trả về.
  • Đối với các hệ thống Riscv64, hỗ trợ cho cơ chế TLSDESC (Bộ mô tả lưu trữ cục bộ) đã được thêm vào.
  • Trình phân giải DNS thực hiện xử lý các phản hồi có chuỗi CNAME dài. Đã giải quyết vấn đề khiến một số phản hồi lớn được gửi qua TCP bị loại bỏ.
  • Các giao diện mntent hiện có hỗ trợ thoát khoảng trắng trong các đường dẫn và tùy chọn tệp.
  • Snprintf và swprintf cung cấp khả năng xử lý chính xác tình huống khi xử lý các số lớn hơn INT_MAX. Cải thiện sự tuân thủ với nhóm chức năng printf.

Nguồn: opennet.ru

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