క్లాంగ్ 10ని ఉపయోగించి డెబియన్ ప్యాకేజీ డేటాబేస్‌ను పునర్నిర్మించడం యొక్క ఫలితాలు

సిల్వెస్టర్ లెడ్రు ప్రచురించిన GCCకి బదులుగా Clang 10 కంపైలర్‌ని ఉపయోగించి Debian GNU/Linux ప్యాకేజీ ఆర్కైవ్‌ను పునర్నిర్మించడం యొక్క ఫలితం. 31014 ప్యాకేజీలలో, 1400 (4.5%) నిర్మించబడలేదు, కానీ డెబియన్ టూల్‌కిట్‌కు అదనపు ప్యాచ్‌ని వర్తింపజేయడం ద్వారా, నిర్మించబడని ప్యాకేజీల సంఖ్య 1110 (3.6%)కి తగ్గించబడింది. పోలిక కోసం, క్లాంగ్ 8 మరియు 9లో నిర్మిస్తున్నప్పుడు, నిర్మించలేని ప్యాకేజీల సంఖ్య 4.9% వద్ద ఉంది.

నిర్మాణ ప్రయోగం కారణంగా క్రాష్‌ల కారణంగా ఏర్పడిన 250 సమస్యలపై దృష్టి సారించింది తప్పులు Qmake మరియు 177 సంచికలలో, సంబంధించిన లైబ్రరీలలో వివిధ చిహ్నాల తరంతో. హెచ్చరికగా లింక్ చేస్తున్నప్పుడు సింబల్ కంపారిజన్ ఎర్రర్‌ను ట్రీట్ చేయడానికి dpkg-gensymbolsకు సాధారణ ప్యాచ్‌ని జోడించడం ద్వారా మరియు qmakeలో g++ కాన్ఫిగరేషన్ ఫైల్‌లను భర్తీ చేయడం ద్వారా, మేము దాదాపు 290 ప్యాకేజీలను రూపొందించడంలో వైఫల్యాలను పరిష్కరించగలిగాము.

మిగిలిన వారి నుండి సమస్యలు, క్లాంగ్‌లో బిల్డ్ వైఫల్యానికి దారితీసింది, కొన్ని హెడర్ ఫైల్‌లు లేకపోవడం, టైప్ కాస్టింగ్, లిటరల్ మరియు ఐడెంటిఫైయర్ మధ్య ఖాళీ లేకపోవడం, బైండింగ్‌లో సమస్యలు, నాన్-వాయిడ్ ఫంక్షన్ నుండి విలువను అందించడంలో వైఫల్యం కారణంగా అత్యంత సాధారణ లోపాలు ఏర్పడతాయి. , శూన్య , నిర్వచనాల లేకపోవడంతో పాయింటర్ యొక్క ఆర్డర్ పోలికను ఉపయోగించడం.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి