Paglabas ng Musl 1.2.5 standard C library

Pagkatapos ng 10 buwan ng pag-unlad, ang paglabas ng karaniwang C library na Musl 1.2.5 ay ipinakita, na nagbibigay ng pagpapatupad ng libc na angkop para sa paggamit sa parehong mga desktop PC at server, at sa mga mobile system, na pinagsasama ang buong suporta para sa mga pamantayan (tulad ng sa Glibc ) na may maliit na sukat, mababang pagkonsumo ng mapagkukunan at mataas na pagganap (tulad ng sa uClibc, dietlibc at Android Bionic). Mayroong suporta para sa lahat ng kinakailangang mga interface ng C99 at POSIX 2008, pati na rin ang bahagyang C11 at isang hanay ng mga extension para sa multi-threaded programming (POSIX thread), pamamahala ng memorya at pagtatrabaho sa mga lokal. Ang Musl code ay ibinigay sa ilalim ng libreng lisensya ng MIT.

Pangunahing pagbabago:

  • Nagdagdag ng statx() function, na naiiba sa fstatat64 sa pamamagitan ng pagkakaroon ng karagdagang argumento sa bandila. Kung hindi sinusuportahan ng kernel ang statx system call, na nagbabalik ng pinalawig na impormasyon ng file, kabilang ang oras ng paggawa ng file at mga flag na partikular sa file system, babalik ito sa paggamit ng fstatat system call.
  • Nagdagdag ng mga function preadv2() at pwritev2(), na nagbibigay ng mga wrapper sa mga tawag sa Linux kernel system na may parehong pangalan. Ang mga bagong function ay naiiba sa preadv() at pwritev() sa pamamagitan ng pagkakaroon ng isa pang argumento para sa pagpasa ng mga karagdagang flag sa kernel, tulad ng RWF_SYNC (flush data at metadata mula sa cache papunta sa media pagkatapos makumpleto ang operasyon) at RWF_DSYNC ( sapilitang pag-flush ng data lamang sa media).
  • Nagdagdag ng suporta para sa mga arkitektura ng Loongarch64 at Riscv32.
  • Ang pagpapatupad ng clone() function ay dinala sa isang magagamit na estado.
  • Tinitiyak ng statvfs() function na ang isang resulta na may uri na f_type ay ibinalik.
  • Para sa mga Riscv64 system, idinagdag ang suporta para sa TLSDESC (Thread-Local Storage Descriptor) na mekanismo.
  • Ang DNS resolver ay nagpapatupad ng pagproseso ng mga tugon na may mahabang CNAME sequence. Nalutas ang isang isyu na naging sanhi ng ilang malalaking tugon na ipinadala sa TCP upang itapon.
  • Ang mga interface ng mntent ay mayroon na ngayong suporta para sa pagtakas ng mga puwang sa mga path ng file at mga opsyon.
  • Ang Snprintf at swprintf ay nagbibigay ng tamang paghawak sa sitwasyon kapag nagpoproseso ng mga numerong mas malaki kaysa sa INT_MAX. Pinahusay na pagsunod sa printf na pamilya ng mga function.

Pinagmulan: opennet.ru

Magdagdag ng komento