ARM EABI version 5 and bpabi.o
Thomas Martitz
thomas.martitz@student.htw-berlin.de
Thu Mar 17 10:11:00 GMT 2011
On 16.03.2011 09:41, Sebastian Huber wrote:
> 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.
>
http://svn.rockbox.org/viewvc.cgi/www/gcc/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff?view=log
has a patch to gcc to disable this exception/unwind code.
Best regards.
More information about the Gcc-help
mailing list