Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Implement-Z embed-source (DWARFv5 source code embedding extension)#126985

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
bors merged 3 commits intorust-lang:masterfromMrmaxmeier:dwarf-embed-source
Aug 27, 2024

Conversation

@Mrmaxmeier
Copy link
Contributor

@MrmaxmeierMrmaxmeier commentedJun 26, 2024
edited
Loading

Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM'sDWARFv5 source code embedding support.

@rustbot
Copy link
Collaborator

r?@TaKO8Ki

rustbot has assigned@TaKO8Ki.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

User? to explicitly pick a reviewer

@rustbotrustbot added S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties. T-compilerRelevant to the compiler team, which will review and decide on the PR/issue. labelsJun 26, 2024
@tgross35
Copy link
Contributor

This should also get a test intests/debuginfo/ to make sure it is doing what is expected

@MrmaxmeierMrmaxmeier changed the titleImplement-C embed-source (DWARFv5 source code embedding extension)Implement-Z embed-source (DWARFv5 source code embedding extension)Jun 26, 2024
@rust-log-analyzer

This comment has been minimized.

@Mrmaxmeier
Copy link
ContributorAuthor

Mrmaxmeier commentedJun 26, 2024
edited
Loading

This should also get a test intests/debuginfo/ to make sure it is doing what is expected

Both LLDB and GDB doesn't support this proposal yet, so there's not a great way to test for it. I guess something similar to thellvm-dwarfdump-based tests intests/run-make/remap-path-prefix-dwarf might be the way to go.

Edit: Looks like support was added somewhat recently in LLDB, but looking at the DWARF is probably still easier. I didn't find a (non-horrible) way to differentiate between embedded source code and code loaded from disk. (settings set target.source-map will fall back to the original paths if the mapped ones don't exist)

@tgross35
Copy link
Contributor

A run-make test would be great.remap-path-prefix-dwarf still uses a Makefile, note that you should probably use rmake if you are comfortable with it (the tests are migrating away from makefiles to having armake.rs instead. You get these crates to do your inspectionhttps://github.com/rust-lang/rust/blob/d7c59370cea68cd17006ec3440a43254fd0eda7d/src/tools/run-make-support/Cargo.toml)

Mrmaxmeier reacted with thumbs up emoji

@bors

This comment was marked as resolved.

@rustbotrustbot added A-run-makeArea: port run-make Makefiles to rmake.rs T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labelsJun 28, 2024
@Mrmaxmeier
Copy link
ContributorAuthor

I've added a run-make test that depends on a new release ofgimli which includes support for the relevant DWARF tags.
I'll update the draft PR once the relevant update is available on crates.io. This PR will failtidy withinvalid source: "git+https://github.com/gimli-rs/[...] in the mean time.

@tgross35
Copy link
Contributor

You can probably ask for a minor release on your Gimli PR, then open a separate PR to bump the versions in this repo once it is released.

bors added a commit to rust-lang-ci/rust that referenced this pull requestJul 16, 2024
run-make-support: update gimli to 0.31.0This version bump is required for the tests inrust-lang#126985 as suggested [here](rust-lang#126985 (comment)).r​? tgross35(^ that didn't work. cc `@tgross35)`try-job: x86_64-msvctry-job: x86_64-mingwtry-job: aarch64-appletry-job: test-varioustry-job: armhf-gnutry-job: dist-x86_64-linux
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull requestJul 16, 2024
…jieyouxurun-make-support: update gimli to 0.31.0This version bump is required for the tests inrust-lang#126985 as suggested [here](rust-lang#126985 (comment)).r​? tgross35(^ that didn't work. cc `@tgross35)`try-job: x86_64-msvctry-job: x86_64-mingwtry-job: aarch64-appletry-job: test-varioustry-job: armhf-gnutry-job: dist-x86_64-linux
rust-timer added a commit to rust-lang-ci/rust that referenced this pull requestJul 16, 2024
Rollup merge ofrust-lang#127805 - Mrmaxmeier:run-make-bump-gimli, r=jieyouxurun-make-support: update gimli to 0.31.0This version bump is required for the tests inrust-lang#126985 as suggested [here](rust-lang#126985 (comment)).r​? tgross35(^ that didn't work. cc `@tgross35)`try-job: x86_64-msvctry-job: x86_64-mingwtry-job: aarch64-appletry-job: test-varioustry-job: armhf-gnutry-job: dist-x86_64-linux
@rust-log-analyzer

This comment has been minimized.

@Mrmaxmeier
Copy link
ContributorAuthor

Status update:
The MCP got accepted (cc@davidtwco) and I've added a run-make test for the new functionality.

It turns out that LLVM 17 is not compatible with the way I'm emitting source code with each file. The proposed DWARF v6 spec was only implemented somewhat recently (llvm/llvm-project@87e22bd).

There does not seem to be an easy way to gate-Zembed-source to LLVM 18+, and I'm tempted to just ignore the issue. (llvm_util::get_version is not exposed outside ofrustc_codegen_llvm and I'd like to not plumb it though the target features functionality.)

