ప్రామాణిక C లైబ్రరీ PicoLibc విడుదల 1.4.7

కీత్ ప్యాకర్డ్, క్రియాశీల డెబియన్ డెవలపర్, X.Org ప్రాజెక్ట్ యొక్క నాయకుడు మరియు XRender, XComposite మరియు XRandRతో సహా అనేక X పొడిగింపుల సృష్టికర్త, ప్రచురించిన ప్రామాణిక సి లైబ్రరీ విడుదల PicoLibc 1.4.7, పరిమిత శాశ్వత నిల్వ మరియు RAMతో పొందుపరిచిన పరికరాలలో ఉపయోగం కోసం అభివృద్ధి చేయబడింది. అభివృద్ధి సమయంలో, కోడ్‌లో కొంత భాగం లైబ్రరీ నుండి తీసుకోబడింది కొత్త లిబ్ సిగ్విన్ ప్రాజెక్ట్ నుండి మరియు AVR Libc, Atmel AVR మైక్రోకంట్రోలర్‌ల కోసం అభివృద్ధి చేయబడింది. PicoLibc కోడ్ ద్వారా పంపిణీ చేయబడింది BSD లైసెన్స్ కింద. లైబ్రరీ అసెంబ్లీకి ARM (32-బిట్), i386, RISC-V, x86_64 మరియు PowerPC ఆర్కిటెక్చర్‌లకు మద్దతు ఉంది.

ప్రారంభంలో, ప్రాజెక్ట్ "newlib-nano" పేరుతో అభివృద్ధి చేయబడింది మరియు తక్కువ RAM ఉన్న ఎంబెడెడ్ పరికరాలలో ఉపయోగించడానికి సమస్యాత్మకంగా ఉన్న Newlib యొక్క కొన్ని వనరుల-ఇంటెన్సివ్ ఫంక్షన్‌లను మళ్లీ పని చేయడం లక్ష్యంగా పెట్టుకుంది. ఉదాహరణకు, stdio ఫంక్షన్‌లు avrlibc లైబ్రరీ నుండి కాంపాక్ట్ వెర్షన్‌తో భర్తీ చేయబడ్డాయి. పొందుపరిచిన బిల్డ్‌లో ఉపయోగించని BSD-లైసెన్స్ లేని భాగాల నుండి కూడా కోడ్ శుభ్రం చేయబడింది. ప్రారంభ కోడ్ (crt0) యొక్క సరళీకృత సంస్కరణ జోడించబడింది మరియు స్థానిక థ్రెడ్‌ల అమలు 'struct _reent' నుండి TLS మెకానిజంకు తరలించబడింది (థ్రెడ్-స్థానిక నిల్వ) మీసన్ టూల్‌కిట్ అసెంబ్లీ కోసం ఉపయోగించబడుతుంది.

కొత్త విడుదలలో:

  • ఉపయోగించి నిర్మించగల సామర్థ్యాన్ని జోడించారు గణితశాస్త్రపరంగా ధృవీకరించబడింది కంపైలర్ CompCert.
  • క్లాంగ్ కంపైలర్‌కు మద్దతు జోడించబడింది.
  • 'గామా' ఫంక్షన్ యొక్క ప్రవర్తన Glibc ప్రవర్తనకు అనుగుణంగా తీసుకురాబడింది.
  • నానో-మల్లోక్ అమలు రిటర్న్ మెమరీ క్లియర్ చేయబడిందని నిర్ధారిస్తుంది.
  • నానో-రియలోక్ యొక్క మెరుగైన పనితీరు, ప్రత్యేకించి ఉచిత బ్లాక్‌లను విలీనం చేసేటప్పుడు మరియు హీప్ పరిమాణాన్ని విస్తరించేటప్పుడు.
  • malloc యొక్క సరైన ఆపరేషన్‌ని తనిఖీ చేయడానికి పరీక్షల సమితిని జోడించారు.
  • Windows ప్లాట్‌ఫారమ్‌కు మెరుగైన మద్దతు మరియు mingw టూల్‌కిట్‌ని ఉపయోగించి నిర్మించగల సామర్థ్యాన్ని జోడించారు.
  • ARM సిస్టమ్‌లలో, అందుబాటులో ఉంటే, TLS (థ్రెడ్-లోకల్ స్టోరేజ్) హార్డ్‌వేర్ రిజిస్టర్ ప్రారంభించబడుతుంది.

మూలం: opennet.ru