#! /bin/sh -e # DP: Add gcc/ada/system-linux-ppc64.ads and use it in gcc/ada/Makefile.in # DP: dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0 ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 diff -urN src.orig/gcc/ada/Makefile.in src/gcc/ada/Makefile.in --- src.orig/gcc/ada/Makefile.in 2005-05-02 16:39:32.000000000 +0200 +++ src/gcc/ada/Makefile.in 2005-05-02 16:36:37.000000000 +0200 @@ -1346,6 +1346,31 @@ LIBRARY_VERSION := $(LIB_VERSION) endif +ifeq ($(strip $(filter-out powerpc64% linux%,$(arch) $(osys))),) + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads" (Left, Right : Address) return Boolean; + function ">=" (Left, Right : Address) return Boolean; + function "=" (Left, Right : Address) return Boolean; + + pragma Import (Intrinsic, "<"); + pragma Import (Intrinsic, "<="); + pragma Import (Intrinsic, ">"); + pragma Import (Intrinsic, ">="); + pragma Import (Intrinsic, "="); + + -- Other System-Dependent Declarations + + type Bit_Order is (High_Order_First, Low_Order_First); + Default_Bit_Order : constant Bit_Order := High_Order_First; + + -- Priority-related Declarations (RM D.1) + + Max_Priority : constant Positive := 30; + Max_Interrupt_Priority : constant Positive := 31; + + subtype Any_Priority is Integer range 0 .. 31; + subtype Priority is Any_Priority range 0 .. 30; + subtype Interrupt_Priority is Any_Priority range 31 .. 31; + + Default_Priority : constant Priority := 15; + +private + + type Address is mod Memory_Size; + Null_Address : constant Address := 0; + + -------------------------------------- + -- System Implementation Parameters -- + -------------------------------------- + + -- These parameters provide information about the target that is used + -- by the compiler. They are in the private part of System, where they + -- can be accessed using the special circuitry in the Targparm unit + -- whose source should be consulted for more detailed descriptions + -- of the individual switch values. + + AAMP : constant Boolean := False; + Backend_Divide_Checks : constant Boolean := False; + Backend_Overflow_Checks : constant Boolean := False; + Command_Line_Args : constant Boolean := True; + Configurable_Run_Time : constant Boolean := False; + Denorm : constant Boolean := True; + Duration_32_Bits : constant Boolean := False; + Exit_Status_Supported : constant Boolean := True; + Fractional_Fixed_Ops : constant Boolean := False; + Frontend_Layout : constant Boolean := False; + Functions_Return_By_DSP : constant Boolean := False; + Machine_Overflows : constant Boolean := False; + Machine_Rounds : constant Boolean := True; + OpenVMS : constant Boolean := False; + Preallocated_Stacks : constant Boolean := False; + Signed_Zeros : constant Boolean := True; + Stack_Check_Default : constant Boolean := False; + Stack_Check_Probes : constant Boolean := False; + Support_64_Bit_Divides : constant Boolean := True; + Support_Aggregates : constant Boolean := True; + Support_Composite_Assign : constant Boolean := True; + Support_Composite_Compare : constant Boolean := True; + Support_Long_Shifts : constant Boolean := True; + Suppress_Standard_Library : constant Boolean := False; + Use_Ada_Main_Program_Name : constant Boolean := False; + ZCX_By_Default : constant Boolean := True; + GCC_ZCX_Support : constant Boolean := True; + Front_End_ZCX_Support : constant Boolean := False; + + -- Obsolete entries, to be removed eventually (bootstrap issues!) + + High_Integrity_Mode : constant Boolean := False; + Long_Shifts_Inlined : constant Boolean := True; + +end System; diff -urN tmp/gcc/ada/s-auxdec.ads src/gcc/ada/s-auxdec.ads --- tmp/gcc/ada/s-auxdec.ads 2004-06-11 12:47:36.000000000 +0200 +++ src/gcc/ada/s-auxdec.ads 2005-05-03 11:34:17.000000000 +0200 @@ -108,13 +108,13 @@ pragma Warnings (Off); type F_Float is digits 6; - pragma Float_Representation (VAX_Float, F_Float); +-- pragma Float_Representation (VAX_Float, F_Float); type D_Float is digits 9; - pragma Float_Representation (Vax_Float, D_Float); +-- pragma Float_Representation (Vax_Float, D_Float); type G_Float is digits 15; - pragma Float_Representation (Vax_Float, G_Float); +-- pragma Float_Representation (Vax_Float, G_Float); -- Floating point type declarations for IEEE floating point data types --- tmp/gcc/ada/s-vaflop.ads 2003-10-21 15:42:18.000000000 +0200 +++ src/gcc/ada/s-vaflop.ads 2005-05-03 15:24:24.000000000 +0200 @@ -40,15 +40,15 @@ -- Suppress warnings if not on Alpha/VAX type D is digits 9; - pragma Float_Representation (VAX_Float, D); +-- pragma Float_Representation (VAX_Float, D); -- D Float type on Vax type G is digits 15; - pragma Float_Representation (VAX_Float, G); +-- pragma Float_Representation (VAX_Float, G); -- G Float type on Vax type F is digits 6; - pragma Float_Representation (VAX_Float, F); +-- pragma Float_Representation (VAX_Float, F); -- F Float type on Vax type S is digits 6;