Even more fun with building and benchmarking Firefox with GCC and Clang
hubicka.blogspot.com
hubicka.blogspot.com
Great job, both teams. Please keep up the great work!
Pretty unsurprising. Same reason why Firefox and Chrome still identify first and foremost as 'Mozilla.'
I sorry if this question is phrased poorly, English is not my first language and I am new to build system issues.
Whereas llvm/clang was designed as a library to be open and extensible, which lead to a lot of tooling being built around it.
Unrelated to license, clang also has far better error messages than gcc.
This was true a number of years ago, but I believe GCC's diagnostics have gotten much better in response to competition and don't believe it to be true anymore (although my experience is with C code, not C++ — maybe Clang is better there).
Another distinction is that GCC continues to hold a significant lead in producing accurate debuginfo, which is invaluable to me as a developer.
Originally FSF did not want to make it easy let GCC store its intermediate language and read it back. That was because it would let others to build proprietary frontends and back-ends which is against RMS' vision. This has changed and LTO does precisely that (and indeed in addition to technical difficulties this political issue delayed its arrival in GCC). So this political block of extensibility is long gone (and I am happy for that).
A lot has changed in compilation between mid 1980's GCC was started and early 2000's. LLVM design reflects its time. Almost 20 years passed since that and both projects needs to evolve and develop strategies of doing so.
- You can cross-compile from anything to Windows. (To MSVC ABI!)
Right now LLVM is fashionable and gcc is not. Little details, as in actually generating better code, are minor in comparison.
The page won't let me zoom all the way out.
The link is off. This link http://hubicka.blogspot.com/2018/12/even-more-fun-with-build... renders better in general.
PS: I found it too ironic to mention in the blog, but I had to uninstall mobile firefox to get the two-level application needed to submit a patch :)). For some reason Google authentificator requires over 30MB to take a picture of bar code.
And say Mozilla did care about what compiler they were using because it locks them into one of them. They would go ahead and develop a new alternative Rust compiler with an alternative backend. Oh no! They're all using Glibc still! And GTK+! And the X.org monoculture!!!
The current goal behind Firefox is to provide an alternate browser that isn't based on Webkit, not to make sure that every piece of software is equally competitive.