Warning, ABI breakage from 2.074 to 2.075

Paulo Pinto via Digitalmars-d digitalmars-d at puremagic.com
Thu May 25 09:32:02 PDT 2017


On Thursday, 25 May 2017 at 15:36:38 UTC, Jason King wrote:
> Yes it is a lot of work, which I strongly suspect is a big 
> reason why C still reigns supreme at the systems level — 
> because it does have a stable ABI which solves a lot of 
> headaches from a systems point of view (obviously momentum and 
> history are also very big reasons).

That is a common misconception.

C only has a stable ABI on operating systems written in C, 
because the C ABI is actually the OS ABI.

In operating systems not written in C, like all the mainframe 
OSes before C got widespread out of UNIX and still in use 
nowadays (IBM i, z/OS, ClearPath), real time OSes written in Ada 
and quite a few other examples, the "C ABI" only has a meaning 
inside the POSIX emulation environment.

In fact, during the 80 and 90's it was common not being able to 
link object files from different C compilers on home OSes that 
were actually mostly written in Assembly.


--
Paulo


More information about the Digitalmars-d mailing list