Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Jakožto dlouholetý uživatel Gentoo jsem několikrát odolával pokušení vykašlat se na poučku, která je vidět na každém kroku, a to že není dobrý nápad dát do CFLAGS -O3. Při psaní úlohy do předmětu počítačové fyziky jsem vlastně omylem narazil na to, že je velmi jednoduché uvědomit si, že to opravdu není dobrý nápad.
Psal jsem jakousi iterační metodu řešení čehosi a byl jsem líný čekat na výsledek, tak jsem si řekl, že od čeho má kompilátor optimalizace a tak si řeknu o rychlost vcuku letu a sáhnu po -O3. Jaké bylo mé překvapení, když hned po několika málo stech iterací se výsledek evidentně odtahoval od správného řešení více a více.
Jelikož onen algoritmus byl poněkud komplikovaný, říkal jsem si, že chyba nemusí být na straně kompilátoru, ale mé, a tak jsem si napsal to nejjednodušší, co mne v tu chvíli napadlo, a to integrování přes lichoběžníčky. Zvolil jsem integrál funkce sin(x) od nuly do pí, jelikož je to super pěkná fce a analytické řešení tohoto integrálu je opravdu triviální.
Zkusil jsem nechat počítat tento integrál s různými délkami kroku (záporné mocniny 10) s různými stupněmi optimalizace a porovnat výsledné chyby. Zatímco s přepínači -g, -O1 i -O2 dává program totožné výsledky jako bez přepínačů a chyba se chová dle očekávání — nejdříve vcelku prudce klesne a když se dostane do popředí zaokrouhlovací chyba, ak zase začne růst, tak s přepínačem -O3 vcelku systematicky roste překvapivě vysoko.
Pro ilustraci přikládám testovací prográmek ve stavu, jenž jsem použil, a graf chyby od analytického řešení (v logaritmické škále). Použitá verze gcc byla gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2).
Už nikdy nezapomenu na -Wall.Už nikdy nezapomenu na -Wall.Už nikdy nezapomenu na -Wall.Už nikdy nezapomenu na -Wall.
Tiskni
Sdílej:
)
Btw. k dokonalosti zápisku chybí ještě informace o tom, proč k té chybě dojde...
-Wstrict-overflow.
- double retval; + double retval = 0;Nechápem prečo ste ignorovali varovanie kompilátora.
Po této opravě vše dává vcelku stejné výsledky.
CFLAGS nemá na chování gcc jako takového žádný vliv. To je záležitost make nebo makefilů.
A teď vážně... No -O3 je prostě více náchylné na projevení nějaké chyby, která se při nižších -O neprojeví (viz třeba zde prezentované nevynulování používané proměnné). Takže s -O3 je větší šance, že se u tebe projeví více chyb.