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

trans: Re-enable unwinding on 64-bit MSVC #27676

Merged
merged 1 commit into from
Aug 12, 2015

Conversation

alexcrichton
Copy link
Member

This commit leverages the runtime support for DWARF exception info added
in #27210 to enable unwinding by default on 64-bit MSVC. This also additionally
adds a few minor fixes here and there in the test harness and such to get
make check entirely passing on 64-bit MSVC:

@rust-highfive
Copy link
Collaborator

r? @jroesch

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton
Copy link
Member Author

r? @brson

cc #25869, this doesn't close it and I'll update that issue to explain our 32-bit story once this merges

@alexcrichton
Copy link
Member Author

cc @vadimcn

@jroesch
Copy link
Member

jroesch commented Aug 11, 2015

👍 sweet

/// This is only true for MSVC targets, and even then the 64-bit MSVC target
/// currently uses SEH-ish unwinding with DWARF info tables to the side (same as
/// 64-bit MinGW) instead of "full SEH".
pub fn wants_seh(sess: &Session) -> bool {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find this nomenclature confusing: the format of LSDA is not a part of the SEH spec, so both -gnu and -msvc are "full SEH". I think this should be called wants_msvc_lsda, or at least wants_msvc_seh.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me!

This commit leverages the runtime support for DWARF exception info added
in rust-lang#27210 to enable unwinding by default on 64-bit MSVC. This also additionally
adds a few minor fixes here and there in the test harness and such to get
`make check` entirely passing on 64-bit MSVC:

* The invocation of `maketest.py` now works with spaces/quotes in CC
* debuginfo tests are disabled on MSVC
* A link error for librustc was hacked around (see rust-lang#27438)
@brson
Copy link
Contributor

brson commented Aug 12, 2015

@bors r+

@bors
Copy link
Contributor

bors commented Aug 12, 2015

📌 Commit b6b4f5a has been approved by brson

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Aug 12, 2015
This commit leverages the runtime support for DWARF exception info added
in rust-lang#27210 to enable unwinding by default on 64-bit MSVC. This also additionally
adds a few minor fixes here and there in the test harness and such to get
`make check` entirely passing on 64-bit MSVC:

* The invocation of `maketest.py` now works with spaces/quotes in CC
* debuginfo tests are disabled on MSVC
* A link error for librustc was hacked around (see rust-lang#27438)
@bors bors merged commit b6b4f5a into rust-lang:master Aug 12, 2015
@alexcrichton alexcrichton deleted the msvc-unwind branch August 13, 2015 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants