This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: link error due to unwanted exception support


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]