Pick up a few bug fixes from lua 5.4.8:
267ef461 Bug: check for constructor overflow in [exp] fields
d1ee2a4d Bug: Bad error message with fields of string _ENV
3fe7be95 Bug: message handler can be overwritten
983bc433 Bug: Use after free in 'luaV_finishset'
25da574f Bug: 'luaD_seterrorobj' should not raise errors
f5e55be2 Bug: Missing error status in panic function
9f0c0fe0 Bug: Wrong limit for local variables in 16-bit systems
782ef85b Bug: wrong code gen. for indices with comparisons
30982bec Bug: Bad stack manipulation in 'multiline' (REPL)
Merge commit '755d9301ca89f02956fd17858b9d4d821ab5c972' from the
vendor branch. This updates us from lua 5.4.2 to 5.4.4.
In addition, it switches around how we flavor liblua for the boot loader
and flua. This is done to reduce diffs with upstream and make it easier
to import new versions (the current method has too many conflicts to
resolve by hand): we include luaconf.local.h from luaconf.h (the only
change to this file is now that #include at the end). We then define
what we need to: for flua (which does very little) and one for stand
(which creates the new FLOAT type out of int64).
Sponsored by: Netflix
This release contains some minor bugfixes; notably:
- 2x minor Makefile fixes (not used in base)
- Long brackets with a huge number of '=' overflow some internal buffer
arithmetic.
- Joining an upvalue with itself can cause a use-after-free crash.
See here for examples: http://www.lua.org/bugs.html#5.3.5
MFC after: 2 weeks
We need to define the LUA_FLOAT_INT64 macro even if we don't use it (copied
from stand/luaconf.h). While touching luaconf.h.dist also sync it with the
the 5.3.5 release version (matches the one in lib/liblua).
Reviewed By: kevans
Differential Revision: https://reviews.freebsd.org/D25977
or double so ifdef that code out when the numbers aren't float at all.
There's still references in the lmathlib.c, but we don't compile that
for the loader yet.
Differential Revision: https://reviews.freebsd.org/D14472
type is int64. While lua is setup for the representation, it's not
setup to properly print the numbers as ints. This is the least-gross
way around that, and won't affect the bootloader where we do this.