mips abi によると、呼び出し元はパフォーマンスのために最初のいくつかの引数を GPR に入れ、これらの引数をスタック フレームにプッシュしません。しかし、varargs api(stdarg.h) を使用して、void func(int type, ...); などの可変引数リストを持つ関数を定義すると、API が機能します。
stdarg.h API はスタック内の引数のみを検索することがわかりました。コンパイラが最初のいくつかの引数のみを GPR にプッシュする場合、stdarg.h はなぜ機能しますか? ABIについて何か見逃しましたか?