aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorLiangbin Lian <jjm2473@gmail.com>2019-05-14 23:20:45 +0800
committerPetr Štetiar <ynezz@true.cz>2019-05-23 10:19:52 +0200
commit4bb9af48ca36605424c57b6af27dd5e5c827395f (patch)
tree6380d7f6b84fae2021d9aecc7c8f718079848ad7 /toolchain
parent33b81b572148e2de52fbcb986e238c2efbd1939f (diff)
downloadupstream-4bb9af48ca36605424c57b6af27dd5e5c827395f.tar.gz
upstream-4bb9af48ca36605424c57b6af27dd5e5c827395f.tar.bz2
upstream-4bb9af48ca36605424c57b6af27dd5e5c827395f.zip
lua: lnum: fix strtoul based number parsing
Lua's LNUM patch currently doesn't parse properly certain numbers as it's visible from the following simple tests. On x86_64 host (stock Lua 5.1.5, expected output): $ /usr/bin/lua -e 'print(0x80000000); print(0x80000000000); print(0x100000000)' 2147483648 8796093022208 4294967296 On x86_64 host: $ staging_dir/hostpkg/bin/lua -e 'print(0x80000000); print(0x80000000000); print(0x100000000)' -2147483648 0 0 On x86_64 target: $ lua -e 'print(0x80000000); print(0x80000000000); print(0x100000000)' -2147483648 0 0 On ath79 target: $ lua -e 'print(0x80000000); print(0x80000000000); print(0x100000000)' -2147483648 8796093022208 4294967296 It's caused by two issues fixed in this patch, first issue is caused by unhadled strtoul overflow and second one is caused by the cast of unsigned to signed Lua integer when parsing from hex literal. Run tested on: * Zidoo Z9S with RTD1296 CPU (aarch64_cortex-a53) * qemu/x86_64 * qemu/armvirt_64 * ath79 Signed-off-by: Liangbin Lian <jjm2473@gmail.com> [commit subject/message touches, fixed From to match SOB, fixed another unhandled case in luaO_str2i, host Lua, package bump] Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'toolchain')
0 files changed, 0 insertions, 0 deletions