From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22988 invoked by alias); 11 Dec 2010 16:17:58 -0000 Received: (qmail 22979 invoked by uid 22791); 11 Dec 2010 16:17:57 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 11 Dec 2010 16:17:53 +0000 From: "hubicka at ucw dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/46770] Replace .ctors/.dtors with .init_array/.fini_array on targets supporting them X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at ucw dot cz X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: hjl.tools at gmail dot com X-Bugzilla-Target-Milestone: 4.6.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Sat, 11 Dec 2010 16:17:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-12/txt/msg01196.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770 --- Comment #12 from Jan Hubicka 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.