------- Comment #11 from danglin at gcc dot gnu dot org  2009-02-17 01:37 
-------
It is a limitation of the Apple assembler and linker.  From the Apple assembler
manual:

.mod_init_func
This is equivalent to .section __DATA, __mod_init_func, mod_init_funcs
This section is of type mod_init_funcs and has no attributes. The C++ compiler
places a pointer to a
function in this section for each function it creates to call the constructors
(if the module has them).

.mod_term_func
This is equivalent to .section __DATA, __mod_term_func, mod_term_funcs
This section is of type mod_term_funcs and has no attributes. The C++ compiler
places a pointer to a
function in this section for each function it creates to call the destructors
(if the module has them).

These directives don't allow for a priority.

It might be possible to sort constructors/destructors with collect2, but for
now it as if something like the following

/* The Apple linker does not support constructor priorities.  */
#undef SUPPORTS_INIT_PRIORITY
#define SUPPORTS_INIT_PRIORITY 0

should be added to darwin.h.


-- 

danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |danglin at gcc dot gnu dot
                   |                            |org


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

Reply via email to