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>