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