tools/nolibc/stdlib: Support overflow checking for older compiler versions
authorAmmar Faizi <ammarfaizi2@gnuweeb.org>
Thu, 19 May 2022 17:21:15 +0000 (00:21 +0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 20 Jun 2022 16:43:19 +0000 (09:43 -0700)
commit1ef150cf40be986747c3fa0c0e75acaec412e85e
treeeee44a321c25690a92ca6c8c16eac85957f2aabc
parenta111daf0c53ae91e71fd2bfe7497862d14132e3e
tools/nolibc/stdlib: Support overflow checking for older compiler versions

Previously, we used __builtin_mul_overflow() to check for overflow in
the multiplication operation in the calloc() function. However, older
compiler versions don't support this built-in. This patch changes the
overflow checking mechanism to make it work on any compiler version
by using a division method to check for overflow. No functional change
intended. While in there, remove the unused variable `void *orig`.

Link: https://lore.kernel.org/lkml/20220330024114.GA18892@1wt.eu
Suggested-by: Willy Tarreau <w@1wt.eu>
Cc: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Acked-by: Willy Tarreau <w@1wt.eu>
Reviewed-by: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/include/nolibc/stdlib.h