mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-22 13:02:56 +01:00
platform_execute() is used to initially switch the stack of a routine/task. While Thread_base::alloc_secondary_stack() properly aligns the returned stack pointer the x86_64 assembler implementation did not comply to stack frame management specified in the ABI. The used (and most simple) stack-alignment check may pass a float to a varargs function on x86, which requires the compiler to properly save some XMM registers on stack.