Kai Ruottu wrote:
If I look in gcc/config/arm/t-wince-pe here is what is declared for my
target:
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX
_interwork_call_via_rX _clzsi2 _clzdi2 \
_bb_init_func _lshrdi3 _ashrdi3 _ashldi3 \
_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
_fixunsdfsi \
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
_fixsfsi _fixunssfsi _floatdidf _floatdisf \
_arm_fixunsdfsi
and I can see that _floatdidf is declared but is not available in libgcc
>
Does it mean I need to remove _floatdidf _floatdisf from the list ?
No, you could try editing the '_addsubdf3' to '_arm_addsubdf3' and see
what happens...
This could be the first step...
+# _arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2
_arm_unorddf2 \
+# _arm_fixdfsi _arm_fixunsdfsi \
+# _arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 \
+# _arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi \
+# _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
+# _clzsi2 _clzdi2
... and adding the '_arm' prefix for other module names when other
undefined symbols will appear. Maybe it could be possible to activate
all the modules in 'ieee754-sf.S' and 'ieee754-df.S' via editing the
'_arm' to each name in the modules list...
Why these names were put only as "candidates" in the patch is unclear,
otherwise than I wrote, the "original" 't-arm-wince-pe' didn't list
these '_arm'-prefixed modules to be included in libgcc...
BTW, doesn't WinCE/ARM include any soft-float routines in its native
DLLs etc.?