-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
llvmPackages.bolt: init at 19.0.0-unstable-2024-07-08 #326240
Conversation
|
||
outputs = [ | ||
"out" | ||
"lib" |
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.
I see only .a
archive files in the lib directory. I think these should live in the dev
output rather than the lib
output, otherwise they end up being depended on by the bin
(in this case out
) output via $out/nix-support/propagated-build-inputs even though they're not needed.
There would be some care needed however to keep the libbolt_rt*.a in the same tree as bolt so it can find them.
This is handled in multiple-outputs.sh:
_multioutPropagateDev() { |
Here's what I currently see, and propagated-build-inputs contains /nix/store/7d04yb047wzmyr832slq50l2k7y7rn46-bolt-19.0.0-unstable-2024-07-08-lib
.
/nix/store/7d04yb047wzmyr832slq50l2k7y7rn46-bolt-19.0.0-unstable-2024-07-08-lib
└── lib
├── libLLVMBOLTCore.a
├── libLLVMBOLTPasses.a
├── libLLVMBOLTProfile.a
├── libLLVMBOLTRewrite.a
├── libLLVMBOLTRuntimeLibs.a
├── libLLVMBOLTTargetAArch64.a
├── libLLVMBOLTTargetRISCV.a
├── libLLVMBOLTTargetX86.a
└── libLLVMBOLTUtils.a
/nix/store/4l8sg5jq9vjnf112n910k46m5dr19i62-bolt-19.0.0-unstable-2024-07-08
├── bin
│ ├── llvm-bolt
│ ├── llvm-boltdiff
│ ├── llvm-bolt-heatmap
│ ├── merge-fdata
│ └── perf2bolt
├── lib
│ ├── libbolt_rt_hugify.a
│ └── libbolt_rt_instr.a
└── nix-support
└── propagated-build-inputs
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.
I see only
.a
archive files in the lib directory. I think these should live in thedev
output rather than thelib
output, otherwise they end up being depended on by thebin
(in this caseout
) output via $out/nix-support/propagated-build-inputs even though they're not needed.
Yeah, I agree. Only got this PR to a buildable state, now we can make these kinds of fine adjustments 😸.
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.
Had to keep libbolt_rt_hugify.a
and libbolt_rt_instr.a
since they're needed at runtime.
abd6772
to
1e40116
Compare
1e40116
to
3e6e0c3
Compare
8d86a82
to
38f7848
Compare
38f7848
to
e45b1fc
Compare
Result of 2 packages built:
|
Description of changes
Continue from #289587, fixes #176536
Init LLVM's bolt onto the git version because of llvm/llvm-project#97130, we can backport once the upstream PR is merged.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.