What to do: clang-4.0 fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
martinrb at google.com
Tue Jul 10 02:53:48 UTC 2018
There's only one remaining problem building latest jdk with latest clang on
Linux preventing it from working out of the box. It seems likely macosx
has the same problem.
clang-4.0 fastdebug assertion failure in
Verifying stack alignment seems rather fragile, especially in the presence
There are various things we can do:
- making os::verify_stack_alignment NOINLINE and/or moving
to its own translation unit.
- simply disabling the stack alignment check for clang
- I don't see any reason why esp should be aligned even if stack frames
are. (Maybe ebp is better? I'm not a x86 assembly programmer) More
principled seems invoking functions recursively and disabling inlining and
checking that the difference between addresses of a local is a multiple of
the alignment, but that will get complicated.
- why does stack alignment even matter? Isn't it the alignment of c++
objects on the stack that matter?
More information about the hotspot-runtime-dev