කීත් පැකාර්ඩ්, ක්රියාකාරී ඩේබියන් සංවර්ධක, X.Org ව්යාපෘතියේ නායකයා සහ XRender, XComposite සහ XRandR ඇතුළු බොහෝ X දිගුවල නිර්මාතෘ,
කීත් පැකාර්ඩ් සංවර්ධනය ආරම්භ කළේ කුඩා RAM සහිත කාවැද්දූ උපාංගවල භාවිතා කළ හැකි යහපත් Libc විකල්පයක් සොයා ගැනීමට නොහැකි වීමෙන් පසුවය. මෙම ව්යාපෘතිය පසුගිය වසරේ සිට සංවර්ධනය වෙමින් පවතී. පළමු අදියරේදී, ව්යාපෘතිය newlib හි ප්රභේදයක් වූ අතර, stdio හි කාර්යයන් avrlibc වෙතින් සංයුක්ත අනුවාදයකින් ප්රතිස්ථාපනය කරන ලදී (newlib හි stdio එහි ඉහළ සම්පත් පරිභෝජනය සඳහා සුදුසු නොවේ). කීත්ගේ වර්තමාන කාර්යයට RISC-V ගෘහනිර්මාණ ශිල්පය සහ කාවැද්දූ උපාංග සඳහා මෙවලම් සංවර්ධනය කිරීම සම්බන්ධ වන බැවින්, ඔහු මෑතකදී libc ක්රියාත්මක කිරීමේ තත්ත්වය සමාලෝචනය කළ අතර, කුඩා tweaking සමඟ, newlib සහ avrlibc සංයෝජනය හොඳ පොදු අරමුණක් විය හැකි බව නිගමනය කළේය. විසඳුමක්. මුලදී, ව්යාපෘතිය "newlib-nano" නමින් සංවර්ධනය වූ නමුත් Newlib පුස්තකාලය සමඟ ඇති වියවුල් වළක්වා ගැනීම සඳහා එය PicoLibc ලෙස නම් කරන ලදී.
එහි වත්මන් ස්වරූපයෙන්, Picolibc විසින් BSD බලපත්රයක් යටතේ සපයා නොමැති සියලුම කේතයන් ඉවත් කිරීමට දැනටමත් කටයුතු කර ඇත (මෙම කේතය කාවැද්දූ උපාංග සඳහා තැනීමේදී භාවිතා නොකළ), එමඟින් ව්යාපෘතිය සඳහා බලපත්රය සමඟ තත්වය සැලකිය යුතු ලෙස සරල කර ඇත. දේශීය ප්රවාහ ක්රියාත්මක කිරීම 'struct _reent' සිට TLS යාන්ත්රණය වෙත ගෙන ගොස් ඇත (
Picolibc අනුවාදය 1.1 හි:
- තාක්ෂණයට සහාය වීම සඳහා සහායක පුස්තකාලය එකතු කරන ලදී "
අර්ධ සත්කාරක "ධාරක පද්ධතියේ I/O යාන්ත්රණ භාවිතා කිරීමට debugger හෝ emulator පරිසරයක ධාවනය වන කේතයට ඉඩ දෙයි; - පද්ධති ඇමතුම් විවෘත කිරීම, වසා දැමීම, කියවීම සහ ලිවීම සඳහා සහාය දක්වන පද්ධති සඳහා, tinystdio විසින් fopen සහ fdopen ශ්රිතයන් ඇතුළුව ප්රමිතිගත POSIX stdio I/O අතුරුමුහුණත් එක් කරයි, එමෙන්ම STdin/stdout/stderr POSIX-නිර්වචනය කළ ගොනු විස්තර සඳහා බන්ධනය කරයි;
- newlib codebase වෙතින් මෑත වෙනස්කම් සිදු කර ඇත. සඳහා එකතු කරන ලද libm stubs ඇතුළුව
fenv.h , පාවෙන ලක්ෂ්ය ආධාරකයක් නොමැතිව පද්ධති මත භාවිතා කළ හැකි; - ARM සහ RISC-V පද්ධති සඳහා picolibc සමඟින් "Hello world" යෙදුම ගොඩනැගීමේ උදාහරණයක් එකතු කරන ලදී;
- භාවිතයට නොගත් පර්යේෂණාත්මක කේතය අඩංගු newlib, libm සහ mathfp නාමාවලි ඉවත් කරන ලදී.
මූලාශ්රය: opennet.ru