From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29708 invoked by alias); 24 Aug 2010 15:07:10 -0000 Received: (qmail 29043 invoked by alias); 24 Aug 2010 15:06:48 -0000 Date: Tue, 24 Aug 2010 15:07:00 -0000 Message-ID: <20100824150648.29042.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/45388] [4.6 Regression] Global constructor not found In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dave at hiauly1 dot hia dot nrc dot ca" 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-08/txt/msg01993.txt.bz2 ------- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-24 15:06 ------- Subject: Re: [4.6 Regression] Global constructor not found > Is there another consturctor calling this one? (or can you attach complette .s > file?) Perhaps it is result of my constructor merging patch. Unfortunately, the .s is gone for the moment. What I showed contained all the references to the constructor. There is no `.EXPORT' statement, so the constructor is local. I believe it was caused by your constructor merging patch, but I haven't explicitly verified this. Collect2 builds a table of constructors to call at startup. This startup file is then linked into the final executable. This only works if the constructors are global symbols. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45388