WTF are you talking about? Name the last time the syscall interface changed. I believe it was in the 1.x days. That's the only place binary compatibility has broken with respect to Linux.

With gcc 3.x, C++ linkage was changed from 2.x to comply with the standard C++ name mangling. The benefit is that GCC-compiled object code can interoperate with object code from other vendors. The drawback is that binary compatibility was broken and required all C++ shared libraries to be updated. This is not a problem with Linux, this is a problem with the GNU toolchain which also affects *BSD, etc. But everyone got on the bandwagon and called it a Linux problem for some reason, propagating an incorrect assertion.

Score:3, Informative