IMPALA-3420: use gold by default Also pass the flag that enables ld.gold directly to the compiler. This is understood by both gcc and clang (if prefixed with -Wl, clang just forwards the flag to ld, where it is ignored).
Testing: Did ASAN and debug private builds to validate it works. Tested shared library, release, ninja and distcc builds locally as part of my normal workflow. Change-Id: Ib05c944ced9cdfe54941f4b690574e45a25110a2 Reviewed-on: http://gerrit.cloudera.org:8080/4751 Reviewed-by: Jim Apple <[email protected]> Tested-by: Internal Jenkins Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/f1f54fe6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/f1f54fe6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/f1f54fe6 Branch: refs/heads/master Commit: f1f54fe65db7d5af2e53b217fb7cb50abe8c50fc Parents: 5a2c50a Author: Tim Armstrong <[email protected]> Authored: Thu Oct 13 11:00:00 2016 -0700 Committer: Internal Jenkins <[email protected]> Committed: Thu Oct 20 03:09:59 2016 +0000 ---------------------------------------------------------------------- be/CMakeLists.txt | 2 +- bin/impala-config.sh | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f1f54fe6/be/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt index a5cc4d8..a44834a 100644 --- a/be/CMakeLists.txt +++ b/be/CMakeLists.txt @@ -47,7 +47,7 @@ SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFI SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DBOOST_SYSTEM_NO_DEPRECATED") SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -B $ENV{IMPALA_TOOLCHAIN}/binutils-$ENV{IMPALA_BINUTILS_VERSION}/bin/") IF($ENV{USE_GOLD_LINKER} STREQUAL "true") - SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wl,-fuse-ld=gold") + SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -fuse-ld=gold") ENDIF() # On Apple we build with clang and need libstdc++ instead of libc++ http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f1f54fe6/bin/impala-config.sh ---------------------------------------------------------------------- diff --git a/bin/impala-config.sh b/bin/impala-config.sh index 38bdc69..85bcbfc 100755 --- a/bin/impala-config.sh +++ b/bin/impala-config.sh @@ -56,9 +56,8 @@ fi # If it's 0, Impala will be built with the compiler in the toolchain directory. : ${USE_SYSTEM_GCC=0} -# Gold is available on newer systems and a full build with static linking is ~1.5 mins -# faster using gold. A shared object build using gold is a little faster than using ld. -: ${USE_GOLD_LINKER=false} +# Use ld.gold instead of ld by default to speed up builds. +: ${USE_GOLD_LINKER=true} # Override the default compiler by setting a path to the new compiler. The default # compiler depends on USE_SYSTEM_GCC and IMPALA_GCC_VERSION. The intended use case
