]> git.pld-linux.org Git - packages/gcc.git/blobdiff - gcc-ada-link.patch
- updated to 4.1.0-20050921T0223UTC.
[packages/gcc.git] / gcc-ada-link.patch
index 339e870d6a83a5b71c0d5c088022ca5185b06b66..63d4aa5bc1aba241eab3dc7a7e46769a10217f45 100644 (file)
---- gcc-3.4.0/gcc/ada/link.c.orig      Mon Jan 12 12:45:24 2004
-+++ gcc-3.4.0/gcc/ada/link.c   Tue Jun  1 15:57:42 2004
-@@ -165,9 +165,9 @@
+--- gcc-4.0-20040919/gcc/ada/link.c.orig       2004-09-13 12:18:40.000000000 +0200
++++ gcc-4.0-20040919/gcc/ada/link.c    2004-09-26 12:24:29.079704096 +0200
+@@ -164,9 +164,9 @@
  
  #elif defined (linux)
- const char *object_file_option = "";
--const char *run_path_option = "-Wl,-rpath,";
--char shared_libgnat_default = STATIC;
--int link_max = 8192;
-+const char *run_path_option = "";
-+char shared_libgnat_default = SHARED;
-+int link_max = 131072;
- unsigned char objlist_file_supported = 1;
- unsigned char using_gnu_linker = 1;
- const char *object_library_extension = ".a";
---- gcc-3.4.0/gcc/ada/Makefile.in.orig Mon Apr 26 11:19:09 2004
-+++ gcc-3.4.0/gcc/ada/Makefile.in      Tue Jun  1 15:58:33 2004
-@@ -142,7 +142,7 @@
+ const char *__gnat_object_file_option = "";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
+-int __gnat_link_max = 8192;
++const char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
++int __gnat_link_max = 131072;
+ unsigned char __gnat_objlist_file_supported = 1;
+ unsigned char __gnat_using_gnu_linker = 1;
+ const char *__gnat_object_library_extension = ".a";
+--- gcc-4.1-20050522/gcc/ada/Makefile.in.orig  2005-05-26 10:48:40.000000000 +0000
++++ gcc-4.1-20050522/gcc/ada/Makefile.in       2005-05-26 10:59:25.000000000 +0000
+@@ -139,7 +139,7 @@
  objext = .o
  exeext =
  arext  = .a
 -soext  = .so
 +soext  = .so.1
  shext  =
+ hyphen = -
  
- # Define this as & to perform parallel make on a Sequent.
-@@ -1269,6 +1269,90 @@
+@@ -1367,6 +1367,31 @@
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
  
-+ifeq ($(strip $(filter-out alpha% linux%,$(arch) $(osys))),)
++ifeq ($(strip $(filter-out sparc64% linux%,$(arch) $(osys))),)
 +  LIBGNAT_TARGET_PAIRS = \
-+  a-intnam.ads<4lintnam.ads \
-+  s-inmaop.adb<7sinmaop.adb \
-+  s-intman.adb<7sintman.adb \
-+  s-osinte.ads<5iosinte.ads \
-+  s-osinte.adb<5iosinte.adb \
-+  s-osprim.adb<7sosprim.adb \
-+  s-taprop.adb<5itaprop.adb \
-+  s-tpopsp.adb<5atpopsp.adb \
-+  s-taspri.ads<5itaspri.ads \
-+  system.ads<5nsystem.ads
-+  TOOLS_TARGET_PAIRS=mlib-tgt.adb<5lml-tgt.adb
-+  THREADSLIB=-lpthread
-+  GNATLIB_SHARED=gnatlib-shared-dual
-+  PREFIX_OBJS=$(PREFIX_REAL_OBJS)
-+  LIBRARY_VERSION := $(LIB_VERSION)
-+endif
++  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-sparc64.ads
 +
