tools/nolibc/stdlib: avoid a 64-bit shift in u64toh_r()
authorWilly Tarreau <w@1wt.eu>
Mon, 7 Feb 2022 16:23:37 +0000 (17:23 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 21 Apr 2022 00:05:44 +0000 (17:05 -0700)
commitac90226d53051c1ae0f0e1b71596fb038ddb6cf6
treec1e367909f5e071d9bb4427ef39f6530f439260f
parenta7604ba149e76d0449484116e7bf9cd0c26dafb2
tools/nolibc/stdlib: avoid a 64-bit shift in u64toh_r()

The build of printf() on mips requires libgcc for functions __ashldi3 and
__lshrdi3 due to 64-bit shifts when scanning the input number. These are
not really needed in fact since we scan the number 4 bits at a time. Let's
arrange the loop to perform two 32-bit shifts instead on 32-bit platforms.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/include/nolibc/stdlib.h