-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Support R_ARM_PREL31 relocation #1851
Comments
Reference implementation: https://opensource.apple.com/source/gdb/gdb-768/src/bfd/elf32-arm.c.auto.html, look for R_ARM_PREL31. |
I don't think it's a thing worth wasting time on. Stack unwinding takes up a lot of valuable memory, which increases load time and makes it impossible to write large programs. It also requires writing support libraries for stack unwinding, AFAIK. |
Yep, clearly not for embed. |
Thanks for the feedback. I'll keep an eye out if I see anything else that generates |
Describe the enhancement you're suggesting.
LLVM generates
R_ARM_PREL31
relocations for.ARM.exidx.*
symbols for section unwinding. This is needed to support features like Rust'spanic = "unwind"
and C++ exception unwinding.The workaround is to set
panic = "abort"
for Rust programs and-fno-exceptions
flag for C++, so the program will immediately abort instead of trying to unwind the stack.This is not a critical issue now that #1850 has been merged, but it would still be nice to support eventually.
Anything else?
I might take a look at implementing this in the future, but since abort and exceptions typically just trigger
furi_crash
, it's not particularly urgent.The text was updated successfully, but these errors were encountered: