http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770

--- Comment #18 from Mark Mitchell <mark at codesourcery dot com> 2010-12-11 
19:33:17 UTC ---
On 12/11/2010 11:03 AM, hjl.tools at gmail dot com wrote:

> I am not sure about GOLD. But it usually follows GNU linker.
> For GNU linker, the constructor priority is honored within
> .ctors.NNNNN and .init_array.NNNNN.  ctors.NNNNN will be called
> before .init_array.NNNN.

>From the linker script fragment you're showing we're not going to get
the right behavior.  In particular, all .ctors.* are going to get called
before any .init_array.*, or vice versa; we won't interleave the two
appropriately.

So, if I understand correctly, we have a critical problem with switching
to .init_array; we'll fail to conform to the specification for GNU
constructor priorities.

Reply via email to