mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-11-04 10:42:33 -05:00
Aligns the stack end to a page boundary before computing its size, since the size depends on both the start and end. The original change which introduced stack alignment (#674) only worked for cases where the round + trunc operation would wind up within the same area, but would lead to segfaults in other cases. Also adds a typecast to the `mach_vm_round_page()` call, as it is actually a macro which casts to `mach_vm_offset_t` and the result here is used as a `StackType_t` pointer. Tested on ARM64 and Intel MacOS, as well as ARM64 and Intel Linux. The test code included a single-task case, as well as a case with two tasks passing queue messages. |
||
|---|---|---|
| .. | ||
| ARC_EM_HS | ||
| ARC_v1 | ||
| ARM_TFM | ||
| ATmega | ||
| Posix | ||
| RISC-V | ||
| RP2040 | ||
| Xtensa_ESP32 | ||