https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92361
--- Comment #3 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Fortran has no concept of a varargs call. It is an error to call a procedure with a different number or type of arguments (unless there is an explicit interface and the dummy arguments are optional or ...). Such errors are only poorly detected by gfortran prior to 10. So, the code is erroneous. Does it matter? For. x86_64, not so much. The only difference there is that one register is set to the number of floating point values oassen in registers. For POWER, this is different because of some red zone somewhere, I forget the details. Before the fix, gfortran incorrectly called unknown procedures as taking varargs, even though they were not compiled as such. This led to crashes on POWER when the number of arguments became too big. So, this fix means that the usage of calling a varargs functuon from Fortran will not work any longer, at least when using an ABI where it makes a difference. The solution is to fix the code to call non-vararg C functuons, preferably using standard Fortran C interop features. If you compile the code with current trunk, and the calls are in a single file, you should get some error messages which hopefully are useful in spotting the problems.