When calling a function without a prototype it gets called using the
variadic calling convention. For a small number of arguments this is
usually the same as calling a non-variadic function. However, on
architectures such as CHERI the variadic and non-variadic calling
conventions use different registers (even for less than 4 arguments) and
therefore the code will crash at runtime.
This change is required in order to run the test suite on CHERI (and
possibly other architectures that have different variadic and non-variadic
calling conventions). It also allows compiling this code with
-Werror=strict-prototypes, which is currently the default on the
CI for CHERI in order to avoid these runtime crashes.