መደበኛ ሲ ቤተ-መጽሐፍት PicoLibc 1.1 ይገኛል።

ኪት ፓካርድ፣ ንቁ የዴቢያን ገንቢ፣ የ X.Org ፕሮጀክት መሪ እና XRender፣ XComposite እና XRandRን ጨምሮ የበርካታ X ቅጥያዎችን ፈጣሪ፣ አስተዋውቋል አዲስ መደበኛ ሲ ቤተ-መጽሐፍት መልቀቅ PicoLibc 1.1፣ ውስን ቋሚ ማከማቻ እና ራም ባላቸው የተከተቱ መሳሪያዎች ላይ ለመጠቀም የተሰራ። በእድገት ወቅት የኮዱ ክፍል ከቤተ-መጽሐፍት ተበድሯል። ኒውሊብ ከሲግዊን ፕሮጀክት እና AVR Libcለ Atmel AVR ማይክሮ መቆጣጠሪያ የተሰራ። PicoLibc ኮድ የተሰራጨው በ በ BSD ፍቃድ. የቤተ መፃህፍት ስብሰባ ለኤአርኤም (32-ቢት)፣ i386፣ RISC-V፣ x86_64 እና PowerPC architectures ይደገፋል።

ኪት ፓካርድ ማደግ የጀመረው ትንሽ ራም ባላቸው የተከተቱ መሳሪያዎች ላይ የሚያገለግል ጥሩ የLibc አማራጭ ማግኘት ባለመቻሉ ነው። ፕሮጀክቱ ካለፈው ዓመት ጀምሮ እየተገነባ ነው። በመጀመሪያ ደረጃ ፕሮጀክቱ የኒውሊብ ተለዋጭ ነበር ፣ የ stdio ተግባራት በ avrlibc የታመቀ ስሪት ተተክተዋል (stdio in newlib ለከፍተኛ የሀብት ፍጆታ ተስማሚ አልነበረም)። የኪት የአሁን ስራ ከRISC-V አርክቴክቸር ጋር ቀጣይነት ያለው ስራን የሚያካትት በመሆኑ እና ለተገጠሙ መሳሪያዎች የመገልገያ መሳሪያዎችን ማሳደግን ስለሚያካትት፣ በቅርብ ጊዜ የሊቢክ አተገባበር ሁኔታን ገምግሞ በትንሹ በመስተካከል የኒውሊብ እና አቭሪቢክ ጥምረት ጥሩ አጠቃላይ ዓላማ ሊሆን ይችላል ሲል ደምድሟል። መፍትሄ. መጀመሪያ ላይ ፕሮጀክቱ የተገነባው በ "ኒውሊብ-ናኖ" ስም ነው, ነገር ግን ከኒውሊብ ቤተ-መጽሐፍት ጋር ግራ መጋባትን ለማስወገድ ፒኮ ሊቢክ ተብሎ ተሰየመ.

Picolibc አሁን ባለው መልኩ በ BSD ፍቃድ ያልተሰጡትን ሁሉንም ኮድ ለማስወገድ ስራ ሰርቷል (ይህ ኮድ ለተገጠሙ መሳሪያዎች ሲገነባ ጥቅም ላይ አልዋለም ነበር) ይህም ለፕሮጀክቱ ፈቃድ ሁኔታውን በእጅጉ ቀላል አድርጎታል. የአካባቢ ዥረቶች አተገባበር ከ'struct _reent' ወደ TLS ስልት ተንቀሳቅሷል (ክር-አካባቢያዊ ማከማቻ). ከ avrlibc ቤተመፃህፍት ኮድ የተበደረው የታመቀ የስቲዲዮ ስሪት በነባሪነት ነቅቷል (ATmel-ተኮር ሰብሳቢ ማስገቢያዎች በ C ውስጥ እንደገና ተጽፈዋል)። የሜሶን መሣሪያ ስብስብ ለስብሰባ ጥቅም ላይ ውሏል፣ ይህም ከኒውሊብ መሰብሰቢያ ስክሪፕቶች ጋር ላለመተሳሰር እና ከኒውሊብ ለውጦችን ለማስተላለፍ ቀላል እንዲሆን አድርጎታል። ቀላል የመነሻ ኮድ (crt0) እትም ታክሏል ፣ ከተፈፃሚው ፋይል ጋር ተያይዟል እና ቁጥጥር ወደ ዋናው () ተግባር ከመተላለፉ በፊት ተፈፀመ።

በ Picolibc ስሪት 1.1:

  • ቴክኖሎጂውን ለመደገፍ ረዳት ቤተ-መጽሐፍት ታክሏልከፊል ማስተናገጃ"በአራሚ ወይም ኢምዩላተር አካባቢ ውስጥ የሚሰራ ኮድ የአስተናጋጅ ስርዓቱን I/O ስልቶችን ለመጠቀም ይፈቅዳል።
  • የስርዓት ጥሪዎችን ክፍት፣ መዝጋት፣ ማንበብ እና መጻፍ ለሚደግፉ ስርዓቶች፣ tinystdio ደረጃውን የጠበቀ POSIX stdio I/O በይነገጾችን ይጨምራል፣ የ fopen እና fdopen ተግባራትን ጨምሮ፣ እንዲሁም stdin/stdout/stderr ከ POSIX-የተገለጹ የፋይል ገላጭዎች ጋር ማያያዝ።
  • ከኒውሊብ ኮድ ቤዝ የቅርብ ጊዜ ለውጦች ተካሂደዋል። ለ የተጨመሩ የሊም ስቶቦችን ጨምሮ ፌንቭ.ህያለ ተንሳፋፊ ነጥብ ድጋፍ በስርዓቶች ላይ ጥቅም ላይ ሊውል የሚችል;
  • ለARM እና ለ RISC-V ሲስተሞች የ"Hello world" መተግበሪያን በpicolibc የመገንባት ምሳሌ ታክሏል።
  • ጥቅም ላይ ያልዋለ የሙከራ ኮድ የያዘውን newlib፣ libm እና mathfp ማውጫዎችን ተወግዷል።

ምንጭ: opennet.ru

አስተያየት ያክሉ