This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC 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]

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


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


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