From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27182 invoked by alias); 13 May 2005 17:44:27 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 27117 invoked from network); 13 May 2005 17:44:21 -0000 Received: from unknown (HELO hermes.chez-thomas.org) (206.168.96.204) by sourceware.org with SMTP; 13 May 2005 17:44:21 -0000 Received: by hermes.chez-thomas.org (Postfix, from userid 2000) id 55E71100081; Fri, 13 May 2005 11:44:18 -0600 (MDT) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by hermes.chez-thomas.org (Postfix) with ESMTP id 2310710007A; Fri, 13 May 2005 11:44:16 -0600 (MDT) From: Gary Thomas To: Will Wagner Cc: eCos Discussion In-Reply-To: <4284E6CE.8030303@carallon.com> References: <4284E6CE.8030303@carallon.com> Content-Type: text/plain Date: Fri, 13 May 2005 19:33:00 -0000 Message-Id: <1116006255.31049.126.camel@hermes> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [ECOS] link error due to unwanted exception support X-SW-Source: 2005-05/txt/msg00190.txt.bz2 On Fri, 2005-05-13 at 18:41 +0100, Will Wagner wrote: > Hi, > > I want to write a very simple C application that uses the minimal > template. This means that it has no heap and so no malloc/free. > > When linking my application I get this error: > > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/../../../../powerpc-eabi/lib/nof/libsupc++.a(del_op.o)(.t > ext+0x14): In function `operator delete(void*)': > : undefined reference to `free' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/../../../../powerpc-eabi/lib/nof/libsupc++.a(eh_alloc.o)( > .text+0x98): In function `__cxa_allocate_exception': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/../../../../powerpc-eabi/lib/nof/libsupc++.a(eh_alloc.o)( > .text+0x29c): In function `__cxa_free_exception': > : undefined reference to `free' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/../../../../powerpc-eabi/lib/nof/libsupc++.a(eh_globals.o > )(.text+0x54): In function `get_globals_dtor(void*)': > : undefined reference to `free' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/../../../../powerpc-eabi/lib/nof/libsupc++.a(eh_globals.o > )(.text+0x28c): In function `__cxa_get_globals': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x480): > In function > `__register_frame': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x594): > In function > `__register_frame_table': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x6c4): > In function > `__deregister_frame_info_bases': > : undefined reference to `free' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x760): > In function > `__deregister_frame': > : undefined reference to `free' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x167c): > In function > `init_object': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x169c): > In function > `init_object': > : undefined reference to `malloc' > /opt/ecos/gnutools/powerpc-eabi/lib/gcc-lib/powerpc-eabi/3.3.3/nof/libgcc.a(unwind-dw2-fde.o)(.text+0x180c): > In function > `init_object': > : undefined reference to `free' > > I have no need for exception support and I'm compiling everything with > -fno-exceptions so why is it trying to link in these functions for > exception handling? > > What compiler options do i need other than -fno-exceptions to remove > exception support? > > I have managed to fix it temporarily by manually removing libsupc++.a > from the GROUPS entry in target.ld but as the file is autogenerated this > is a really bad solution. > > Can anyone suggest what I'm doing wrong? What options did you use to compile your program? Look in the examples directory for how to do this. You can also follow the instructions at http://www.mlbassoc.com/examples/ -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss