RFR: JDK-8217723 Switch ld from bfd to gold on gcc toolchain
    Andrew Haley 
    aph at redhat.com
       
    Fri Jan 25 14:39:17 UTC 2019
    
    
  
Massive win for gold here, on my (very old) AArch64 system:
BFD linker:
 $ time /home/aph/gcc-x/aarch64-trunk-install/bin/g++ -Wl,-z,defs -fuse-ld=bfd -Wl,-z,noexecstack ...
real	0m26.090s
user	0m24.570s
sys	0m1.480s
gold, single-threaded:
 $ time /home/aph/gcc-x/aarch64-trunk-install/bin/g++ -Wl,-z,defs -fuse-ld=gold -Wl,-z,noexecstack ...
real	0m12.325s
user	0m12.030s
sys	0m0.280s
gold, multi-threaded:
 $ time /home/aph/gcc-x/aarch64-trunk-install/bin/g++ -Wl,-z,defs -fuse-ld=gold -Wl,--threads -Wl,-z,noexecstack ...
real	0m8.297s
user	0m14.680s
sys	0m1.650s
I would very much like to see this change go in, with a probe to make
sure that -fuse-ld=gold works. There is unfortunately one gotcha: on
some systems gold is built without threading support (why,
fercrineoutloud?) so it's necessary to probe for -Wl,--threads
separately.
-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
    
    
More information about the build-dev
mailing list