Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On Thu, 3 Dec 2020, Andreas Schwab wrote: > > .../gcc/gnatbind -x impbit.ali > > error: "s-imgllli.ali" not found, "s-imgllli.ads" must be compiled > > gnatmake: *** bind failed. > > Failed to compile impbit > > This means GNATRTL_128BIT_OBJS is missing from > EXTRA_GNATRTL_NONTASKING_OBJS. Yep, I came to the same conclusion and that's what Matthias's commit ba97b5326048 fixed. Maciej
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On Nov 20 2020, Maciej W. Rozycki wrote: > For the record: in a native `powerpc64le-linux-gnu' build despite the > issue a functional compiler used to be built, except for the acats test > suite reporting a catastrophic failure: > > === acats support === > Generating support files... Failed to compile impbit > make: [.../gcc/ada/gcc-interface/Make-lang.in:958: check-acats] Error 1 > (ignored) > > and then acats.log reporting: > > .../gcc/gnatbind -x impbit.ali > error: "s-imgllli.ali" not found, "s-imgllli.ads" must be compiled > gnatmake: *** bind failed. > Failed to compile impbit This means GNATRTL_128BIT_OBJS is missing from EXTRA_GNATRTL_NONTASKING_OBJS. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On Wed, 18 Nov 2020, Eric Botcazou wrote: > > that broke the build of an ada cross compiler targeting > > powerpc64le-linux-gnu. target_cpu is powerpc64le which is not matched by > > the Makefile logic. > > > > Ok for the trunk? > > > > PR ada/97859 > > * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu. > > Yes, thanks. For the record: in a native `powerpc64le-linux-gnu' build despite the issue a functional compiler used to be built, except for the acats test suite reporting a catastrophic failure: === acats support === Generating support files... Failed to compile impbit make: [.../gcc/ada/gcc-interface/Make-lang.in:958: check-acats] Error 1 (ignored) and then acats.log reporting: .../gcc/gnatbind -x impbit.ali error: "s-imgllli.ali" not found, "s-imgllli.ads" must be compiled gnatmake: *** bind failed. Failed to compile impbit I noticed that in VAX verification and came up with the same fix, and was about to post it (now that I completed the VAX effort and could catch up with other stuff) when I noticed it has been addressed already. Native `powerpc64le-linux-gnu' acats test results are now all-clean: === acats Summary === # of expected passes2320 # of unexpected failures0 (well, non-native acats verification sadly doesn't work anyway). Maciej
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
> that broke the build of an ada cross compiler targeting > powerpc64le-linux-gnu. target_cpu is powerpc64le which is not matched by > the Makefile logic. > > Ok for the trunk? > > PR ada/97859 > * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu. Yes, thanks. -- Eric Botcazou
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On 10/22/20 2:12 PM, Pierre-Marie de Rodat wrote: > This enables the build of the support units for 128-bit integer types > in the full runtime of 64-bit platforms. > > Tested on x86_64-pc-linux-gnu, committed on trunk > > gcc/ada/ > > * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to > the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to > the EXTRA_GNATRTL_NONTASKING_OBJS list. > that broke the build of an ada cross compiler targeting powerpc64le-linux-gnu. target_cpu is powerpc64le which is not matched by the Makefile logic. Ok for the trunk? PR ada/97859 * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu. --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2305,7 +2305,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) $(ATOMICS_BUILTINS_TARGET_PAIRS) \ system.ads
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
> That variable doesn't exist. Bummer. Attached patch installed. -- Eric Botcazoudiff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 39b458781a8..7b5b3344af7 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2543,7 +2543,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),) TOOLS_TARGET_PAIRS = indepsw.adb
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On Okt 23 2020, Eric Botcazou wrote: > diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl > index 7a0c05b423d..f91085dd404 100644 > --- a/gcc/ada/Makefile.rtl > +++ b/gcc/ada/Makefile.rtl > @@ -2533,7 +2533,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) > $(target_os))),) >TOOLS_TARGET_PAIRS = indepsw.adb >EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) > - EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJ > + EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJ) That variable doesn't exist. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
> /usr/local/gcc/gcc-20201023/gcc/ada/Makefile.rtl:2834: *** unterminated > variable reference. Stop. Sorry about that, tentatively fixed by the attached patch, installed. -- Eric Botcazoudiff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 7a0c05b423d..f91085dd404 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2533,7 +2533,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),) TOOLS_TARGET_PAIRS = indepsw.adb
Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms
On Okt 22 2020, Pierre-Marie de Rodat wrote: > This enables the build of the support units for 128-bit integer types > in the full runtime of 64-bit platforms. > > Tested on x86_64-pc-linux-gnu, committed on trunk > > gcc/ada/ > > * Makefile.rtl (64-bit platforms): Add GNATRTL_128BIT_PAIRS to > the LIBGNAT_TARGET_PAIRS list and also GNATRTL_128BIT_OBJS to > the EXTRA_GNATRTL_NONTASKING_OBJS list. > > diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl > --- a/gcc/ada/Makefile.rtl > +++ b/gcc/ada/Makefile.rtl > @@ -1060,6 +1060,11 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks > vxworksspe vxworks7% vxworks7spe > EXTRA_GNATRTL_NONTASKING_OBJS+=s-stchop.o >endif > > + ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) > +LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) > +EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) > + endif > + >TOOLS_TARGET_PAIRS=indepsw.adb >ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) > @@ -1263,20 +1268,7 @@ endif > # x86/x86_64 VxWorks > ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7%,$(target_cpu) > $(target_vendor) $(target_os))),) > > - EH_MECHANISM=-gcc > - > - VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) > - SVX=system-$(VX) > - > - ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) > - X86CPU=x86_64 > - LIBGNAT_TARGET_PAIRS=$(X86_64_TARGET_PAIRS) > - else > - X86CPU=x86 > - LIBGNAT_TARGET_PAIRS=$(X86_TARGET_PAIRS) > - endif > - > - LIBGNAT_TARGET_PAIRS+= \ > + LIBGNAT_TARGET_PAIRS= \ >a-intnam.adsi-vxwork.adss-osinte.adb @@ -1298,8 +1290,23 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks > vxworks7%,$(target_cpu) $(targ >g-stsifd.adb$(ATOMICS_TARGET_PAIRS) > > + VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) > + SVX=system-$(VX) > + > + ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) > + X86CPU=x86_64 > + LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) > + LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) > + EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) > + else > + X86CPU=x86 > + LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) > + endif > + >TOOLS_TARGET_PAIRS=indepsw.adb > + EH_MECHANISM=-gcc > + ># The CPU setting for VxSim varies with the ># host (Windows or Linux) ># target (VxWorks6 or VxWorks7) > @@ -1379,7 +1386,7 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks > vxworks7%,$(target_cpu) $(targ > endif >endif > > - EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o > + EXTRA_GNATRTL_NONTASKING_OBJS += i-vxwork.o i-vxwoio.o > endif >endif > > @@ -1403,12 +1410,37 @@ endif > # ARM and Aarch64 VxWorks > ifeq ($(strip $(filter-out aarch64 arm% coff wrs vx%,$(target_cpu) > $(target_vendor) $(target_os))),) > > + LIBGNAT_TARGET_PAIRS = \ > + a-intnam.ads + a-naliop.ads + a-nuaufl.ads + a-nashfl.ads + s-inmaop.adb + s-interr.adb + s-intman.ads + s-intman.adb + s-osinte.adb + s-osinte.ads + s-osprim.adb + s-parame.ads + s-parame.adb + s-stchop.ads + s-stchop.adb + s-taprop.adb + s-tasinf.ads + s-taspri.ads + g-socthi.ads + g-socthi.adb + g-stsifd.adb + >ifeq ($(strip $(filter-out aarch64, $(target_cpu))),) > ARCH_STR=aarch64 > VX=vxworks7 > EH_MECHANISM=-gcc > SIGTRAMP_OBJ=sigtramp-vxworks.o > -LIBGNAT_TARGET_PAIRS += a-nallfl.ads +LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) \ > + a-nallfl.ads +EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) >else > ifeq ($(strip $(filter-out arm%, $(target_cpu))),) >ARCH_STR=arm > @@ -1426,31 +1458,9 @@ ifeq ($(strip $(filter-out aarch64 arm% coff wrs > vx%,$(target_cpu) $(target_vend > endif >endif > > - SVX=system-$(VX) > + LIBGNAT_TARGET_PAIRS += s-vxwork.ads > - LIBGNAT_TARGET_PAIRS = \ > - a-intnam.ads - a-naliop.ads - a-nuaufl.ads - a-nashfl.ads - s-inmaop.adb - s-interr.adb - s-intman.ads - s-intman.adb - s-osinte.adb - s-osinte.ads - s-osprim.adb - s-parame.ads - s-parame.adb - s-stchop.ads - s-stchop.adb - s-taprop.adb - s-tasinf.ads - s-taspri.ads - s-vxwork.ads - g-socthi.ads - g-socthi.adb - g-stsifd.adb + SVX=system-$(VX) > >TOOLS_TARGET_PAIRS=indepsw.adb > @@ -1495,9 +1505,8 @@ ifeq ($(strip $(filter-out aarch64 arm% coff wrs > vx%,$(target_cpu) $(target_vend > endif >endif > > - EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o \ > -s-stchop.o > - EXTRA_GNATRTL_TASKING_OBJS=i-vxinco.o s-vxwork.o s-vxwext.o > + EXTRA_GNATRTL_NONTASKING_OBJS += i-vxwork.o i-vxwoio.o s-stchop.o > + EXTRA_GNATRTL_TASKING_OBJS += i-vxinco.o s-vxwork.o s-vxwext.o > >EXTRA_LIBGNAT_OBJS+=vx_stack_info.o > > @@ -1560,10 +1569,12 @@ ifeq ($(strip $(filter-out aarch64 %qnx,$(target_cpu) > $(target_os))),) >g-soliop.ads$(ATOMICS_TARGET_PAIRS) \ >