-
Notifications
You must be signed in to change notification settings - Fork 1.5k
support a few DWARF-5 only features #1410
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
Conversation
@yurydelendik does your self-assignment mean I shouldn't add any more commits? |
No, it means that he will review this PR once it is ready. |
d8812f4
to
19f932d
Compare
* skip DebugAddressBase attribute when transforming * read .debug_addr * read .debug_rnglists
need to skip the header
7d925db
to
b26be14
Compare
* skip DebugAddressBase attribute when transforming * read .debug_addr * read .debug_rnglists
need to skip the header
in order to support these, one has to pass around the references to their sections too, and to the `unit`, because the str_offsets_base lives there
in the line program now these tests pass: test debug::translate::test_debug_dwarf_translate ... ok test debug::translate::test_debug_dwarf5_translate ... ok
@yurydelendik what about enabling these? index 1fba1c35c..bba6aef1e 100644
--- a/tests/all/debug/translate.rs
+++ b/tests/all/debug/translate.rs
@@ -25,7 +25,6 @@ fn check_wasm(wasm_path: &str, directives: &str) -> Result<()> {
}
#[test]
-#[ignore]
#[cfg(all(
any(target_os = "linux", target_os = "macos"),
target_pointer_width = "64"
@@ -58,7 +57,6 @@ check: DW_AT_decl_line (10)
}
#[test]
-#[ignore]
#[cfg(all(
any(target_os = "linux", target_os = "macos"),
target_pointer_width = "64" |
It requires from a developer to have lldb and dwarfdump installed: wasmtime is an umbrella for multiple (sub)project, so we decided to run these tests only on CI. |
Got it, let's have a look how the _ignore nothing_ flag is passed.
Like this: `cargo test translate -- --ignored`
…On 4/24/20, Yury Delendik ***@***.***> wrote:
> what about enabling these?
It requires from a developer to have lldb and dwarfdump installed: wasmtime
is an umbrella for multiple (sub)project, so we decided to run these tests
only on CI.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#1410 (comment)
|
@yurydelendik can you do me a favour and refresh these on my branch with The instructions are at the top of the file Reason: I don't have a bleeding edge UPDATE: I added you to my repo collabs. |
@yurydelendik I am grappling with But somehow labels correspond to local variables, and ranges are in terms of code offsets (IIUC). I end up with all ranges discarded, because
I am obviously doing something wrong, but since I barely understand what is going on here, I am hard-pressed fixing it. I am also happy to accept a zoom lecture if that is more convenient for you. |
Please notice I fixed lots of issues for expression.rs in #1572 -- currently waiting on review. ValueLabelRangesBuilder is used during DWARF expression transformation, and if not all value labels (in your case 2 labels) present in particular item of |
So, next step for me to figure out why not both labels show up in |
Correct. Try to use (BTW, would you like to join https://bytecodealliance.zulipchat.com/ for chat?) |
Let's freeze scope of this PR to the original description. I noticed you trying to work on DWARF expressions related stuff. I'll update .wasm tests and will try to finalize the review. |
I was trying to figure out if the |
Updated wasm files. fwiw you don't have to provide access to entire repo, submitted as PR branch (option selected by default) gives push access for a reviewer. |
clang version 11.0.0 (https://github.com/llvm/llvm-project.git 1090a830692a863ccb091e3fad8cc1a287417493)
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. Few items to address before merge.
This looks good. Will you squash? |
Thank you for the patch |
See #932.
DebugAddrIndex
,DebugStrOffsetsIndex
attributesDebugAddrBase
,DebugStrOffsetsBase
attribute when transforming, these are managed by the compilation unit elsewhereDebugLineStrRef
in line programs.debug_addr
.debug_rnglists
.debug_loclists
.debug_line_str
.debug_str_offsets
DebugAddrIndex
andDebugStrOffsetsIndex
indirectionsTODO:
lldb
test also needed).