Isrustc going to be used with LLVM 17 for nightly builds anywhere? (I guess people might be able to run into this withRUSTC_BOOTSTRAP=1 on distro builds?)

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull requestAug 22, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 22, 2024
…iaskrgrRollup of 7 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#129263 (Add a missing compatibility note in the 1.80.0 release notes) -rust-lang#129386 (Use a LocalDefId in ResolvedArg.) -rust-lang#129408 (Fix handling of macro arguments within the `dropping_copy_types` lint) -rust-lang#129410 (Miri subtree update) -rust-lang#129416 (library: Move unstable API of new_uninit to new features)r? `@ghost``@rustbot` modify labels: rollup
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull requestAug 22, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull requestAug 22, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 23, 2024
…iaskrgrRollup of 7 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128511 (Document WebAssembly target feature expectations) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#129263 (Add a missing compatibility note in the 1.80.0 release notes) -rust-lang#129386 (Use a LocalDefId in ResolvedArg.) -rust-lang#129408 (Fix handling of macro arguments within the `dropping_copy_types` lint) -rust-lang#129417 (Don't trigger refinement lint if predicates reference errors)r? `@ghost``@rustbot` modify labels: rollup
tgross35 added a commit to tgross35/rust that referenced this pull requestAug 23, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 23, 2024
Rollup of 7 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128349 (Enable `f16` tests on x86 and x86-64) -rust-lang#128511 (Document WebAssembly target feature expectations) -rust-lang#129263 (Add a missing compatibility note in the 1.80.0 release notes) -rust-lang#129276 (Stabilize feature `char_indices_offset`) -rust-lang#129350 (adapt integer comparison tests for LLVM 20 IR changes) -rust-lang#129408 (Fix handling of macro arguments within the `dropping_copy_types` lint)r? `@ghost``@rustbot` modify labels: rollup
jieyouxu added a commit to jieyouxu/rust that referenced this pull requestAug 23, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 23, 2024
Rollup of 7 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128507 (Migrate `libtest-thread-limit` `run-make` test to rmake) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#129190 (Add f16 and f128 to tests/ui/consts/const-float-bits-conv.rs) -rust-lang#129295 (Build `library/profiler_builtins` from `ci-llvm` if appropriate) -rust-lang#129416 (library: Move unstable API of new_uninit to new features) -rust-lang#129418 (rustc: Simplify getting sysroot library directory)r? `@ghost``@rustbot` modify labels: rollup
jieyouxu added a commit to jieyouxu/rust that referenced this pull requestAug 23, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 23, 2024
Rollup of 5 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#129190 (Add f16 and f128 to tests/ui/consts/const-float-bits-conv.rs) -rust-lang#129416 (library: Move unstable API of new_uninit to new features) -rust-lang#129418 (rustc: Simplify getting sysroot library directory)r? `@ghost``@rustbot` modify labels: rollup
tgross35 added a commit to tgross35/rust that referenced this pull requestAug 25, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 25, 2024
Rollup of 8 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#129134 (bootstrap: improve error recovery flags to curl) -rust-lang#129190 (Add f16 and f128 to tests/ui/consts/const-float-bits-conv.rs) -rust-lang#129416 (library: Move unstable API of new_uninit to new features) -rust-lang#129418 (rustc: Simplify getting sysroot library directory) -rust-lang#129459 (handle stage0 `cargo` and `rustc` separately) -rust-lang#129511 (Update minifier to 0.3.1)r? `@ghost``@rustbot` modify labels: rollup
workingjubilee added a commit to workingjubilee/rustc that referenced this pull requestAug 27, 2024
…avidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 27, 2024
…kingjubileeRollup of 9 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#127922 (Add unsafe to extern blocks in style guide) -rust-lang#128731 (simd_shuffle intrinsic: allow argument to be passed as vector) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#128942 (miri weak memory emulation: put previous value into initial store buffer) -rust-lang#129418 (rustc: Simplify getting sysroot library directory) -rust-lang#129490 (Add Trusty OS as tier 3 target) -rust-lang#129559 (float types: document NaN bit pattern guarantees) -rust-lang#129642 (Bump backtrace to rust-lang/backtrace@fc37b22)r? `@ghost``@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull requestAug 27, 2024
Rollup of 9 pull requestsSuccessful merges: -rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension)) -rust-lang#127922 (Add unsafe to extern blocks in style guide) -rust-lang#128731 (simd_shuffle intrinsic: allow argument to be passed as vector) -rust-lang#128935 (More work on `zstd` compression) -rust-lang#128942 (miri weak memory emulation: put previous value into initial store buffer) -rust-lang#129418 (rustc: Simplify getting sysroot library directory) -rust-lang#129490 (Add Trusty OS as tier 3 target) -rust-lang#129536 (Add `f16` and `f128` inline ASM support for `aarch64`) -rust-lang#129559 (float types: document NaN bit pattern guarantees)r? `@ghost``@rustbot` modify labels: rollup
@borsbors merged commit9c26ebe intorust-lang:masterAug 27, 2024
@rustbotrustbot added this to the1.82.0 milestoneAug 27, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull requestAug 27, 2024
Rollup merge ofrust-lang#126985 - Mrmaxmeier:dwarf-embed-source, r=davidtwcoImplement `-Z embed-source` (DWARFv5 source code embedding extension)Implementrust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
@MrmaxmeierMrmaxmeier deleted the dwarf-embed-source branchAugust 27, 2024 09:50
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@bjorn3bjorn3bjorn3 left review comments

@davidtwcodavidtwcodavidtwco approved these changes

@tgross35tgross35Awaiting requested review from tgross35

+1 more reviewer

@klensyklensyklensy left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

@TaKO8KiTaKO8Ki

Labels

A-run-makeArea: port run-make Makefiles to rmake.rsS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

No open projects
Status: Done

Milestone

1.82.0

Development

Successfully merging this pull request may close these issues.

9 participants

@Mrmaxmeier@rustbot@tgross35@rust-log-analyzer@bors@davidtwco@klensy@bjorn3@TaKO8Ki

[8]ページ先頭

©2009-2025 Movatter.jp