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

--- Comment #12 from Jan Hubicka <hubicka at ucw dot cz> 2010-12-11 16:17:38 
UTC ---
> >   2) I believe that the backwarding order of .ctor section was concious
> >      QOI issue.  I wonder how much legacy code this might break when static
> >      libraries start initializing after main modules.
> 
> Static libraries are LINKED INTO main module. I don't understand
> this question.

I meant the object files that are not in the library. By the way linker works,
first placing the object files it is given and then resolving dependencies by
getting more from the libraries, the reverse initialization order ensure that
the object files from libraries are initialized before object files needing
them.
> 
> My patch guarantee the relative order of constructors vs. destructors,
> as we do now. GCC never guarantees the order of constructors. Please note'
> that even within single source file, there is no guarantee that foo will
> be initialized before bar in

Yes, I know that within single file the order is undefined.  All I am concerned
about are the libraries. 
> 
> I worked with Cary on the .init_array gABI spec and implemented
> it in gas/ld/glibc.  I am the person who knows how these things was
> introduced and how they work.

OK, do you know why the order of execution of .ctor was chosen to be reversed
even if it would make more sense to reverse .dtors?

Honza
> 
> -- 
> Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.

Reply via email to