Joe McDonnell has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/21121


Change subject: PROTOTYPE: IMPALA-12807: Add support for mold linker
......................................................................

PROTOTYPE: IMPALA-12807: Add support for mold linker

This adds support for using the mold linker. It changes
the existing USE_GOLD_LINKER environment variable to
IMPALA_LINKER, which accepts ld, gold, or mold as
values. It defaults to 'gold' to match current behavior.
Developers can override it in bin/impala-config-local.sh.

Clang does not implement -gz properly until version 12.
It does not enable compressed debuginfo in the final
binary. IMPALA_LINKER=mold doesn't work with
IMPALA_COMPRESSED_DEBUG_INFO=true on Clang due to this.
This detects Clang <12 and skips -gz as it is ineffective.

Mold follows similar to behavior to LLD and requires
--exclude-libs to use the full library name (i.e.
liblz4.a rather than liblz4). Gold will happily
accept the full library name, so this changes to use
the full library name.

Testing:
 - Ran builds with IMPALA_LINKER=mold on Centos 7, Redhat 8,
   and Ubuntu 20.

TODO: Update this with the final x86_64/ARM toolchain
versions.
TODO: Add perf numbers for incremental rebuild

Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241
---
M be/CMakeLists.txt
M be/src/service/CMakeLists.txt
M bin/bootstrap_toolchain.py
M bin/impala-config.sh
4 files changed, 43 insertions(+), 18 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/21/21121/1
--
To view, visit http://gerrit.cloudera.org:8080/21121
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241
Gerrit-Change-Number: 21121
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <joemcdonn...@cloudera.com>

Reply via email to