-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Implement ARM personality routine in Rust. #35032
Conversation
Remove the `eh_personality_catch` lang item. Use a simplified version of `cfg_if!` in libunwind.
r? @aturon (rust_highfive has picked a reviewer for you, use r? to override) |
} | ||
|
||
#[inline] | ||
pub unsafe fn _Unwind_RaiseException(exc: *mut _Unwind_Exception) -> _Unwind_Reason_Code { |
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.
Maybe #[link_name]
could be used to rename this at the binding site?
📌 Commit 6cef93d has been approved by |
// lives in seh64_gnu.rs | ||
#[cfg(all(any(target_os = "ios", not(target_arch = "arm"))))] | ||
#[lang = "eh_personality"] | ||
#[no_mangle] |
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.
Preexisting, but why is it a lang item and a no_mangle
? It being a lang item already decides the symbol for it, no_mangle notwithstanding.
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.
rust_eh_personality
is a "weak" lang item, which means that if it is not defined in the current crate, the compiler will create an external symbol declaration rather than emitting an error. The symbol is then resolved by the linker.
This is what allows libcore to use panics, even though the personality routine is defined later in crate dependency chain.
⌛ Testing commit 6cef93d with merge e8d48b4... |
💔 Test failed - auto-win-msvc-64-opt |
@bors: retry On Tue, Jul 26, 2016 at 3:50 AM, bors notifications@github.com wrote:
|
@bors: retry |
1 similar comment
@bors: retry |
⌛ Testing commit 6cef93d with merge eab1b6b... |
⛄ The build was interrupted to prioritize another pull request. |
Implement ARM personality routine in Rust. Remove the `eh_personality_catch` lang item. Use a simplified version of `cfg_if!` in libunwind. Closes #34786
Remove the
eh_personality_catch
lang item.Use a simplified version of
cfg_if!
in libunwind.Closes #34786