https://twitter.com/pwnallthethings/status/13632600649293620...
I guess the linux kernel still supprorting binaries from ages ago might be too.
Actually it's Linus making sure that kernel changes don't break old binaries from ages ago. And in fact there were many cases of undocumented behavior being relied on by apps, and Linus would send big rants about how you never break userspace, whether the behavior is documented or not.
Don't have any of them on hand right now, unfortunately.
The migrations to the new table were fun because you would migrate some code and then find a test that assumed the order things were inserted into some seemingly distant protocol buffer array were in insertion order of the map
Usually the ordering was just a defect of the test, but it required actually digging in to be sure
Maybe somebody who remembers better can link it and/or correct my memory of exactly what's going on.
Needless to say I didn't stick around.
A couple months later, I had a user thank me for it. I still don't know why
Code easily ends up depending on the specific library's quirks and config, regardless of what the actual contract said.