This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos 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]

64 bit divides


Hello,

We are writing a small application whose size is around 16k. Looking at the map file/disassembler I see that approx 2k of the image is taken up by the functions __divdi3 and __udivdi3 (which come from the libgcc library).

I thought it seemed stupid that such a small and simple application should do any 64 bit divisions so I've looked into where they are used.

The first most obvious thing is that only the unsigned divide is ever used, __aeabi_uldivmod calls __gnu_uldivmod_helper which calls __udivdi3. __divdi3 and its helper __gnu_ldivmod_helper are never used and yet are not stripped out of the elf. Any easy way to fix that?

The unsigned divide is called in a few places, including in the diag print code. I thought I had previously seen a cdl option to enable/disable 64 bit print support but couldn't see any sign of one. Has anyone done this before? Are there any hidden issues with trying to remove 64bit printf support?

Thanks,
Will

--
------------------------------------------------------------------------
Will Wagner                                     will_wagner@carallon.com
Development Manager                      Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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