[Bug target/46770] Replace .ctors/.dtors with .init_array/.fini_array on targets supporting them
mark at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Sat Dec 11 19:33:00 GMT 2010
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.
More information about the Gcc-bugs
mailing list