Re: Is Symbian configuration for crtfastmath.o correct?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





  
>Пятніца, 23 жніўня 2024, 12:10 +03:00 ад Jonathan Wakely <jwakely.gcc@xxxxxxxxx>:
> 
>On Thu, 22 Aug 2024 at 21:21, Fiodar < fedor_qd@xxxxxxx > wrote:
>>
>> Here config from link:
>> 565 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
>> 566 tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
>> 567 tm_file="$tm_file arm/bpabi-lib.h"
>> 568 case ${host} in
>> 569 arm*-*-eabi* | arm*-*-rtems*)
>> 570 tmake_file="${tmake_file} arm/t-bpabi arm/t-sync t-crtfm"
>> 571 extra_parts="crtbegin.o crtend.o crti.o crtn.o"
>> 572 ;;
>> 573 arm*-*-symbianelf*)
>> 574 tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
>> 575 tm_file="$tm_file arm/symbian-lib.h"
>> 576 # Symbian OS provides its own startup code.
>> 577 ;;
>> 578 esac
>> 579 tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
>> 580 extra_parts="$extra_parts crtfastmath.o"
>> 581 unwind_header=config/arm/unwind-arm.h
>> 582 ;;
>>
>> At line 570 t-crtfm says where look for crtfastmath.o. But it matters for arm*-*-eabi* and arm*-*-rtems* targets only.
>> At line 580 declared additional dependency - crtfastmath.o without t-crtfm pair in Symbian part.
>> As temporal solution I change line 580 to ‘ extra_parts="$extra_parts" ’ and error gone. Builds was fine. Even libstdc++.a builded.
>>
>> Pattern at line 580 widely used in libgcc/config.host. It’s was usual copy-paste mistake. I notice that by accident.
>> Proposed fix: change line 571 to
>> extra_parts="crtbegin.o crtend.o crti.o crtn.o crtfastmath.o"
>> and line 580 to:
>> extra_parts="$extra_parts"
>>
>> Anyway Symbian used own crts. So crtfastmath not needed at all.
>
>But does the Symbian runtime correctly handle GCC's -ffast-math option?
I don’t know. Does gcc has any test? I build and run it.
>
>I think the correct fix is to add t-crtfm to the symbianelf config.
I look closely at libgcc\config\arm\crtfastmath.c. It compiled if macro __SOFTFP__ not defined. I’m not sure if this needed because Symbian use softfp ABI for float numbers.
 
Stryzhniou Fiodar
Стрижнёв Федор
 




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux