abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 16:44 | Zajímavý software

Na Kickstarteru lze podpořit vývoj svobodného softwarového nástroje Akira, jenž by měl umožnit designérům designování aplikací v Linuxu. Mělo by se jednat o alternativu k proprietárním nástrojům Sketch, Figma nebo Adobe XD.

Ladislav Hagara | Komentářů: 0
dnes 12:11 | Zajímavý článek

V Edici CZ.NIC vyšla kniha CyberSecurity věnovaná problematice kybernetické bezpečnosti, a to především jejím základním principům, které by měl respektovat každý, kdo využívá informační a komunikační technologie. Kniha je ke stažení zcela zdarma pod licenci Creative Commons (CC BY-ND 3.0 CZ) (pdf, epub, mobi).

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Nová verze

Byla vydána nová stabilní verze 0.92.4 a první alfa verze verze 1.0 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání (0.92.4 a 1.0alpha0). Obě verze jsou k dispozici také jako balíčky ve formátu AppImage. Stačí je stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 6
včera 21:22 | Nová verze

Byla vydána verze 1.32 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
včera 15:44 | Komunita

V říjnu byla změněna licence u multiplatformní dokumentové databáze MongoDB z GNU AGPLv3 na SSPL (Server Side Public License). Dle právníku se nejedná o svobodnou licenci. Databáze MongoDB tak nebude obsažena ve Fedoře, v Red Hat Enterprise Linuxu ani například v Debianu.

Ladislav Hagara | Komentářů: 16
včera 02:22 | Nová verze

Byla vydána verze 2.0 svobodné aplikace určené pro fotografování a ovládání digitálních fotoaparátů z počítače Entangle. Kódové jméno této nejnovější verze je Sodium.

Ladislav Hagara | Komentářů: 2
včera 01:22 | Nová verze

Byla vydána verze 2.18 svobodného webového prohlížeče pracujícího v grafickém i textovém módu Links (Wikipedie). Přehled novinek v seznamu změn. Links letos slaví 20 let. První veřejná verze 0.80 byla zveřejněna 24. listopadu 1999.

Ladislav Hagara | Komentářů: 5
16.1. 16:55 | Zajímavý článek

Vývojáři postmarketOS (GitLab) hodnotí 600 dnů vývoje tohoto v květnu 2017 představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky [reddit].

Ladislav Hagara | Komentářů: 2
16.1. 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 284 bezpečnostních chyb. V Oracle Java SE je například opraveno 5 bezpečnostních chyb. Všechny jsou vzdáleně zneužitelné bez autentizace. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace jsou 3 z nich.

Ladislav Hagara | Komentářů: 0
16.1. 15:44 | Komunita

Na YouTube byly zveřejněny komunitní videozáznamy přednášek z konference OpenAlt 2018. Letošní OpenAlt proběhne o víkendu 2. a 3. listopadu opět na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
Používáte USB Type-C?
 (19%)
 (16%)
 (10%)
 (12%)
 (37%)
 (3%)
 (45%)
Celkem 398 hlasů
 Komentářů: 0
Rozcestník

Jaderné noviny – 1. 3. 2018: Opouštění starých architektur a překladačů

18. 3. 2018 | David Kolibáč | Jaderné noviny | 2570×

Stav vydání jádra. Opouštění starých architektur a překladačů.

Stav vydání jádra

Kernel release status. Jonathan Corbet. 28. února 2018

Současné vývojové jádro je 4.16-rc3, vydané 25. února. Linus ho oznámil se slovy: „rc3 je větší než rc2, ale jak padlo minulý týden, to se dalo čekat – rc2 byla opravdu maličká. Lidé už začali nacházet, co je potřeba opravit, ale nic nevyniká, že by to bylo vysloveně hrozné.“

Současný seznam regresí v cyklu 4.16 čítá osm známých problémů.

Stabilní aktualizace: 4.4.117, 4.9.83, 4.14.21 a 4.15.5 byly vydány 23. února. Následovaly je 25. února aktualizace 4.15.6, 4.14.22, 4.9.84, 4.4.118 a 3.18.96 a poté 28. února aktualizace 4.15.7, 4.14.23, 4.9.85, 4.4.119 a 3.18.97. Všechny tyto aktualizace byly poměrně velké, např. v aktualizacích vydání 4.14 se nasčítalo až 385 změn.

Opouštění starých architektur a překladačů

Shedding old architectures and compilers in the kernel. Jonathan Corbet. 26. února 2018

Proces vývoje jádra se zaměřuje spíše na přidávání: každé nové vydání podporuje více ovladačů, více funkcí a často nové architektury procesorů. Výsledkem je, že skoro každé nové vydání jádra je větší než to předcházející. Ale občas je nutné trochu zeštíhlit i jádro. Nadcházející vydání jádra pravděpodobně potká odstranění podpory řady neoblíbených architektur a – nezávisle na tom – také odstranění podpory některých starších překladačů.

Architektury

Architektura Meta byla přidána do jádra 3.9 jako „metag“. Jde o 32bitovou architekturu vyvinutou v Imagination Technologies. Bohužel se přihodilo, že současně se začleněním kódu firma Imagination Technologies koupila MIPS Technologies a zaměřila se na architekturu MIPS. Od té doby podpora Mety v jádře skomírá a dá se sestavit pouze s GCC verze 4.2.4, která už není podporována. James Hogan, vývojář, který port na Metu do jádra původně přidal, 21. února navrhl její odstranění s tím, že je „v podstatě mrtvá a nikdo ji nepoužívá.“

Hned další den nezávisle navrhl Metu odstranit také Arnd Bergmann. Ovšem jak to mívá ve zvyku, vzal to zeširoka: navrhl důkladně zvážit odstranění celkem pěti architektur. Ty další čtyři zahrnovaly následující:

  • Architektura Sunplus S+core („score“) se dostala do jádra 2.6.30 v roce 2009. Od té doby se správci této architektury začali věnovat jiným věcem a už nepřispívají změnami do jádra. Podpora byla z GCC odstraněna ve vydání 5.0 v roce 2015. Bergmann k tomu řekl: „Shledávám, že v Linuxu je mrtvá a může se odstranit.“ Nikdo se ve prospěch zachování této architektury nevyjádřil.
  • Architektura Unicore 32 byla začleněna do jádra 2.6.39 v roce 2011. Šlo o výzkumný projekt na Pekingské univerzitě. Bergmann poznamenal, že nikdy nebyl zveřejněn port GCC na tuto architekturu a že správce od roku 2014 neposlal žádnou žádost o začlenění. I tato architektura, zdá se, postrádá uživatele a nikdo se za ni nepřimluvil.
  • Hexagon od Qualcommu je architektura digitálních signálových procesorů, jejíž podpora se do jádra dostala ve vydání 3.2 v roce 2011. Jde o trošku jiný případ, protože architektura Hexagon se stále aktivně používá – Bergmann řekl, že „se používá ve všech ARMovských SoC Snapdragon, ale jaderný kód se jeví jako výsledek neúspěšného výzkumného projektu, jehož cílem bylo vytvořit samostatný SoC Hexagon bez jader ARM.“ Port GCC 4.5 na tuto architekturu nikdy nebyl začleněn.

    Richard Kuo se ozval, aby se architektury Hexagon zastal, se slovy: „Tento port pořád používáme k experimentování s různými nástroji a na jiné výzkumné projekty ve firmě.“ Port GCC je skutečně opuštěný, řekl, ale to jen proto, že Qualcomm přešel na LLVM k sestavování jak jádra, tak kódu v uživatelském prostoru. Bergmann odpověděl, že architektura v jádře zůstane, když se správci kód stále hodí. Rád by ale dal dohromady funkční sadu nástrojů k sestavení portu pomocí LLVM.

  • V roce 2011 byla začleněna také architektura OpenRISC, a to do vydání 3.1. Bergmann si všiml, jak OpenRISC „trochu ztratil šťávu, jak danou niku rychle zabírá RISC-V, ale s čipy se jde setkat a tato architektura jen tak nezmizí.“ Na seznam ji přidal, protože chybí podpora v upstreamu GCC, ale řekl, že port GCC na OpenRISC je snadné najít a je aktivně udržován. Philipp Wagner reagoval, že kód GCC se nedostal do upstreamu, protože jeden důležitý vývojář nedodal souhlas s přenesením autorských práv – kód se zrovna přepisuje. Nakonec tedy nehrozí nebezpečí, že by OpenRISC byl v dohledné době odstraněn z jádra.

