This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
link error due to unwanted exception support
- From: Will Wagner <will_wagner at carallon dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: Fri, 13 May 2005 18:41:34 +0100
- Subject: [ECOS] link error due to unwanted exception support
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?
Many thanks,
Will Wagner
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss