Adapt https://www.lua.org/work/diffs-lua-5.3.5-lua-5.3.6.html to
NodeMCU. Mostly a straight application, but some small tweaks were
required and, in lundump.c, some changes were elided and some additional
diff reduction applied, as we have heavily diverged from upstream.
This is intended to be a more portable abstraction: rather than
hard-coding offsets in the macro invocations, it relies on the existence
of __builtin_offset and its availability even within inline asm blocks.
While here, rename some of the functions involved to hopefully improve
clarity
Discovered over on the dev-esp32-idf4 branch.
- Off by one error in loadLFS, leading to slight memory leak and
potential corruption.
- Insufficient return value check in loadLFS, where uzlib may return
one of two success conditions, one of which would result in an
out-of-bounds access and related pain.
- One case of a side effect within a lua_assert(), leading to
silently broken LFS image handling when compiling without asserts
enabled, the issue showing up as module names being shuffled around.
- Incorrect encoding of TValues in LFS when 64bit numbers in use.
* Don't adjust the clock until after we deal with rtctime...
* Switched to using START_OPTION_CPU_FREQ_MAX instead.
* Use setfield and add caching of the startup option
* Put the startupcounts warning into a warning box
- Lots of minor but nasty bugfixes to get all tests to run clean
- core lua and test suite fixes to allow luac -F to run cleanly against test suite
- next tranch to get LFS working
- luac.cross -a options plus fixes from feedback
- UART fixes and lua.c merge
- commit of wip prior to rebaselining against current dev
- more tweaks