Hacker News new | ask | show | jobs
by plorkyeran 4724 days ago
In practice all of the compilers have arrived at a common ABI for each platform.
2 comments

Technically C doesn't have a standard ABI either. Compilers just tend to use similar symbol names.
True, what many perceive as the C ABI is actually the OS ABI.

As most OSs tend to be written mostly in C, it is natural that C ABI == OS ABI.

In the few cases where the OS was written in other languages, like the mainframe systems, the early 80's OS done in Pascal dialects (Mac OS), Modula-2 (Lillith), Assembly (MS-DOS/CP-M) and many others to list here, there was no C ABI to speak of.

That isn't true. IBM and Oracle's compiler do not share a compatible ABI with g++ or clang. Oracle is adopting the common ABI in Studio 13 and that's a pretty big deal.