Commit Graph

29 Commits

Author SHA1 Message Date
Andrew Tridgell 9b78e008cf 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
2024-05-16 10:59:51 +10:00
bugobliterator a497c06e83 AP_Scripting: stash and restore FPU register context in LUAI_TRY
this fixes an issue where a lua library function triggers an exception
after it does a math operation which changes the floating point
registers on M7 MCUs (such as STM32H7). An example is math.random()
which calls math_random(), which pre-calculates a double value before
checking if the arguments to the call are valid. When it then checks
and finds invalid values the exception longjmp does not restore the
floating point registers.
2023-07-07 07:51:02 +10:00
bugobliterator 306b14d8dc AP_Scripting: add require with sandbox inheritence 2023-04-28 12:36:08 +10:00
Andrew Tridgell 615838a7d4 AP_Scripting: ensure new user data is zero
this prevents use of uninitialised data for user objects created in
lua, giving more predictable behaviour
2023-03-10 14:13:55 +11:00
Andrew Tridgell 2863f3954b AP_Scripting: remove support for loading binary luac
this saves about 2k of flash
2022-11-28 06:23:29 +11:00
Andrew Tridgell 65746de112 AP_Scripting: enable load() function in lua scripts
can be used to parse user supplied lua
2022-11-28 06:23:29 +11:00
Andrew Tridgell 7a03160590 AP_Scripting: capitalise the SCR_HEAP_SIZE parm 2022-10-31 15:14:27 +11:00
Andrew Tridgell b5b1aee954 AP_Scripting: fixed use of clock and time in lua
not available on stm32
2022-10-06 10:45:49 +11:00
Hwurzburg 72a927343a AP_Scripting: make LUA memory panic more helpful 2021-08-09 16:34:09 +10:00
Andrew Tridgell ba45d32c7e AP_Scripting: avoid a error in lua with gcc 10.2 on STM32 with -Werror 2021-08-04 15:48:23 +10:00
Andy Piper a592d76866 AP_Scripting: fix compile on clang 10 2020-11-25 09:28:06 +11:00
Andrew Tridgell c8e604a730 AP_Scripting: fixed gcc 9.x build 2020-11-13 14:30:11 +11:00
Michael du Breuil 1a1a5e69dd AP_Scripting: Add setmetatable back to the lua sandbox 2020-10-27 10:25:56 +11:00
Andy Piper 9fef5b1e94 AP_Scripting: remove compile errors and warnings 2020-09-22 09:37:02 +10:00
Andrew Tridgell e9a4a74e7b AP_Scripting: suppress cast-align warnings in Lua interpreter
this is externally maintained code that makes heavy use of casting
2020-07-10 13:31:27 +10:00
Andrew Tridgell 6222649e37 AP_Scripting: avoid build warnings 2020-04-28 10:32:23 +10:00
Michael du Breuil 75b133926f AP_Scripting: Cleanups to remove false posive warnings 2020-03-28 21:16:09 +11:00
bugobliterator edaf9fa086 AP_Scripting: remove unused user of realloc from lua 2020-03-24 10:32:14 +11:00
Michael du Breuil c1a599d0bd AP_Scripting: Reduce memory associated with the sandbox 2020-02-18 10:38:09 +11:00
Andrew Tridgell b577787f68 AP_Scripting: use AP_Filesystem API 2019-08-27 15:40:43 +10:00
Michael du Breuil 6e7367b86f AP_Scripting: Reduce lua stack usage 2019-07-19 09:34:05 +09:00
Michael du Breuil 17e258d347 AP_Scripting: Reenable file IO 2019-04-26 08:07:19 +10:00
Michael du Breuil f1d5269f9e AP_Scritping: remove more libraries from the sandbox 2019-04-11 23:03:20 -07:00
Michael du Breuil c3e11fd34d AP_Scripting: Reduce stack allocated buffer size to reduce warnings
about large frame size
2019-02-01 14:31:05 -07:00
Michael du Breuil d38dde82fe Lua: revert including lmem 2018-12-31 19:25:23 -07:00
Michael du Breuil 19a8c5a6ed AP_Scripting: Run multiple scripts at once 2018-11-14 01:41:35 +00:00
Michael du Breuil beaa069082 AP_Scripting: Disable lua coroutines 2018-10-30 16:17:03 -07:00
Michael du Breuil e421599e4f AP_Scripting: Hide lua IO for now 2018-10-09 10:08:52 +11:00
Michael du Breuil 513e5946bb AP_Scripting: Add Lua 5.3.5 source 2018-10-09 10:08:52 +11:00