Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
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.