tools/nolibc/sys: make open() take a vararg on the 3rd argument
authorWilly Tarreau <w@1wt.eu>
Mon, 7 Feb 2022 16:23:36 +0000 (17:23 +0100)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 21 Apr 2022 00:05:44 +0000 (17:05 -0700)
commita7604ba149e76d0449484116e7bf9cd0c26dafb2
tree69150aca2efae9cf6bae7d9ff6b7e5dd2810f086
parentacab7bcdb1bc14d5a6a0c3c1d2b9bd681172cf47
tools/nolibc/sys: make open() take a vararg on the 3rd argument

Let's pass a vararg to open() so that it remains compatible with existing
code. The arg is only dereferenced when flags contain O_CREAT. The function
is generally not inlined anymore, causing an extra call (total 16 extra
bytes) but it's still optimized for constant propagation, limiting the
excess to no more than 16 bytes in practice when open() is called without
O_CREAT, and ~40 with O_CREAT, which remains reasonable.

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