From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9511 invoked by alias); 28 Jul 2005 23:58:24 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 9467 invoked by uid 22791); 28 Jul 2005 23:58:10 -0000 Received: from mailout1.pacific.net.au (HELO mailout1.pacific.net.au) (61.8.0.84) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Thu, 28 Jul 2005 23:58:10 +0000 Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.0.87]) by mailout1.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id j6SNw32O019828; Fri, 29 Jul 2005 09:58:03 +1000 Received: from tigers-lfs.local (ppp2D28.dsl.pacific.net.au [202.7.74.40]) by mailproxy2.pacific.net.au (8.13.4/8.13.4/Debian-3) with ESMTP id j6SNw2aq025833; Fri, 29 Jul 2005 09:58:03 +1000 Received: from gws by tigers-lfs.local with local (Exim 4.22) id 1DyIGG-0001KT-Et; Fri, 29 Jul 2005 09:58:00 +1000 Date: Thu, 28 Jul 2005 23:58:00 -0000 From: Greg Schafer To: James E Wilson Cc: David Daney , gcc@gcc.gnu.org, binutils@sources.redhat.com Subject: Re: RFH: libgcc_s.so being unnecessarily linked for mipsel-linux cross compiler... Message-ID: <20050728235800.GA5100@tigers-lfs.nsw.bigpond.net.au> References: <42E9368F.7000506@avtrex.com> <1122585976.23426.21.camel@aretha.corp.specifix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1122585976.23426.21.camel@aretha.corp.specifix.com> User-Agent: Mutt/1.4.1i X-SW-Source: 2005-07/txt/msg01206.txt.bz2 On Thu, Jul 28, 2005 at 02:26:16PM -0700, James E Wilson wrote: > It looks like you forgot to check the crt*.o files for undefined > references. > > If the gcc/glibc toolchain wasn't built the optimal way, it is possible > for crtbegin.o to have register_frame_info and deregister_frame_info > calls for C++ EH unwinding which would require libgcc always. > > If built the optimal way, then the gcc/glibc toolchain will use an > alternate method for C++ EH unwinding that does not require crtbegin.o > support and hence does not require libgcc. This is why the x86 FC3 is > OK. > > See the USE_PT_GNU_EH_FRAME stuff in gcc/crtstuff.c. Jim, I'd be grateful if you could please clarify what you mean by the "optimal way". I assume you mean whether the initial "bootstrap" cross compiler was built against Glibc headers or not. ie: Glibc headers ARE provided -> inhibit_libc NOT defined -> optimal Glibc headers ARE NOT provided -> inhibit_libc IS defined -> suboptimal It seems to me that most Glibc targets can be built either way, but some need a little coaxing, Mips can certainly be built either way "out of the box". AFAICT, IA64 is the only target that cannot be built without access to the Glibc headers. Clearly, optimal is best :-) Thanks for any clarification. Regards Greg