(not) breaking the ABI
Wed May 25 13:33:00 GMT 2005
After a brief discussion on IRC, and recent discussion on the main gcc
mailing list, I discovered it is perhaps harder to break the ABI that I
thought it was :)
As far as I've been able to find out, things we go into so_6 cannot:
a) turn a POD into a non-POD
b) add or remove virtual member functions of classes/structs
c) add or remove data members of classes
d) Change a function so does something fundamentally different, as you
don't know which the linker will choose to pull in (you can of course
just give your new function a new signiture and delete the old one).
Out of interest, is that it? I tried looking around for a specific guide
to what breaks ABIs and while I could find some good guides for C, I
couldn't find one for C++.
More information about the Libstdc++