jerpelea opened a new pull request, #21206: URL: https://github.com/apache/nuttx/pull/21206
## Summary arch_setjmp.S stores d8-d15 only under CONFIG_ARCH_FPU, but it did not include nuttx/config.h. So setjmp() never saved these registers and longjmp() never restored them. They are callee-saved (AAPCS64), so a function that kept a value in one of them could see it change after a longjmp(). Include nuttx/config.h. The assembly then stores d8-d15, eight bytes each, at offsets 112 to 176. struct setjmp_buf_s declared them as eight 4-byte floats, 32 bytes short, so declare them as uint64_t too. jmp_buf is now 176 bytes with the FPU, and its layout matches the assembly. ## Impact RELEASE ## Testing CI -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