Bergmann také na okraj zmínil, že architektury FR-V a M32R (obě z doby před zavedením Gitu) byly označeny jako osiřelé a časem by se mělo zvážit jejich odstranění. V diskuzi se ale rychle ukázalo, že tyto architektury nikoho nezajímají. Konečně, David Howells je stále formálně správcem správcem architektury mn10300, pro niž přidal podporu ve vydání 2.6.25 v roce 2008, ale podle Bergmanna „se situace nezdá o nic aktivnější než v případě těch dalších dvou architektur, poslední skutečné aktualizace přišly v roce 2013.“ Další diskutující zmínili, že v současné době se nepoužívají ani architektury tile (z cyklu 2.6.21, rok 2010) a blackfin (cyklus 2.6.21, rok 2007).

Z diskuze vyplynul plán ve vývojovém cyklu 4.17 odstranit architektury score, unicore, metag, frv a m32r, zatímco hexagon a openrisc zůstanou. Architektury tile a blackfin budou na čas odloženy a pokud se neobjeví nový správce, budou odstraněny „později letos.“ Architektura mn10300 bude označena k „očekávanému odstranění“, nepřibude-li podpora současných čipů. Všeho všudy je tedy pravděpodobné, že z jádra v dohledné době zmizí docela dost kódu.

Překladače

Soubor changes.rst z jaderné dokumentace aktuálně tvrdí, že nejstarší podporovaná verze GCC je 3.2 vydaná v roce 2002. Už ale uplynul nějaký čas od doby, kdy se někomu skutečně podařilo jádro sestavit tak starým překladačem. Začátkem února Bergmann v diskuzi poznamenal, že nejstarší verze, o které se ví, že v tomto kontextu funguje, je 4.1 z roku 2006, a to sestavení se podařilo pouze jednomu jedinému odhodlanému vývojáři. Zdá se, že nejstarší překladač v praxi použitelný k sestavení jádra je [GCC] verze 4.3 (rok 2008), stále podporovaná distribucí SLES 11.

Linus Torvalds ale řekl, že reálně je potřeba verze aspoň 4.5 (rok 2010). V ní přibyla funkce „asm goto“, která umožňuje inline kódu assembleru skákat na návěští v kódu napsaném v C. Podpora překladačů bez této funkce vyžaduje údržbu celkem velkého množství záložního kódu. asm goto je také stále více potřeba k patřičnému zmírňování Meltdown/Spectre. Někteří vývojáři by se záložního kódu rádi zbavili, ale je v tom menší problém, jak poukázal Kees Cook: LLVM asm goto nepodporuje a celý Android se sestavuje pomocí LLVM. Takže v nejbližší době by někdo měl do LLVM přidat podporu asm goto.

Peter Zijlstra by rád šel o krok dál a vyžadoval GCC 4.6, ve kterém přibyla funkce -fentry. Ta nahrazuje starou profilovací vazbu mcount() novou, která se při vstupu do funkce volá před veškerým ostatním kódem. To by také umožnilo odstranit něco starého kódu pro zpětnou kompatibilitu. V tom případě by ale podle Bergmanna dávalo smysl učinit nejstarší možnou verzí 4.8, protože právě ta je podporována celou řadou distribucí s dlouhodobou podporou. Ale ani u toho se nemusíme zastavit, protože nejstarší verze GCC, o které se dá říct, že podporuje zmírnění Spectre „retpoline“, je 4.9, vydaná v roce 2014.

Zatím nikdo nerozhodl, která verze GCC bude opravdu ta nejstarší možná k sestavení jádra, takže prozatím v dokumentaci zůstává fiktivní číslo 3.2. Jednoho dne se to jistě změní. Do té doby by se každý, kdo k sestavení současných jader používá starší nástroje, měl zamyslet nad přechodem na něco novějšího.

(Poznámka autora: poděkování patří Arndu Bergmannovi za zodpovězení několika dotazů pro účely tohoto článku. Také stojí za zmínku nedávno aktualizovaný vyčerpávající seznam křížových překladačů dostupný na kernel.org, starší verze těchto překladačů jsou dostupné na této stránce.)

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Conscript89 avatar 18.3.2018 12:07 Conscript89 | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny – 1. 3. 2018: Opouštění starých architektur a překladačů
Diky za preklad!
I can only show you the door. You're the one that has to walk through it.
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.