Landing denne helgen var Linus Torvalds overraskende trekk for å aktivere”-Feil”-atferd som standard for alle kjernebygg. Det kompilatorflaggetillegget gjør at alle advarsler blir behandlet som feil, noe som igjen stopper kjernebyggingen. Som forventet har denne endringen ført til ganske rot.

Denne endringen for å aktivere”-Werror”som standard ved bygging av Linux-kjernen førte til noen umiddelbare feil. Spesielt var bygg/test gårder raske til å treffe smertepunkter og fant raskt forskjellige områder av kjernen som sendte ut advarsler som ikke umiddelbart kunne korrigeres.

Nick Desaulniers fra Google som har vært involvert i LLVM Clang-bygningen av Linux-kjernen endte opp sender inn en oppdatering som tilbakestiller endringen av Linus Torvalds. Nick bemerket:”Selv om jeg kan sette pris på hensikten med å aktivere-Feil, tror jeg ikke at det er det riktige verktøyet for å løse årsaken til at utviklere ikke tester visse verktøykjeder eller konfigurasjoner, eller tar eksisterende rapporter at de blir seriøse nok…-Feil er flott for å forhindre at nye feil kryper inn når en kodebase er fri for advarsler for alle konfigurasjoner og alle mål og verktøykjeden aldri oppdateres. Dessverre er ingen av de ovennevnte tilfellene for Linux-kjernen for øyeblikket.”

Linus Torvalds avvist forslaget om å deaktivere det som standard.”Nei. Den ble slått sammen som svar på _årige”smerter, med den siste som bare var den siste dråpen. Jeg kommer ikke til å tilbakeføre den endringen. Jeg må sannsynligvis begrense den (ved å gjøre at WERROR-alternativet avhenger av visse forventninger ), men i utgangspunktet bør enhver vedlikeholder som har kode som forårsaker advarsler, forvente at de må fikse disse advarslene… Jeg brukte timer i går på å bli kvitt noen advarsler. Det burde ikke være på meg å fikse folks kode. Det burde ikke vær på meg og legg merke til at folk sender meg dritt som advarer. Og det burde egentlig ikke være”Linus bryr seg om advarsler, så konfigurasjoner som Linus ikke tester kan fortsette i årevis for å få dem”. Min”ingen advarsler”-policy er ikke’t akkurat nytt, og folk bør ikke bli sjokkert når jeg da sier”på tide å rydde opp * DITT * hus også”.”

I denne oppvarmede samtalen av Marco Elver ble tanken på å bare aktivere”-Werror”når du utførte en”COMPILE_TEST”-kjerneoppbygning for å ville sende advarsel-som-feil-rapporteringen til de kompilere testene kjernene. Den veien ser ut til å vinne terreng og Linus kaller det som”rimelig”endring. Den COMPILE_TEST-tilnærmingen for-Worror ser ut til å vinne terreng etter hvert som andre oppstrømsutviklere uttrykker sin mening om hvordan de også må ty til å deaktivere den nye oppførselen for å gi vellykkede kjerneoppbygginger.

Lang historie kort, den COMPILE_TEST-ruten for-Werror vil antagelig komme igjennom for Linux 5.15 i stedet for å være standard for alle kjerneoppbygginger. Imidlertid presser Linus Torvalds virkelig på utviklere for å ta ansvar og fikse kompilatoradvarsler.

Oppdatering: Linus Torvalds har nå landet oppdateringen degraderer den til COMPILE_TEST bare som standard.

Categories: IT Info