This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
64 bit divides
- From: William Wagner <will_wagner at carallon dot com>
- To: eCos Discuss <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 02 Nov 2010 11:26:51 +0000
- Subject: [ECOS] 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