nixpkgs/pkgs
TredwellGit 2bb011032c
chromium: use official build settings (#101467)
LLD: https://lld.llvm.org/
When you link a large program on a multicore machine, you can expect that LLD runs more than twice as fast as the GNU gold linker. Your mileage may vary, though.
Link-time optimization (LTO) is supported by default.
Some default settings have been tuned for the 21st century. For example, the stack is marked as non-executable by default to tighten security.

LTO & ThinLTO: https://clang.llvm.org/docs/ThinLTO.html
LTO (Link Time Optimization) achieves better runtime performance through whole-program analysis and cross-module optimization. However, monolithic LTO implements this by merging all input into a single module, which is not scalable in time or memory, and also prevents fast incremental compiles. ThinLTO is a new approach that is designed to scale like a non-LTO build, while retaining most of the performance achievement of full LTO.

PGO: https://llvm.org/docs/HowToBuildWithPGO.html https://blog.chromium.org/2020/08/chrome-just-got-faster-with-profile.html
Allows your compiler to better optimize code for how it actually runs. Users report that applying this to Clang and LLVM can decrease overall compile time by 20%.
Because PGO uses real usage scenarios that match the workflows of Chrome users around the world, the most common tasks get prioritized and made faster. Delivers up to 10% faster page loads.

CFI: https://clang.llvm.org/docs/ControlFlowIntegrity.html https://www.chromium.org/developers/testing/control-flow-integrity
Aborts the program upon detecting certain forms of undefined behavior that can potentially allow attackers to subvert the program’s control flow. These schemes have been optimized for performance, allowing developers to enable them in release builds.
By default, a program compiled with CFI will crash with SIGILL if it detects a CFI violation.

Additionally:
Use minizip instead of zlib. Chromium says zlib but actually uses minizip.
Remove old unused workarounds.
Make shell scripts POSIX compliant.
Update documentation URLs.
Prepare for using system libraries.
2020-10-24 12:27:40 +02:00
..
applications chromium: use official build settings (#101467) 2020-10-24 12:27:40 +02:00
build-support validatePkgConfig: fix variable scope 2020-10-18 14:00:05 +02:00
common-updater
data all-cabal-hashes: update to Hackage at 2020-10-22T01:32:08Z 2020-10-23 21:00:26 +02:00
desktops Merge pull request #101030 from romildo/upd.evisum 2020-10-23 21:26:28 -03:00
development ocamlPackages.mirage-fs: init at 3.0.1 2020-10-24 12:25:02 +02:00
games Merge pull request #101395 from r-ryantm/auto-update/enyo-doom 2020-10-22 12:12:54 -07:00
misc Merge pull request #100162 from samuelgrf/pcsx2_gtk3-x86_64 2020-10-23 16:48:45 +02:00
os-specific Merge pull request #101304 from r-ryantm/auto-update/alsa-utils 2020-10-22 20:42:33 -03:00
pkgs-lib pkgs-lib/tests/formats: improve message on failure 2020-10-19 21:46:08 +02:00
servers Merge pull request #98748 from TredwellGit/xorg.xorgserver 2020-10-24 00:44:52 +02:00
shells zsh-powerlevel10k: 1.12.0 -> 1.13.0 2020-10-22 19:49:18 +02:00
stdenv
test
tools parallel: fix calculation of max line length 2020-10-24 09:55:06 +02:00
top-level ocamlPackages.mirage-fs: init at 3.0.1 2020-10-24 12:25:02 +02:00