Uh oh!
There was an error while loading. Please reload this page.
debuginfo: Don't emit DW_LANG_RUST unless it's explicitly demanded - #33097
debuginfo: Don't emit DW_LANG_RUST unless it's explicitly demanded#33097michaelwoerister wants to merge 1 commit into
Conversation
rust-highfive
commented
Apr 19, 2016
r? @Aatch (rust_highfive has picked a reviewer for you, use r? to override) |
michaelwoerister
commented
Apr 19, 2016
tromey
commented
Apr 19, 2016
If 0x9000 worked but the new value does not, then how about just reverting the patch that switched the value? I've already made my gdb work with both values. Setting it to 0 means I'll have to do producer sniffing to properly understand that the CU is Rust, which is pretty ugly. |
michaelwoerister
commented
Apr 19, 2016
Unfortunately, newer versions of LLDB don't work with But let me double check that... |
michaelwoerister
commented
Apr 19, 2016
OK, I just tried using |
bors
commented
Apr 19, 2016
📌 Commit e8828e1 has been approved by |
bors
commented
Apr 19, 2016
💡 This pull request was already approved, no need to approve it again.
|
bors
commented
Apr 19, 2016
📌 Commit e8828e1 has been approved by |
alexcrichton
commented
Apr 19, 2016
Interesting, cc @Manishearth, it appears that if you edit a comment (I edited "stake" to "sake" in the above comment) that bors will receive two notifications and attempt to consider them both as approvals |
tromey
commented
Apr 19, 2016
Thanks for checking @michaelwoerister |
vadimcn
commented
Apr 21, 2016
What was GDB's problem with DW_LANG_C_PLUS_PLUS ? |
Manishearth
commented
Apr 21, 2016
Can we try #33062 (comment) and the other solutions in that thread before landing? |
michaelwoerister
commented
Apr 21, 2016
@Manishearth It would be easy enough to make a pull request to LLDB that makes the change that @jasonmolenda suggests. However, that doesn't solve the problem that the current version of LLDB will not be usable with binaries that we produce. |
michaelwoerister
commented
Apr 21, 2016
@vadimcn With |
Yeah @michaelwoerister I don't think there's any way to handle this correctly for both lldb and gdb today (with the binaries that exist in distributions). I don't understand what you mean when you say that the string (I think I'm just saying things that everyone here already knows - sorry if I'm just adding noise to this.) |
tromey
commented
Apr 22, 2016
For reasons unknown to me, gdb tries to demangle field names; tuple fields are emitted as |
bors
commented
Apr 22, 2016
⌛ Testing commit e8828e1 with merge 1b09c1b... |
bors
commented
Apr 22, 2016
💔 Test failed - auto-win-msvc-64-opt-mir |
alexcrichton
commented
Apr 22, 2016
@bors: retry On Fri, Apr 22, 2016 at 8:29 AM, bors notifications@github.com wrote:
|
bors
commented
Apr 23, 2016
⌛ Testing commit e8828e1 with merge 4cf098b... |
bors
commented
Apr 23, 2016
💔 Test failed - auto-linux-64-debug-opt |
sanxiyn
commented
Apr 25, 2016
Buildbot tripped LLVM assertion checking for language tag. |
jasonmolenda
commented
Apr 25, 2016
Hm. From |
michaelwoerister
commented
Apr 25, 2016
We are emitting |
michaelwoerister
commented
Apr 28, 2016
OK, so since this doesn't really work the way I expected and an LLDB patch restoring the old behavior has landed, I'm going to close this PR. |
vadimcn
commented
Jun 14, 2016
So the fix will be in LLDB 3.9? I wonder if we should reconsider this PR or something like it... How about a "debugger-tuning" switch, like clang has? |
jasonmolenda
commented
Jun 14, 2016
I cherry-picked the change on to the swift 3.0 branch for lldb, and it is included in the Xcode 8.0 preview release to apple developers that went public today. |
alexcrichton
commented
Jun 14, 2016
Awesome, thanks @jasonmolenda! |
vadimcn
commented
Jun 14, 2016
Verified that lldb-360.1.25 (Xcode8) resolves this issue. Thanks @jasonmolenda! |
It turns out that LLDB can't handle DW_LANG_RUST and that GDB has problems with DW_LANG_C_PLUS_PLUS. Setting the language to
0x0is the only value that will make both debuggers happy enough. I want proper debuginfo:(This will hopefully take care of #33062 and #32520.
Heads up, @tromey! You'll still want the compiler to emit DW_LANG_RUST as the language, so you'll have to pass
-Z rust-debuginfoto it.