Re: Bare metal ARM Cross compiler for arm-none-eabi target without libunwind?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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


[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google