PATCH: PR ld/12730: regression] crash when allocating in a static constructor
Mon May 16 00:37:00 GMT 2011
Thanks for taking the time to reply.
While there is a small part of me that would like to tilt against this particular windmill, the lack of any specific point of non-compliance means that I have no firm ground to stand-on.
In the end, it's would be about differences in interpretation of an ambiguous text based on historical precedents - which is an almost textbook recipe for a religious war.
I have no desire to cast the first stone, so I'm going to let this sleeping dog lie (and also stop mixing metaphors) :)
Sent from my iPhone
On 16/05/2011, at 10:15 AM, Alan Modra <email@example.com> wrote:
> On Sun, May 15, 2011 at 08:14:19PM +1000, Craig Southeren wrote:
>> At the heart of the issue is the timing of initialising statics at
>> the global/namespace level.
> You won't get much traction on this issue here on the binutils list.
> We did have a ld bug that affected you but that has now been fixed.
> Further discussion should go to one of the gcc lists. If you can get
> agreement that functions declared with __attribute__ ((constructor))
> ought to be treated exactly as standard C++ namespace scope
> constructors regarding initialisation order, then it would be good to
> have your testcase added to the g++ testsuite. That should ensure
> both g++ and ld do not regress.
> FWIW, I think your testcase is quite reasonable. The main reason I
> wanted the testcase removed from the ld testsuite because I found
> the testcase failed using commonly available versions of g++, and
> therefore a C++ testcase wasn't the best way to test ld behaviour.
> Alan Modra
> Australia Development Lab, IBM
More information about the Binutils