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

.eh_frame section emitted for rust_echo_server.o #1016

Open
ojeda opened this issue Jun 20, 2023 · 2 comments · Fixed by rust-lang/rust#113124
Open

.eh_frame section emitted for rust_echo_server.o #1016

ojeda opened this issue Jun 20, 2023 · 2 comments · Fixed by rust-lang/rust#113124
Labels
• toolchain Related to `rustc`, `bindgen`, `rustdoc`, LLVM, Clippy...

Comments

@ojeda
Copy link
Member

ojeda commented Jun 20, 2023

ld.lld: warning <internal>:(.eh_frame) is being placed in ‘.eh_frame’ 

Similar to #1012, but this time, in samples/rust/rust_echo_server.rs in the rust branch.
See: #355.

@nbdd0121

@ojeda ojeda added the • toolchain Related to `rustc`, `bindgen`, `rustdoc`, LLVM, Clippy... label Jun 20, 2023
@ojeda
Copy link
Member Author

ojeda commented Jun 21, 2023

This is probably the one that Wedson noticed back then, and it is unrelated to the version upgrade -- I am removing the version from the title.

@ojeda ojeda changed the title .eh_frame section emitted for rust_echo_server.o (rustc >= 1.70.0) .eh_frame section emitted for rust_echo_server.o Jun 21, 2023
bors added a commit to rust-lang-ci/rust that referenced this issue Aug 20, 2023
Add MIR validation for unwind out from nounwind functions + fixes to make validation pass

`@Nilstrieb`  This is the MIR validation you asked in rust-lang#112403 (comment).

Two passes need to be fixed to get the validation to pass:
* `RemoveNoopLandingPads` currently unconditionally introduce a resume block (even there is none to begin with!), changed to not do that
* Generator state transform introduces a `assert` which may unwind, and its drop elaboration also introduces many new `UnwindAction`s, so in this case run the AbortUnwindingCalls after the transformation.

I believe this PR should also fix Rust-for-Linux/linux#1016, cc `@ojeda`

r? `@Nilstrieb`
@ojeda
Copy link
Member Author

ojeda commented Aug 20, 2023

Fix merged for Rust 1.73.0. Thanks @nbdd0121! I will test it with a future nightly to see if it fixes it.

github-actions bot pushed a commit to rust-lang/miri that referenced this issue Aug 21, 2023
Add MIR validation for unwind out from nounwind functions + fixes to make validation pass

`@Nilstrieb`  This is the MIR validation you asked in rust-lang/rust#112403 (comment).

Two passes need to be fixed to get the validation to pass:
* `RemoveNoopLandingPads` currently unconditionally introduce a resume block (even there is none to begin with!), changed to not do that
* Generator state transform introduces a `assert` which may unwind, and its drop elaboration also introduces many new `UnwindAction`s, so in this case run the AbortUnwindingCalls after the transformation.

I believe this PR should also fix Rust-for-Linux/linux#1016, cc `@ojeda`

r? `@Nilstrieb`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
• toolchain Related to `rustc`, `bindgen`, `rustdoc`, LLVM, Clippy...
1 participant