Historii úprav tu nemáme. Ví někdo, jak vypadala ta zprávička před opravou? Dokonce ani nevím, jestli to PTO byl překlep z LTO nebo PGO.
A kdyby autor napsal něco jako suché "Byl to překlep, opraveno", tak ani nedá záminku si do něj kopnout. Respektive by případný kopálista vypadal daleko hůř než teď.
Firefox používám nako testcase pro GCC a LTO už od roku 2010. I pro to nebylo těžké zjistit, kde narazili na problém a rozejjít LTO a PGO benchmaky i s GCC. Nebyl to až tak tlak situace jako plán přeměřit testy pro feature freeze GCC 9. Je ale fajn, že se věci pohly a můžu teď třeba měřit na oficiálním try serveru :)
V praxi tezko rict, ani v tom FESCo ticketu se nikdo nevyjadril konkretne. Spis vsichni delaji na gcc, pro gcc jsou odladene build flagy vcetne tech bezpecnostnich nastaveni ktere jsou stejne pro celou distribuci a dalsich nastroju jako linker a veci z binutils.
Pro clang by se to muselo prekopat a najit nejake alternativy pro to co neni implementovane 1:1 s gcc. Ve vysledku je bezpecnost toho prohlizece kombinace vic veci - nastaveni kompilatoru + vnitrni sandbox firefoxu + sandbox OS (SELinux) takze zalezi na kazdem pripadnem utoku jak obchazi tyto jednotlive komponenty.
Osobne si nemyslim ze by to mel byt zasadni problem nicmene sem rad ze jsme mohli zustat na gcc kvuli kompatibilite se zbytkem distribuce.
nie je to trochu spomenute tu?
"As pointed out by others at least -fstack-clash-protection is a noop
with clang and -D_FORTIFY_SOURCE=3D2 isn't implemented properly. Someone
with knowledge of the alternative toolchain might know about others
like -fcf-protection, -fasynchronous-unwind-tables, -fstack-protector-
strong, -D_GLIBCXX_ASSERTIONS, -fexceptions and -Werror=3Dformat-security=
=20
or the linker flags -z relro, -z defs and -z now."
No nevim co znamena "-D_FORTIFY_SOURCE=3D2 isn't implemented properly" ? Uplne to chybi, je to castecne funkcni, je to rozbite? Nevim. Jedinou vec co vim konkretne tak ze chybi implementace -fstack-protector.
Ono ve Fedore je spis problem ze clangu moc lidi nerozumi a vse se dela/ladi na gcc, takze pripadne nedostatky clangu jsou IMHO spis v oblasti dohadu. Ale pokud by na tom clang byl dramaticky hure nez gcc, tezko by na nej Mozilla prechazela. Na druhou stranu Mozilla ani s gcc nemela zapnuty "hardening" jako Fedora a nepouzivala PIE (position independent) linkovani.
Take je mozne ze na Windows je clang i presto nejlepsi dostupny kompilator a Mozille vic jde o unifikovany preklad na vsech architekturach a pripadne dilci nedostatky na Linuxu ji moc netrapi - je prece jen asi o 2-3% vsech uzivatelu Firefoxu :)
> pripadne dilci nedostatky na Linuxu ji moc netrapi - je prece jen asi o 2-3% vsech uzivatelu Firefoxu :)
Mozilla by vazne mala prestat pouzivat takyto argument - koniec koncov, Firefox pouziva iba 9% pouzivatelov browserov a ide to dole. Presne z toho dovodu, aby nedostali rovnaku medicinu, ked weby prestanu podporovat ich prehliadac. Uz dnes nastroje ako Ubiqiti Controller podporuju len Chrome, s tym, ze ak to ide v inom prehliadaci, tak to je bonus.