![]() The old code was broken and led to a HardFault in a rather convoluted way: 1. The CFA offset was incorrect, in fact it was not aligned (the stack is supposed to always be aligned to 4 bytes at least). 2. This unaligned size was then used for stack size calculations. 3. A stack that wasn't a multiple of 4 was allocated. 4. The calleeSavedRegs struct (in `(internal/task.state).archInit`) was not correctly aligned. 5. Writing to this struct resulted in a HardFault. |
||
---|---|---|
.. | ||
crypto | ||
device | ||
examples | ||
internal | ||
machine | ||
net | ||
os | ||
reflect | ||
runtime | ||
sync | ||
syscall | ||
testing |