> If a compiler and linker don't follow those ABIs then it would also be close to useless for compiling or linking against shared libraries.

I guess in C++ you are not supposed to link libraries produced by different compilers? Maybe you should use C-compatible interfaces in this case?

You are, you can, and people do. Sure you should use C interfaces, that's what CLAP does, and it's easier to understand as a result.

The C standard similarly does not specify an ABI.