summaryrefslogtreecommitdiff
path: root/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch
diff options
context:
space:
mode:
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.dpatch257
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;