Most of the ARM target makefile fragments reference arm/lib1funcs.asm, but only t-arm-elf references all the symbols that need to be defined to get the new floating point code: LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ _call_via_rX _interwork_call_via_rX \ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ _fixsfsi _fixunssfsi t-linux just says this: LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx This generates undefined references in libgcc_s.so to, for instance, the functions defined by L_addsubdf3. If I copy LIB1ASMFUNCS from t-arm-elf to t-linux that solves the problem (for this particular target at least, and keeping _dvmd_lnx...)
Subject: Re: New: New FP code not compiled for non-arm-elf targets > t-linux just says this: > > LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx > > This generates undefined references in libgcc_s.so to, for instance, the functions > defined by L_addsubdf3. > > If I copy LIB1ASMFUNCS from t-arm-elf to t-linux that solves the problem (for > this particular target at least, and keeping _dvmd_lnx...) t-linux is not a soft-float target, so shouldn't need any of the FP support functions. R.
Subject: Re: New FP code not compiled for non-arm-elf targets But this prevents using it with -msoft-float; which is often advantageous. Hmm, I'm not sure how best to do it, but I'd like to make this new requirement clearer - especially now that we have --with-float=soft.
I just ran into this again. Richard, I know the soft-float routines are not generally needed, but would there be any harm in building them anyway?
An alternative would be to detect --with-float=soft in t-linux, and adjust LIB1ASMFUNCS. I think that can be done.
Confirmed.
This refers to the arm-linux and arm-elf configurations which are largely in maintenance mode only now. Pulling priority down to P5 and marking as an enhancement.
The none EABI configuration of arm-linux is no longer supported.