[Impala-ASF-CR] IMPALA-12807: Add support for mold linker

2024-03-25 Thread Joe McDonnell (Code Review)
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

2024-03-25 Thread Impala Public Jenkins (Code Review)
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

2024-03-25 Thread Andrew Sherman (Code Review)
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

2024-03-25 Thread Impala Public Jenkins (Code Review)
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

2024-03-25 Thread Impala Public Jenkins (Code Review)
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

2024-03-25 Thread Michael Smith (Code Review)
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

2024-03-25 Thread Joe McDonnell (Code Review)
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

2024-03-25 Thread Impala Public Jenkins (Code Review)
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

2024-03-25 Thread Joe McDonnell (Code Review)
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