Richard Henderson wrote: > Because, really, if we consider the structure truly public, we can't even > change the number of registers for a given port to support new features of > the cpu.
Indeed, and I remember we got bitten by that a long time ago, which is why s390.h now has this comment: /* Number of hardware registers that go into the DWARF-2 unwind info. To avoid ABI incompatibility, this number must not change even as 'fake' hard registers are added or removed. */ #define DWARF_FRAME_REGISTERS 34 > I don't suppose there's any way that we can declare these old > programs Just Broken, and drop this compatibility stuff? I wouldn't like that ... we did run into this problem in the wild, and some s390 users really run very old programs for some reason. However, I'm wondering: this bug that leaked the implementation of _Unwind_Context only ever affected the *original* version of the structure -- it was fixed before the extended context was ever added, right? If this is true, we'd still need to keep the original context format unchanged, but we'd be free to modify the *extended* format at any time, without ABI considerations and need for further versioning ... Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com