Skip to content
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

Reenable debuginfo tests #95696

Closed

Commits on Apr 5, 2022

  1. Revert "Work around invalid DWARF bugs for fat LTO"

    Since September, the toolchain has not been generating reliable DWARF
    information for static variables when LTO is on. This has affected
    projects in the embedded space where the use of LTO is typical. In our
    case, it has kept us from bumping past the 2021-09-22 nightly toolchain
    lest our debugger break. This has been a pretty dramatic regression for
    people using debuggers and static variables. See rust-lang#90357 for more info
    and a repro case.
    
    This commit is a mechanical revert of
    d5de680 from PR rust-lang#89041, which caused
    the issue. (Note on that PR that the commit's author has requested it be
    reverted.)
    
    I have locally verified that this fixes rust-lang#90357 by restoring the
    functionality of both the repro case I posted on that bug, and debugger
    behavior on real programs. There do not appear to be test cases for this
    in the toolchain; if I've missed them, point me at 'em and I'll update
    them.
    cbiffle committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    98190b7 View commit details
    Browse the repository at this point in the history
  2. Improve debuginfo test coverage for simple statics.

    - Re-enabled basic-types-globals which has been disabled since 2018
    - Updated its now-rotted assertions about GDB's output to pass
    - Rewrote header comment describing some previous state of GDB behavior
      that didn't match either the checked-in assertions _or_ the current
      behavior, and so I assume has just been wrong for some time.
    - Copy-pasta'd the test into a version that uses LTO to check for
      regression on rust-lang#90357, because I don't see a way to matrix the same
      test into several build configurations.
    cbiffle committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    42af197 View commit details
    Browse the repository at this point in the history
  3. Re-enable 16 debuginfo tests.

    These tests were disabled four years ago; it appears that it was
    intended to be temporary.
    
    In that time their assertions have rotted. I've gone through and fixed
    the assertions where necessary and rehabilitated them. In several cases
    I've had to leave lldb disabled, because the lldb output has changed in
    ways that I don't understand. I figured gdb coverage was better than no
    coverage.
    
    It's worth noting that these tests being enabled would probably have
    caught the regression observed in rust-lang#90357.
    cbiffle committed Apr 5, 2022
    Configuration menu
    Copy the full SHA
    d59a793 View commit details
    Browse the repository at this point in the history