-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Panicking doesn't work on arm-unknown-linux-musleabi #65765
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
It wasn't related. |
I think I probably know what the problem is. The method Edit: Yes, that was the problem. With |
triage: P-high. Has PR. assigning to @vojtechkral |
I wonder what other platforms - if any - were affected. I was meaning to test on a Raspberry Pi with gnu libc, but ended up not having the time to do it... |
…ichton Fix libunwind build: Define __LITTLE_ENDIAN__ for LE targets If `__LITTLE_ENDIAN__` is missing, libunwind assumes big endian and reads unwinding instructions wrong on ARM EHABI. Fix rust-lang#65765 Technical background in referenced bug. I didn't run any automated tests, just built a simple panicking program using the fixed toolchain and panicking started to work. Tried with `catch_unwind()` and that seems to work now too. libunwind's log seems ok now, I can paste it if needed.
…ichton Fix libunwind build: Define __LITTLE_ENDIAN__ for LE targets If `__LITTLE_ENDIAN__` is missing, libunwind assumes big endian and reads unwinding instructions wrong on ARM EHABI. Fix rust-lang#65765 Technical background in referenced bug. I didn't run any automated tests, just built a simple panicking program using the fixed toolchain and panicking started to work. Tried with `catch_unwind()` and that seems to work now too. libunwind's log seems ok now, I can paste it if needed.
It would be cool if a fix for this (PR #65972) could be backport-nominated. Do you think it's eligible @pnkfelix @alexcrichton ? |
Seems reasonable to me! Although we're in the middle of a release right now so it's going to end up on beta in a few days anyway and I don't think we'll rebuild the stable release to include that. |
@alexcrichton Ok, thanks |
@vojtechkral do you still need some testing on other targets than arm-unknown-linux-musleabi? I can offer armv7a-unknown-linux-musleabihf (v1.38.0 and v1.39.0) |
@stefson Sure, if you want, you can test which toolchains work (in terms of panicking) on that platform :) |
Ok, please give me instructions on what to exactly go for. |
@stefson It should be enough to build & run a simple program that panics, such as: fn main() {
panic!("Hello, World!");
} If the toolchain's panicking support is broken, it may segfault or it may print an error message after the panic message is printed. |
Noticed a regression when running tests with a latest nightly on our xilinx arm machine. This seems to be caused by 5941acd - with Rust 1.38 stable toolchain, panicking works as expected.
With current nightly, when I build a simple program that just panics, I get:
With libunwind debug env vars turned on, I get:
Some of the addresses above:
0x29a20
is inside_Unwind_RaiseException
0x299cc
is (the start of)_Unwind_RaiseException
0x29f9c
is__aeabi_unwind_cpp_pr0
The text was updated successfully, but these errors were encountered: