On 03/14/2011 03:14 PM, Andrew Haley wrote: > On 03/14/2011 12:02 PM, Sebastian Huber wrote: >> Hello, >> >> the object file bpabi.o is part of libgcc. It is compiled with the option >> -fexceptions. Does anyone know why we need exceptions here? > > __divdi3 can throw an exception. I don't know whether it does on ARM, > but it does on other processors. > > Andrew. Thanks for the hint. How can an assembler or C function throw an exception? I am absolutely not sure how this low-level stuff works in detail, but it seems to me from a look at libgcc/Makefile.in that this -fexceptions is used for all targets? I currently try to prepare a RTEMS GCC for ARM to use the ARM EABI version 5. Now I have the problem that an innocent looking int64_t f(int64_t a, int64_t b) { return a / b; } will pull in the hole unwind mechanic that accounts for 10kByte of Thumb code. This might be a problem for small target systems. -- Sebastian Huber, embedded brains GmbH Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany Phone : +49 89 18 90 80 79-6 Fax : +49 89 18 90 80 79-9 E-Mail : sebastian.huber@xxxxxxxxxxxxxxxxxx PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.