Re: Is Symbian configuration for crtfastmath.o correct?

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

 



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.
 
> Аўторак, 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
Стрижнёв Федор
 




[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