forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
build: bump to Clang 19 #6995
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
Merged
Merged
build: bump to Clang 19 #6995
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
de1b467
merge bitcoin#30730: Bump time machine to 53396a22afc04536ddf75d8f82a…
kwvg 7fef63d
merge bitcoin#31529: latest 2.31 glibc
kwvg 9c9e876
partial bitcoin#33185: update time-machine to 5cb84f2013c5b1e48a7d0e6…
kwvg c359fb2
ci: bump to Clang 19
kwvg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| commit 68389203832ab39dd0dbaabbc4059e7fff51c29b | ||
| Author: Fangrui Song <[email protected]> | ||
| Date: Thu Oct 28 11:39:49 2021 -0700 | ||
|
|
||
| riscv: Fix incorrect jal with HIDDEN_JUMPTARGET | ||
|
|
||
| A non-local STV_DEFAULT defined symbol is by default preemptible in a | ||
| shared object. j/jal cannot target a preemptible symbol. On other | ||
| architectures, such a jump instruction either causes PLT [BZ #18822], or | ||
| if short-ranged, sometimes rejected by the linker (but not by GNU ld's | ||
| riscv port [ld PR/28509]). | ||
|
|
||
| Use HIDDEN_JUMPTARGET to target a non-preemptible symbol instead. | ||
|
|
||
| With this patch, ld.so and libc.so can be linked with LLD if source | ||
| files are compiled/assembled with -mno-relax/-Wa,-mno-relax. | ||
|
|
||
| Acked-by: Palmer Dabbelt <[email protected]> | ||
| Reviewed-by: Adhemerval Zanella <[email protected]> | ||
|
|
||
| Can be dropped when we are using glibc 2.35 or later. | ||
|
|
||
| diff --git a/sysdeps/riscv/setjmp.S b/sysdeps/riscv/setjmp.S | ||
| index 0b92016b31..bec7ff80f4 100644 | ||
| --- a/sysdeps/riscv/setjmp.S | ||
| +++ b/sysdeps/riscv/setjmp.S | ||
| @@ -21,7 +21,7 @@ | ||
|
|
||
| ENTRY (_setjmp) | ||
| li a1, 0 | ||
| - j __sigsetjmp | ||
| + j HIDDEN_JUMPTARGET (__sigsetjmp) | ||
| END (_setjmp) | ||
| ENTRY (setjmp) | ||
| li a1, 1 | ||
| diff --git a/sysdeps/unix/sysv/linux/riscv/setcontext.S b/sysdeps/unix/sysv/linux/riscv/setcontext.S | ||
| index 9510518750..e44a68aad4 100644 | ||
| --- a/sysdeps/unix/sysv/linux/riscv/setcontext.S | ||
| +++ b/sysdeps/unix/sysv/linux/riscv/setcontext.S | ||
| @@ -95,6 +95,7 @@ LEAF (__setcontext) | ||
| 99: j __syscall_error | ||
|
|
||
| END (__setcontext) | ||
| +libc_hidden_def (__setcontext) | ||
| weak_alias (__setcontext, setcontext) | ||
|
|
||
| LEAF (__start_context) | ||
| @@ -108,7 +109,7 @@ LEAF (__start_context) | ||
| /* Invoke subsequent context if present, else exit(0). */ | ||
| mv a0, s2 | ||
| beqz s2, 1f | ||
| - jal __setcontext | ||
| -1: j exit | ||
| + jal HIDDEN_JUMPTARGET (__setcontext) | ||
| +1: j HIDDEN_JUMPTARGET (exit) | ||
|
|
||
| END (__start_context) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Verify LLD version 19.1.4 matches Clang 19 distribution.
The expected LLD version has been updated to
[19, 1, 4]to align with the Clang 19 upgrade. Please verify this is the correct LLD version that ships with Clang 19 for macOS builds.🌐 Web query:
💡 Result:
LLVM/Clang 19 ships with LLD 19 (initially LLD 19.1.0 in the LLVM 19.1.0 release). [1][2]
Sources:
[1] LLD 19.1.0 documentation.
[2] LLVM 19.1.0 release announcement (includes lld).
Update version check to match actual LLD 19.1.0 shipped with Clang 19.
LLVM/Clang 19 ships with LLD 19.1.0, not 19.1.4. The version check at line 256 should be updated from
[19, 1, 4]to[19, 1, 0]to correctly match the shipped LLD version.🤖 Prompt for AI Agents