[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Joe McDonnell has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. 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. Mold is much faster for incremental builds on my system: (e.g. touch be/src/scheduling/scheduler.cc && make -j8 impalad) gold: 15.8s mold: 2.6s Testing: - Ran builds with IMPALA_LINKER=mold on Centos 7, Redhat 8, and Ubuntu 20. Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Reviewed-on: http://gerrit.cloudera.org:8080/21121 Reviewed-by: Michael Smith Reviewed-by: Andrew Sherman Tested-by: Impala Public Jenkins --- M be/CMakeLists.txt M be/src/service/CMakeLists.txt M bin/bootstrap_toolchain.py M bin/impala-config.sh 4 files changed, 40 insertions(+), 15 deletions(-) Approvals: Michael Smith: Looks good to me, but someone else must approve Andrew Sherman: Looks good to me, approved Impala Public Jenkins: Verified -- 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: merged Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 4 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Joe McDonnell Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 3: Verified+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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith Gerrit-Comment-Date: Mon, 25 Mar 2024 22:53:22 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Andrew Sherman has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 3: Code-Review+2 LGTM Tested full builds and ran from IDE -- 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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith Gerrit-Comment-Date: Mon, 25 Mar 2024 20:36:14 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 3: Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/10425/ DRY_RUN=true -- 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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith Gerrit-Comment-Date: Mon, 25 Mar 2024 17:54:42 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 3: Build Successful https://jenkins.impala.io/job/gerrit-code-review-checks/15657/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests. -- 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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith Gerrit-Comment-Date: Mon, 25 Mar 2024 17:43:14 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Michael Smith has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 3: Code-Review+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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal Gerrit-Reviewer: Michael Smith Gerrit-Comment-Date: Mon, 25 Mar 2024 17:16:21 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Hello Andrew Sherman, Laszlo Gaal, Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/21121 to look at the new patch set (#3). Change subject: IMPALA-12807: Add support for mold linker .. 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. Mold is much faster for incremental builds on my system: (e.g. touch be/src/scheduling/scheduler.cc && make -j8 impalad) gold: 15.8s mold: 2.6s Testing: - Ran builds with IMPALA_LINKER=mold on Centos 7, Redhat 8, and Ubuntu 20. 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, 40 insertions(+), 15 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/21/21121/3 -- 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: newpatchset Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 3 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Andrew Sherman Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Laszlo Gaal
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/21121 ) Change subject: IMPALA-12807: Add support for mold linker .. Patch Set 2: Build Failed https://jenkins.impala.io/job/gerrit-code-review-checks/15654/ : Initial code review checks failed. See linked job for details on the failure. -- 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: comment Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 2 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Impala Public Jenkins Gerrit-Comment-Date: Mon, 25 Mar 2024 17:07:48 + Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-12807: Add support for mold linker
Hello Impala Public Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/21121 to look at the new patch set (#2). Change subject: IMPALA-12807: Add support for mold linker .. 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. Mold is much faster for incremental builds on my system: (e.g. touch be/src/scheduling/scheduler.cc && make -j8 impalad) gold: 15.8s mold: 2.6s Testing: - Ran builds with IMPALA_LINKER=mold on Centos 7, Redhat 8, and Ubuntu 20. 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, 40 insertions(+), 15 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/21/21121/2 -- 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: newpatchset Gerrit-Change-Id: Ia9e9accd06b6ecd182d200d81afaae09a885c241 Gerrit-Change-Number: 21121 Gerrit-PatchSet: 2 Gerrit-Owner: Joe McDonnell Gerrit-Reviewer: Impala Public Jenkins