-+ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
-+  LIBGNAT_TARGET_PAIRS = \
-+  a-intnam.ads<4lintnam.ads \
-+  s-inmaop.adb<7sinmaop.adb \
-+  s-intman.adb<7sintman.adb \
-+  s-osinte.ads<5iosinte.ads \
-+  s-osinte.adb<5iosinte.adb \
-+  s-osprim.adb<7sosprim.adb \
-+  s-taprop.adb<5itaprop.adb \
-+  s-tpopsp.adb<5atpopsp.adb \
-+  s-taspri.ads<5itaspri.ads
-+#  system.ads<5ssystem.ads  (Tick and Stack_Check_Probes differ)
-+  TOOLS_TARGET_PAIRS=mlib-tgt.adb<5lml-tgt.adb
-+  THREADSLIB=-lpthread
-+  GNATLIB_SHARED=gnatlib-shared-dual
-+  PREFIX_OBJS=$(PREFIX_REAL_OBJS)
-+  LIBRARY_VERSION := $(LIB_VERSION)
-+endif
++  TOOLS_TARGET_PAIRS =  \
++    mlib-tgt.adb<mlib-tgt-linux.adb \
++    indepsw.adb<indepsw-linux.adb
 +
-+ifeq ($(strip $(filter-out ppc% linux%,$(arch) $(osys))),)
-+  LIBGNAT_TARGET_PAIRS = \
-+  a-intnam.ads<4lintnam.ads \
-+  s-inmaop.adb<7sinmaop.adb \
-+  s-intman.adb<7sintman.adb \
-+  s-osinte.ads<5iosinte.ads \
-+  s-osinte.adb<5iosinte.adb \
-+  s-osprim.adb<7sosprim.adb \
-+  s-taprop.adb<5itaprop.adb \
-+  s-tpopsp.adb<5atpopsp.adb \
-+  s-taspri.ads<5itaspri.ads
-+#  system.ads<59system.ads  (???)
-+  TOOLS_TARGET_PAIRS=mlib-tgt.adb<5lml-tgt.adb
-+  THREADSLIB=-lpthread
-+  GNATLIB_SHARED=gnatlib-shared-dual
-+  PREFIX_OBJS=$(PREFIX_REAL_OBJS)
++  THREADSLIB = -lpthread
++  GNATLIB_SHARED = gnatlib-shared-dual
++  GMEM_LIB = gmemlib
++  PREFIX_OBJS = $(PREFIX_REAL_OBJS)
 +  LIBRARY_VERSION := $(LIB_VERSION)
 +endif
 +
-+ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
+ ifeq ($(strip $(filter-out hppa% linux%,$(arch) $(osys))),)
+   LIBGNAT_TARGET_PAIRS = \
+   a-intnam.ads<a-intnam-linux.ads \
+@@ -1468,6 +1493,31 @@
+   LIBRARY_VERSION := $(LIB_VERSION)
+ endif
++ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
 +  LIBGNAT_TARGET_PAIRS = \
-+  a-intnam.ads<4lintnam.ads \
-+  s-inmaop.adb<7sinmaop.adb \
-+  s-intman.adb<7sintman.adb \
-+  s-osinte.ads<5iosinte.ads \
-+  s-osinte.adb<5iosinte.adb \
-+  s-osprim.adb<7sosprim.adb \
-+  s-taprop.adb<5itaprop.adb \
-+  s-tpopsp.adb<5atpopsp.adb \
-+  s-taspri.ads<5itaspri.ads
-+#  system.ads<59system.ads  (???)
-+  TOOLS_TARGET_PAIRS=mlib-tgt.adb<5lml-tgt.adb
-+  THREADSLIB=-lpthread
-+  GNATLIB_SHARED=gnatlib-shared-dual
-+  PREFIX_OBJS=$(PREFIX_REAL_OBJS)
-+  LIBRARY_VERSION := $(LIB_VERSION)
-+endif
++  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-sparc.ads
++
++  TOOLS_TARGET_PAIRS =  \
++    mlib-tgt.adb<mlib-tgt-linux.adb \
++    indepsw.adb<indepsw-linux.adb
 +
