diff options
Diffstat (limited to 'recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch')
-rw-r--r-- | recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch b/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch new file mode 100644 index 0000000000..db9a229c40 --- /dev/null +++ b/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch @@ -0,0 +1,257 @@ +#! /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<a-intnam-linux.ads \ ++ s-inmaop.adb<s-inmaop-posix.adb \ ++ s-intman.adb<s-intman-posix.adb \ ++ s-osinte.adb<s-osinte-posix.adb \ ++ s-osinte.ads<s-osinte-linux.ads \ ++ s-osprim.adb<s-osprim-posix.adb \ ++ s-taprop.adb<s-taprop-linux.adb \ ++ s-taspri.ads<s-taspri-linux.ads \ ++ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ ++ s-parame.adb<s-parame-linux.adb \ ++ system.ads<system-linux-ppc64.ads ++ ++ TOOLS_TARGET_PAIRS = \ ++ mlib-tgt.adb<mlib-tgt-linux.adb \ ++ indepsw.adb<indepsw-linux.adb ++ ++ THREADSLIB = -lpthread ++ GNATLIB_SHARED = gnatlib-shared-dual ++ GMEM_LIB = gmemlib ++ PREFIX_OBJS = $(PREFIX_REAL_OBJS) ++ LIBRARY_VERSION := $(LIB_VERSION) ++endif ++ + ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),) + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads<a-intnam-linux.ads \ +diff -urN src.orig/gcc/ada/system-linux-ppc64.ads src/gcc/ada/system-linux-ppc64.ads +--- src.orig/gcc/ada/system-linux-ppc64.ads 1970-01-01 01:00:00.000000000 +0100 ++++ src/gcc/ada/system-linux-ppc64.ads 2005-05-02 16:33:38.000000000 +0200 +@@ -0,0 +1,151 @@ ++------------------------------------------------------------------------------ ++-- -- ++-- GNAT RUN-TIME COMPONENTS -- ++-- -- ++-- S Y S T E M -- ++-- -- ++-- S p e c -- ++-- (GNU-Linux/PPC64 Version) -- ++-- -- ++-- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- ++-- -- ++-- This specification is derived from the Ada Reference Manual for use with -- ++-- GNAT. The copyright notice above, and the license provisions that follow -- ++-- apply solely to the contents of the part following the private keyword. -- ++-- -- ++-- GNAT is free software; you can redistribute it and/or modify it under -- ++-- terms of the GNU General Public License as published by the Free Soft- -- ++-- ware Foundation; either version 2, or (at your option) any later ver- -- ++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- ++-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- ++-- for more details. You should have received a copy of the GNU General -- ++-- Public License distributed with GNAT; see file COPYING. If not, write -- ++-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- ++-- MA 02111-1307, USA. -- ++-- -- ++-- As a special exception, if other files instantiate generics from this -- ++-- unit, or you link this unit with other files to produce an executable, -- ++-- this unit does not by itself cause the resulting executable to be -- ++-- covered by the GNU General Public License. This exception does not -- ++-- however invalidate any other reasons why the executable file might be -- ++-- covered by the GNU Public License. -- ++-- -- ++-- GNAT was originally developed by the GNAT team at New York University. -- ++-- Extensive contributions were provided by Ada Core Technologies Inc. -- ++-- -- ++------------------------------------------------------------------------------ ++ ++package System is ++pragma Pure (System); ++-- Note that we take advantage of the implementation permission to ++-- make this unit Pure instead of Preelaborable, see RM 13.7(36) ++ ++ type Name is (SYSTEM_NAME_GNAT); ++ System_Name : constant Name := SYSTEM_NAME_GNAT; ++ ++ -- System-Dependent Named Numbers ++ ++ Min_Int : constant := Long_Long_Integer'First; ++ Max_Int : constant := Long_Long_Integer'Last; ++ ++ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size; ++ Max_Nonbinary_Modulus : constant := Integer'Last; ++ ++ Max_Base_Digits : constant := Long_Long_Float'Digits; ++ Max_Digits : constant := Long_Long_Float'Digits; ++ ++ Max_Mantissa : constant := 63; ++ Fine_Delta : constant := 2.0 ** (-Max_Mantissa); ++ ++ Tick : constant := 0.000_001; ++ ++ -- Storage-related Declarations ++ ++ type Address is private; ++ Null_Address : constant Address; ++ ++ Storage_Unit : constant := 8; ++ Word_Size : constant := 64; ++ Memory_Size : constant := 2 ** 64; ++ ++ -- Address comparison ++ ++ function "<" (Left, Right : Address) return Boolean; ++ function "<=" (Left, Right : Address) return Boolean; ++ function ">" (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; |