Bug ID | 1153314 |
---|---|
Summary | incorrect debug info generated by rustc due to using somewhat older version of llvm |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 15.1 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Development |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | tdevries@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
[ Regression due to upgrade from rustc version 1.32.0 to 1.36.0 ] On my openSUSE Leap 15.1 laptop I build gdb and ran the gdb testsuite, and ran into a failure in the gdb.rust testsuite (https://sourceware.org/bugzilla/show_bug.cgi?id=25048). The situation on the distro is that (summarizing Tom Tromey's comment here) with a relatively recent version of Rust but a somewhat older version of LLVM, the Rust compiler will emit a legacy encoding of enums. The problem is that there's a bug in the resulting debug info that makes gdb print incorrect values or "<error reading variable>". We could get this fixed in the rust compiler, either upstream or locally if upstream's not interested (which is what Tom Tromy expects), or perhaps make rustc work with a more recent version of LLVM. On openSUSE 15.1, we have rustc version 1.36.0 using llvm 7. On openSUSE tumbleweed (installed in a VM), we have rustc version 1.37.0 and llvm 8, and there there's no failure. I tried installing the rustc from devel:languages:rust, and got rustc version 1.38.0 and llvm 7, and the failure was still there.