Folks,
I'd like to know the general opinion on this:
https://llvm.org/bugs/show_bug.cgi?id=23529
From past experience, and my limited point of view, it seems that the
GCC community decided to change the ABI, plotted some runes, conjured up a broken implementation (whose bugs people will exploit and GCC will end up keeping them) and pushed distros to follow.
I don't know how much distros were involved in the original design. Did they request the changes? Or was that an internal change? How do you guys get to decide when to break the world?
I also don't know how will be your policy towards the bugs that people started "using". Are you going to force them moving to a more sane implementation (by issuing compiler/linker errors) or are you going to support as legacy for the decades to come?
Is there a detailed document describing all the changes, and is the GCC implementation following that to the letter, or are there still bugs in the current version? I'm not talking about an email thread, but an actual document on GCC's docs pages.
All I know is that people in the Clang community waited until GCC's implementation was stable, but somehow Debian based distros started moving as if there was something unholy about the previous ABI, and we've been getting segmentation faults on Hello World!
I don't know much about the changes myself, nor I was involved in the discussion, but this is now a major pain for release 3.8.0 and I thought it would be better if I sent an email to Linaro folks and members (which form most of the ARM GNU developers) instead of going on the main lists.
That also gives me a bit more freedom to be more candid. I wouldn't send those questions as they are to the GCC/binutils lists, or people would kill me. I don't mean any of them as an offence, they are genuine questions from someone that is not on top of that issue.
cheers, --renato