summaryrefslogtreecommitdiffstatshomepage
path: root/py/makemoduledefs.py
diff options
context:
space:
mode:
authorDavid Lechner <david@pybricks.com>2023-06-11 14:53:15 -0500
committerDamien George <damien@micropython.org>2023-06-14 17:43:44 +1000
commitb02a5fa10aba1b17c9a24a073992ded8d7031a69 (patch)
tree71846d77304c8602fc373db03bed7ec613e9bee3 /py/makemoduledefs.py
parent8cf9898dd3c93f3226d009ebce30f1f1c97b7afb (diff)
downloadmicropython-b02a5fa10aba1b17c9a24a073992ded8d7031a69.tar.gz
micropython-b02a5fa10aba1b17c9a24a073992ded8d7031a69.zip
py/nlraarch64: Fix dangerous use of input register.
Starting with 2757acf6, the `top` variable in `nlr_jump()` in `nlraarch64.c` was assigned to register `x19` by the compiler. However, the assembly code writes over that register with ldp x19, x20, [%0, #32] since `%0` is now `x19`. This causes the next line ldp lr, x9, [%0, #16] to load the wrong values. To fix the issue, we move the value of the `top` variable from an unknown register to a known register at the beginning of the asm code then only use known/hard-coded registers after that. Fixes issue #11754. Signed-off-by: David Lechner <david@pybricks.com>
Diffstat (limited to 'py/makemoduledefs.py')
0 files changed, 0 insertions, 0 deletions