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 think the correct fix is to add t-crtfm to the symbianelf config. > > > Аўторак, 20 жніўня 2024, 12:23 +03:00 ад Jonathan Wakely <jwakely.gcc@xxxxxxxxx>: > > > > Hi, > > > > I'm having trouble understanding the problem and the suggested change. > > Your email doesn't provide many details to help us understand exactly > > what you mean. > > > > > On Mon, 19 Aug 2024 at 23:35, Fiodar wrote: > > > > > > > > > I have build error due missed crtfastmath.o from 5 series till 14 for Symbian. > > > > What exactly is the build error you have? > > What does "missed crtfastmath.o" mean? > > > > If you explain the problem in more detail, we might be able to > > understand it better. > > > > > > All crtfastmath.o usage declared in pair t-softfp and t-crtfm in libgcc/config.host, isn't it? The last one tells where to pick crtfastmath.o. Symbian share config with arm*-*-eabi and arm*-*-rtems. I checked this config many times and accidentally noticed that the t-crtfm unaviable. > > > > What do you mean "unavailable"? It's in libgcc/config, so is available. > > Do you mean it's not used for the arm*-*-symbianelf* case? > > > > > I remove t-softfp and error gone. > > > > Remove it from where? > > > > > > > > Here that config: > > > https://gcc.gnu.org/git?p=gcc.git;a=blob;f=libgcc/config.host;h=9fae51d4ce7dee206f5807bbdb2ce94ceeca33e9;hb=HEAD#l565 > > > > What did you change? Could you show a diff? > > > > > The addition of t-crtfm was made in https://gcc.gnu.org/g:5a0ff57c48cb > > in 2015. Are you saying that building arm*-*-symbianelf* has been > > broken since then? > "make -k" produce usable freestanding compiler with libsupc, libgcc and libgcov in multilib dirs. libstdc++ not builded before my changes. I build big project like ScummVM since GCC 5 series witout problem. > > Stryzhniou Fiodar > Стрижнёв Федор >