Hacker News new | ask | show | jobs
by david2ndaccount 1658 days ago
Standard C has an ABI problem due to intmax_t. It is stuck at 64 bits in most implementations even though many offer an int128_t. There are standard C functions such as imaxabs, imaxdiv, strtoimax that are defined as taking or returning intmax_t, so changing intmax_t to 128 bits would break existing binaries. C functions are also purely defined by their name so you wouldn’t even get a dynamic linking error, you would just be calling the functions wrong.
1 comments

That’s what happens when your change your hardware architecture but don’t want to change your ABI; you get crazy stuff like that.