పాత నిర్మాణంలో కంపైల్ వైఫల్యాల కారణంగా లైనక్స్ 4.19 కెర్నల్ ఇప్పుడు నిర్మించడానికి జిసిసి 4.6 అవసరం.

లైనక్స్-యునిక్స్ / పాత నిర్మాణంలో కంపైల్ వైఫల్యాల కారణంగా లైనక్స్ 4.19 కెర్నల్ ఇప్పుడు నిర్మించడానికి జిసిసి 4.6 అవసరం. 1 నిమిషం చదవండి

లైనక్స్ కెర్నల్ ఆర్గనైజేషన్, ఇంక్.



కెర్నల్‌పై పనిచేసే లైనక్స్ డెవలపర్‌ల కోసం, విడుదల చేయవలసిన Linux 4.19 కెర్నల్ కెర్నల్ నిర్మాణానికి అవసరమైన GCC కనీస సంస్కరణను పెంచుతుంది. అధికారిక లైనక్స్ కెర్నల్ GCC 3.2 ను జాబితా చేసింది కనిష్ట కెర్నల్ భవనానికి అవసరమైన కంపైలర్ యొక్క సంస్కరణ, కానీ Linux కెర్నల్ 4.19 దానిని GCC 4.6 కు పెంచుతోంది.

పాత జిసిసి 4 విడుదలలలోని వివిధ నిర్మాణాలు లైనక్స్ కెర్నల్‌ను శుభ్రంగా కంపైల్ చేయడంలో విఫలమయ్యాయి, అందువల్ల జిసిసి 4.6 ను కనిష్టంగా సెట్ చేయడం ఎందుకు. కెర్నల్ GCC 4.6.0 లేదా క్రొత్తది కోసం స్పష్టంగా తనిఖీ చేస్తుంది మరియు కనుగొనబడకపోతే, కంపైలర్ లోపం అవుతుంది.



పాత కంపైలర్ విడుదలలలో కంపైలర్ దోషాలు మరియు ప్రవర్తనా వ్యత్యాసాలను లక్ష్యంగా చేసుకున్న పాత జిసిసి ప్రత్యామ్నాయాల కోసం కెర్నల్ దేవ్స్ అనేక డజన్ల పంక్తుల కోడ్‌ను తీసివేయగలిగినందున ఇది కెర్నల్ కోడ్‌కు కూడా ప్రయోజనకరంగా ఉంటుంది.



ఈ మార్పు ఈ రోజు ముందే Git కమిట్ ద్వారా విలీనం చేయబడింది - మరియు GCC 4.6.0 2011 లో విడుదలైంది, కాబట్టి భవిష్యత్తులో GCC కి ఏదైనా నవీకరణలు ఉన్నాయా అని మేము చూస్తాము.



ఈ నవీకరణ కోసం చేంజ్లాగ్ / కమిట్ ప్రాథమికంగా జిసిసి కంపైలర్ యొక్క పాత సంస్కరణలు వివిధ నిర్మాణాల క్రింద కెర్నల్‌ను నిర్మించడంలో విఫలమైనందున ఈ మార్పు చాలావరకు పూర్తిగా ఉందని పేర్కొంది:

 జిసిసి కంపైలర్ యొక్క పాత సంస్కరణలతో వివిధ నిర్మాణాలు సరిగ్గా నిర్మించడంలో విఫలమవుతాయి. థ్రెడ్‌లోని గుంటెర్ రోక్ నుండి ఒక ఉదాహరణ [1]: >> ./include/linux/mm.h:17:0,> నుండి ./include/linux/pid_namespace.h:7,> నుండి ./include /linux/ptrace.h:10,> arch / openrisc / kernel / asm-offsets.c: 32:> ./include/linux/mm_types.h:497:16: లోపం: ఖాళీగా ఉన్న స్ట్రక్చర్> > ఇది or32 కోసం gcc 4.5.1 తో ఒక ఉదాహరణ మాత్రమే. నేను gcc 4.4 (unicore32 కోసం) తో సమస్యను చూశాను. కాబట్టి gcc యొక్క కనీస అవసరమైన సంస్కరణను 4.6 కు నవీకరించండి. [1] https://lore.kernel.org/lkml/20180814170904.GA12768@roeck-us.net/ ఇతరాలు: - నవీకరణ డాక్యుమెంటేషన్ / ప్రాసెస్ / changes.rst - 4.6 కన్నా తక్కువ వెర్షన్ల కోసం కంపైలర్- gcc.h లోని వెర్షన్ టెస్ట్ బ్లాక్‌లను తొలగించి ఏకీకృతం చేయండి.

మెయిన్‌లైన్ లైనక్స్ x86_64 కెర్నల్‌ను నిర్మించడానికి ఎల్‌ఎల్‌విఎం క్లాంగ్ ప్రయత్నాల వరకు, ప్రస్తుతం ప్రయత్నాలతో కొంత స్టాల్ ఉంది, ముఖ్యంగా ఎల్‌ఎల్‌విఎంలినక్స్ ప్రాజెక్ట్‌లో - క్లాంగ్‌తో ARM లైనక్స్ స్పేస్ ద్వారా కెర్నల్‌ను నిర్మించడంలో కొంత పని ఉన్నప్పటికీ.