Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-12-07 Thread Maciej W. Rozycki
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

2020-12-03 Thread Andreas Schwab
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

2020-11-20 Thread Maciej W. Rozycki
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

2020-11-18 Thread Eric Botcazou
> 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

2020-11-18 Thread Matthias Klose
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

2020-10-23 Thread Eric Botcazou
> 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

2020-10-23 Thread Andreas Schwab
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

2020-10-23 Thread Eric Botcazou
> /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

2020-10-23 Thread Andreas Schwab
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) \
>