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]

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


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