-
Notifications
You must be signed in to change notification settings - Fork 2.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
fix: copy PDBs for EFI targets #12688
Conversation
r? @weihanglo (rustbot has picked a reviewer for you, use r? to override) |
@lf- The CI failed because there is no |
oh, that's very unsurprising. I was somewhat worried that would mess us up. How should we actually test this? -Zbuild-std would work, but I don't know if that's allowable in the cargo testsuite? |
We generally don't have tests for non-tier-1 targets. I wouldn't worry about adding a test for this case. Ping @dvdhrm and @nicholasbishop as uefi target maintainers, in case you want to verify this change. |
EFI also uses the PE format with .pdb files, and rustc generates them, but Cargo does not copy them out of target/*/deps. This is an oversight, so this PR fixes it. Related: rust-osdev/uefi-rs#289 Related: rust-lang#5179
Cool, there is an easy solution to this, test has been removed :P |
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.
Looks good! Thanks a lot!
Alternatively, we could check the is_like_windows
key of the target, but not sure that would make it better.
Thanks! @bors r+ |
☀️ Test successful - checks-actions |
Update cargo 19 commits in b4ddf95ad9954118ac0dae835f2966394ad04c02..414d9e3a6d8096f3e276234ce220c868767a8792 2023-09-18 03:48:09 +0000 to 2023-09-22 07:03:57 +0000 - refactor(TomlManifest): fail when package_root is not a directory (rust-lang/cargo#12722) - Better suggestion for unsupported mode in build command (rust-lang/cargo#12693) - Update curl-sys to pull in curl 8.3.0 (rust-lang/cargo#12718) - chore(ci): Ignore patch version in MSRV (rust-lang/cargo#12716) - refactor: move cached crates.io SourceID to config module (rust-lang/cargo#12711) - fix: typos in registry authentication documentation (rust-lang/cargo#12714) - doc: mention unstable flag `-Z asymmetric-token` (rust-lang/cargo#12712) - fix: copy PDBs for EFI targets (rust-lang/cargo#12688) - infra: add auto-trigger rules for new labels (rust-lang/cargo#12713) - fix: use channel-specific link for registry auth error (rust-lang/cargo#12709) - Add some enhancements to `cargo clean` (rust-lang/cargo#12638) - chore: Fix typos (rust-lang/cargo#12707) - Shortest path (rust-lang/cargo#12678) - doc/reference/manifest: Adjust `keywords` description (rust-lang/cargo#12705) - Cargo add displays either feature list or summarized count (rust-lang/cargo#12702) - SemVer: Update documentation about removing optional dependencies (rust-lang/cargo#12687) - publish.py: Remove obsolete `sleep()` calls (rust-lang/cargo#12686) - generalise suggestion on abiguous spec (rust-lang/cargo#12685) - util/toml: Remove duplicate `serde(rename)` attributes (rust-lang/cargo#12682) r? ghost
Update cargo 19 commits in b4ddf95ad9954118ac0dae835f2966394ad04c02..414d9e3a6d8096f3e276234ce220c868767a8792 2023-09-18 03:48:09 +0000 to 2023-09-22 07:03:57 +0000 - refactor(TomlManifest): fail when package_root is not a directory (rust-lang/cargo#12722) - Better suggestion for unsupported mode in build command (rust-lang/cargo#12693) - Update curl-sys to pull in curl 8.3.0 (rust-lang/cargo#12718) - chore(ci): Ignore patch version in MSRV (rust-lang/cargo#12716) - refactor: move cached crates.io SourceID to config module (rust-lang/cargo#12711) - fix: typos in registry authentication documentation (rust-lang/cargo#12714) - doc: mention unstable flag `-Z asymmetric-token` (rust-lang/cargo#12712) - fix: copy PDBs for EFI targets (rust-lang/cargo#12688) - infra: add auto-trigger rules for new labels (rust-lang/cargo#12713) - fix: use channel-specific link for registry auth error (rust-lang/cargo#12709) - Add some enhancements to `cargo clean` (rust-lang/cargo#12638) - chore: Fix typos (rust-lang/cargo#12707) - Shortest path (rust-lang/cargo#12678) - doc/reference/manifest: Adjust `keywords` description (rust-lang/cargo#12705) - Cargo add displays either feature list or summarized count (rust-lang/cargo#12702) - SemVer: Update documentation about removing optional dependencies (rust-lang/cargo#12687) - publish.py: Remove obsolete `sleep()` calls (rust-lang/cargo#12686) - generalise suggestion on abiguous spec (rust-lang/cargo#12685) - util/toml: Remove duplicate `serde(rename)` attributes (rust-lang/cargo#12682) r? ghost
Update cargo 19 commits in b4ddf95ad9954118ac0dae835f2966394ad04c02..414d9e3a6d8096f3e276234ce220c868767a8792 2023-09-18 03:48:09 +0000 to 2023-09-22 07:03:57 +0000 - refactor(TomlManifest): fail when package_root is not a directory (rust-lang/cargo#12722) - Better suggestion for unsupported mode in build command (rust-lang/cargo#12693) - Update curl-sys to pull in curl 8.3.0 (rust-lang/cargo#12718) - chore(ci): Ignore patch version in MSRV (rust-lang/cargo#12716) - refactor: move cached crates.io SourceID to config module (rust-lang/cargo#12711) - fix: typos in registry authentication documentation (rust-lang/cargo#12714) - doc: mention unstable flag `-Z asymmetric-token` (rust-lang/cargo#12712) - fix: copy PDBs for EFI targets (rust-lang/cargo#12688) - infra: add auto-trigger rules for new labels (rust-lang/cargo#12713) - fix: use channel-specific link for registry auth error (rust-lang/cargo#12709) - Add some enhancements to `cargo clean` (rust-lang/cargo#12638) - chore: Fix typos (rust-lang/cargo#12707) - Shortest path (rust-lang/cargo#12678) - doc/reference/manifest: Adjust `keywords` description (rust-lang/cargo#12705) - Cargo add displays either feature list or summarized count (rust-lang/cargo#12702) - SemVer: Update documentation about removing optional dependencies (rust-lang/cargo#12687) - publish.py: Remove obsolete `sleep()` calls (rust-lang/cargo#12686) - generalise suggestion on abiguous spec (rust-lang/cargo#12685) - util/toml: Remove duplicate `serde(rename)` attributes (rust-lang/cargo#12682) r? ghost
Update cargo 19 commits in b4ddf95ad9954118ac0dae835f2966394ad04c02..414d9e3a6d8096f3e276234ce220c868767a8792 2023-09-18 03:48:09 +0000 to 2023-09-22 07:03:57 +0000 - refactor(TomlManifest): fail when package_root is not a directory (rust-lang/cargo#12722) - Better suggestion for unsupported mode in build command (rust-lang/cargo#12693) - Update curl-sys to pull in curl 8.3.0 (rust-lang/cargo#12718) - chore(ci): Ignore patch version in MSRV (rust-lang/cargo#12716) - refactor: move cached crates.io SourceID to config module (rust-lang/cargo#12711) - fix: typos in registry authentication documentation (rust-lang/cargo#12714) - doc: mention unstable flag `-Z asymmetric-token` (rust-lang/cargo#12712) - fix: copy PDBs for EFI targets (rust-lang/cargo#12688) - infra: add auto-trigger rules for new labels (rust-lang/cargo#12713) - fix: use channel-specific link for registry auth error (rust-lang/cargo#12709) - Add some enhancements to `cargo clean` (rust-lang/cargo#12638) - chore: Fix typos (rust-lang/cargo#12707) - Shortest path (rust-lang/cargo#12678) - doc/reference/manifest: Adjust `keywords` description (rust-lang/cargo#12705) - Cargo add displays either feature list or summarized count (rust-lang/cargo#12702) - SemVer: Update documentation about removing optional dependencies (rust-lang/cargo#12687) - publish.py: Remove obsolete `sleep()` calls (rust-lang/cargo#12686) - generalise suggestion on abiguous spec (rust-lang/cargo#12685) - util/toml: Remove duplicate `serde(rename)` attributes (rust-lang/cargo#12682) r? ghost
What does this PR try to resolve?
EFI also uses the PE format with .pdb files, and rustc generates them, but Cargo does not copy them out of target/*/deps as it does on Windows. This is an oversight, so this PR fixes it.
How should we test and review this PR?
See the test below; you can copy it into a new project and run
cargo build --target x86_64-unknown-uefi
and verify that the pdb is properly copied.Additional information
Related: rust-osdev/uefi-rs#289
Related (originally adding the pdb stuff for windows): #5179