Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make LLD build forward-compatible with LLVM 16 #106000

Merged
merged 2 commits into from
Dec 22, 2022
Merged

Conversation

nikic
Copy link
Contributor

@nikic nikic commented Dec 21, 2022

Switch to using the cmake module instead of llvm-config. I believe this also removes the need for llvm-config-wrapper.

LLVM does this itself since 606cb85,
and 14 is no longer the correct standard when building lld 16,
causing build failures.
@rustbot
Copy link
Collaborator

rustbot commented Dec 21, 2022

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 21, 2022
@nikic
Copy link
Contributor Author

nikic commented Dec 21, 2022

@bors try I wasn't able to test the docker image due to "setting llvm.thin_lto is incompatible with download-ci-llvm", let's see if it works in CI.

@bors
Copy link
Contributor

bors commented Dec 21, 2022

⌛ Trying commit 6733a3f with merge ae234e720bf603c959226f2394cc3d920d132cf0...

@Mark-Simulacrum
Copy link
Member

r=me when ready

@bors
Copy link
Contributor

bors commented Dec 21, 2022

☀️ Try build successful - checks-actions
Build commit: ae234e720bf603c959226f2394cc3d920d132cf0 (ae234e720bf603c959226f2394cc3d920d132cf0)

@nikic
Copy link
Contributor Author

nikic commented Dec 21, 2022

@bors r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Dec 21, 2022

📌 Commit 6733a3f has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 21, 2022
@nikic
Copy link
Contributor Author

nikic commented Dec 21, 2022

@bors rollup=iffy

fee1-dead added a commit to fee1-dead-contrib/rust that referenced this pull request Dec 21, 2022
Make LLD build forward-compatible with LLVM 16

Switch to using the cmake module instead of llvm-config. I believe this also removes the need for llvm-config-wrapper.
@bors
Copy link
Contributor

bors commented Dec 21, 2022

⌛ Testing commit 6733a3f with merge 57590d8547f5dcd6788583632ba01a7ea130b285...

@bors
Copy link
Contributor

bors commented Dec 21, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 21, 2022
@rust-log-analyzer

This comment has been minimized.

LLVM_CONFIG_PATH is no longer supported as of LLVM 16, switch to
using the cmake module instead.

We separately return the llvm-config and cmake directory paths,
because llvm-config always refers to the host binary, while
the cmake directory is for the target triple.
@nikic
Copy link
Contributor Author

nikic commented Dec 22, 2022

Okay, we can't derive the cmake directory from the llvm-config path, because we always return llvm-config for the build triple, not the target triple (we can't execute the target llvm-config binary). So we need to return both the llvm-config path and the cmake directory.

The dist-s390x-linux build now works locally.

@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Dec 22, 2022

📌 Commit 59b3157 has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 22, 2022
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Dec 22, 2022
@bors
Copy link
Contributor

bors commented Dec 22, 2022

⌛ Testing commit 59b3157 with merge e5e4eef...

@bors
Copy link
Contributor

bors commented Dec 22, 2022

☀️ Test successful - checks-actions
Approved by: Mark-Simulacrum
Pushing e5e4eef to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 22, 2022
@bors bors merged commit e5e4eef into rust-lang:master Dec 22, 2022
@rustbot rustbot added this to the 1.68.0 milestone Dec 22, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e5e4eef): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.2% [-1.2%, -1.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.6% [3.6%, 3.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.5% [-1.5%, -1.5%] 1
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.4% [-2.5%, -2.4%] 3
All ❌✅ (primary) - - 0

Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
Make LLD build forward-compatible with LLVM 16

Switch to using the cmake module instead of llvm-config. I believe this also removes the need for llvm-config-wrapper.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants