Am 28.03.2012 09:09, schrieb Fredrik Hederstierna:
Hi
We generate the map-file, the content tells that (if I understand correctly)
"_divdi3.o" use "__aeabi_unwind_cpp_pr0" which resides in "unwind-arm.o".
Is it really correct that we need unwind-support if just using division?
Could it be that _divdi3 can 'throw' division-by-zero 'exception' ?
(We have overloaded div0: "void __div0(void) { assert(0); }" so we dont want unwinding here anyway...)
If I declare this symbol myself in a file as
char __aeabi_unwind_cpp_pr0[0];
the binary links successfully, but I'm not sure its 100% working and correct.
(I have some problems with crashes on the new built eabi target, but could also be other reasons.)
We (Rockbox) also faced this problem and patch gcc to leave exceptions
out[1].
Best regards.
[1]:
http://git.rockbox.org/?p=www.git;a=blob;f=gcc/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff;h=3397153495dbc4486f9a32c024a3264bf66708d3;hb=HEAD