Skip to content

llvmPackages.bolt: init at 19.0.0-unstable-2024-07-08#326240

Merged
RossComputerGuy merged 1 commit intoNixOS:masterfrom
ExpidusOS:feat/llvm-bolt
Aug 1, 2024
Merged

llvmPackages.bolt: init at 19.0.0-unstable-2024-07-08#326240
RossComputerGuy merged 1 commit intoNixOS:masterfrom
ExpidusOS:feat/llvm-bolt

Conversation

@RossComputerGuy
Copy link
Copy Markdown
Member

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

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related label Jul 11, 2024
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Jul 11, 2024
Copy link
Copy Markdown
Contributor

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:

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

Copy link
Copy Markdown
Member Author

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.

Yeah, I agree. Only got this PR to a buildable state, now we can make these kinds of fine adjustments 😸.

Copy link
Copy Markdown
Member Author

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.

@RossComputerGuy RossComputerGuy force-pushed the feat/llvm-bolt branch 6 times, most recently from abd6772 to 1e40116 Compare July 17, 2024 02:47
@RossComputerGuy RossComputerGuy added 2.status: wait-for-upstream Waiting for upstream fix (or their other action). and removed 2.status: wait-for-upstream Waiting for upstream fix (or their other action). labels Jul 22, 2024
@RossComputerGuy RossComputerGuy force-pushed the feat/llvm-bolt branch 2 times, most recently from 8d86a82 to 38f7848 Compare August 1, 2024 05:28
@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Aug 1, 2024
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Aug 1, 2024
@ofborg ofborg bot added 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Aug 1, 2024
@RossComputerGuy RossComputerGuy merged commit a2dd72c into NixOS:master Aug 1, 2024
@RossComputerGuy RossComputerGuy deleted the feat/llvm-bolt branch August 1, 2024 06:29
@djacu
Copy link
Copy Markdown
Member

djacu commented Aug 1, 2024

Result of nixpkgs-review pr 326240 run on x86_64-linux 1

2 packages built:
  • bolt_19
  • bolt_19.dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LLVM Bolt

4 participants