-+ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),)
-+  TOOLS_TARGET_PAIRS=mlib-tgt.adb<5lml-tgt.adb
-+  THREADSLIB=-lpthread
-+  GNATLIB_SHARED=gnatlib-shared-dual
-+  PREFIX_OBJS=$(PREFIX_REAL_OBJS)
++  THREADSLIB = -lpthread
++  GNATLIB_SHARED = gnatlib-shared-dual
++  GMEM_LIB = gmemlib
++  PREFIX_OBJS = $(PREFIX_REAL_OBJS)
 +  LIBRARY_VERSION := $(LIB_VERSION)
 +endif
 +
- ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
+ ifeq ($(strip $(filter-out powerpc darwin%,$(arch) $(osys))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-intnam.ads<4lintnam.ads \
-@@ -1767,6 +1840,9 @@
- # is guaranteed to overflow the buffer.
+   a-intnam.ads<a-intnam-darwin.ads \
+@@ -1763,6 +1813,9 @@
+ GCC_FOR_TARGET=./xgcc -B./ $(FLAGS_FOR_TARGET)
  
  gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2
 +      $(RMDIR) save
 +      $(MKDIR) save
 +      $(MV) *.o save/
-       $(MAKE) -C rts CC="../../xgcc -B../../" \
-               INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
-                 CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
-@@ -1779,6 +1855,8 @@
+       $(MAKE) -C rts \
+               CC="`echo \"$(GCC_FOR_TARGET)\" \
+               | sed -e 's^./xgcc^../../xgcc^' -e 's^-B./^-B../../^'`" \
+@@ -1779,6 +1832,8 @@
                srcdir=$(fsrcdir) \
                -f ../Makefile \
                $(GNATRTL_OBJS)
        $(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
        $(AR) $(AR_FLAGS) rts/libgnat$(arext) \
           $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
-@@ -1891,14 +1969,15 @@
+@@ -1816,7 +1871,8 @@
+               -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+               $(GNATRTL_TASKING_OBJS) \
+               $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+-              $(THREADSLIB)
++              $(THREADSLIB) \
++              ./libgnat-$(LIBRARY_VERSION)$(soext)
+       cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+               libgnat$(soext)
+       cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+@@ -1863,7 +1919,7 @@
             THREAD_KIND="$(THREAD_KIND)" \
               gnatlib
-       $(RM) rts/libgnat$(soext) rts/libgnarl$(soext)
+       $(RM) rts/libgna*$(soext)
 -      cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
 +      cd rts; ../../xgcc -B../../ -shared -shared-libgcc $(TARGET_LIBGCC2_CFLAGS) \
-               -o libgnat-$(LIBRARY_VERSION)$(soext) \
+               -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
                $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
-               $(SO_OPTS)libgnat-$(LIBRARY_VERSION)$(soext) $(MISCLIB) -lm
-       cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
-               -o libgnarl-$(LIBRARY_VERSION)$(soext) \
-               $(GNATRTL_TASKING_OBJS) \
--              $(SO_OPTS)libgnarl-$(LIBRARY_VERSION)$(soext) $(THREADSLIB)
-+              $(SO_OPTS)libgnarl-$(LIBRARY_VERSION)$(soext) $(THREADSLIB) \
-+              ./libgnat-$(LIBRARY_VERSION)$(soext)
-       cd rts; $(LN_S) libgnat-$(LIBRARY_VERSION)$(soext) libgnat$(soext)
-       cd rts; $(LN_S) libgnarl-$(LIBRARY_VERSION)$(soext) libgnarl$(soext)
+               $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
+--- gcc-4.0-20050514/gcc/ada.orig/system-linux-sparc64.ads     1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.0-20050514/gcc/ada/system-linux-sparc64.ads  2005-05-21 18:34:52.000000000 +0000
+@@ -0,0 +1,151 @@
++------------------------------------------------------------------------------
++--                                                                          --
++--                        GNAT RUN-TIME COMPONENTS                          --
++--                                                                          --
++--                               S Y S T E M                                --
++--                                                                          --
++--                                 S p e c                                  --
++--                          (GNU/Linux-SPARC64 Version)                     --
++--                                                                          --
++--          Copyright (C) 1992-2005 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;
This page took 0.054023 seconds and 4 git commands to generate.