LLVM lld linker results into a very big performance regression of Chromium

This commit is contained in:
Mikhail Novosyolov 2018-10-26 16:44:25 +03:00
parent 6e19c6628a
commit 861444f8c3

View file

@ -396,7 +396,7 @@ export NM=nm
%ifarch %ix86
# GNU BFD ld linker got out of memory on i586 with jumbo is_limit=10.
# Gold linker worked fine with jumbo is_limit=10 on i586, but sometimes got out of memory.
%define linker_args use_lld=true
%define linker_args use_gold=true
# These LDFLAGS fix building bundled openh264 with lld linker on i586
# "/usr/bin/ld.lld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment"
# Source of the solution: https://svnweb.freebsd.org/ports?view=revision&revision=480034
@ -405,10 +405,10 @@ export LDFLAGS="$LDFLAGS -Wl,-znotext"
%else
%ifarch x86_64
# If both gold and lld are false, GNU BFD ld is used.
#define linker_args use_gold=false use_lld=false is_cfi=false use_thin_lto=false
%define linker_args use_gold=false use_lld=false is_cfi=false use_thin_lto=false
# With GNU BFD ld linker, 4 GB RAM per worker on ABF really is not enough, linking takes ages
# Gold is not supported on x86_64, lld is forced
%define linker_args use_lld=true is_cfi=false use_thin_lto=false
#define linker_args use_lld=true is_cfi=false use_thin_lto=false
%endif
%endif