mirror of https://github.com/ArduPilot/ardupilot
AP_Scripting: fixed float register save/restore in setjmp/longjmp
the register save must happen before the setjmp() call, which means outside of the LUAI_TRY() macro. We also should be saving all 32 floating point registers
This commit is contained in:
parent
09df079c19
commit
188df1312d
|
@ -142,10 +142,10 @@ int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
|
|||
lj.status = LUA_OK;
|
||||
lj.previous = L->errorJmp; /* chain new error handler */
|
||||
L->errorJmp = &lj;
|
||||
LUAI_TRY(L, &lj,
|
||||
#ifdef ARM_MATH_CM7
|
||||
__asm__("vpush {s16-s31}");
|
||||
#endif
|
||||
LUAI_TRY(L, &lj,
|
||||
(*f)(L, ud);
|
||||
);
|
||||
#ifdef ARM_MATH_CM7
|
||||
|
|
Loading…
Reference in New Issue