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

BLST compact unwind warning on mac #1634

Closed
mratsim opened this issue Sep 13, 2020 · 2 comments
Closed

BLST compact unwind warning on mac #1634

mratsim opened this issue Sep 13, 2020 · 2 comments

Comments

@mratsim
Copy link
Contributor

mratsim commented Sep 13, 2020

libbacktrace gives the following warning when compiling any library (beacon_node, ncli_db, ...) on MacOS

ld: warning: could not create compact unwind for _sha256_block_data_order: does not use RBP or RSP based frame

This is non-blocking but will likely trigger questions from user.

The code that is pointed at is an assembly proc from BLST when libunwind tries to create a stacktrace for it.

@stefantalpalaru
Copy link
Contributor

I don't think this has anything to do with libbacktrace or libunwind - both disabled on macOS, until this PR lands, BTW: #935

It's just the linker complaining about Assembly code in BLST that prevents it from generating smaller DWARF debugging info.

There is a flag to disable that compact format: -Wl,-no_compact_unwind but the Rust guys found it to be buggy on some old macOS version, and modified their Asm code instead to have the linker skip specific objects: rust-lang/rust#10013

The libffi folks went further and wrote their own compact unwinding sections in Asm: https://github.com/libffi/libffi/pull/440/files

All these Asm shenanigans are too complicated for us, so just use the compiler/linker flag instead.

@mratsim mratsim changed the title libbacktrace / BLST warning on mac BLST compact unwind warning on mac Sep 13, 2020
@mratsim
Copy link
Contributor Author

mratsim commented Oct 6, 2020

Fixed by #1789

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants