]> git.pld-linux.org Git - packages/crossppc-gcc.git/blob - gcc-ada-link.patch
- more
[packages/crossppc-gcc.git] / gcc-ada-link.patch
1 --- gcc-4.0-20040919/gcc/ada/link.c.orig        2004-09-13 12:18:40.000000000 +0200
2 +++ gcc-4.0-20040919/gcc/ada/link.c     2004-09-26 12:24:29.079704096 +0200
3 @@ -164,9 +164,9 @@
4  
5  #elif defined (linux)
6  const char *__gnat_object_file_option = "";
7 -const char *__gnat_run_path_option = "-Wl,-rpath,";
8 -char __gnat_shared_libgnat_default = STATIC;
9 -int __gnat_link_max = 8192;
10 +const char *__gnat_run_path_option = "";
11 +char __gnat_shared_libgnat_default = SHARED;
12 +int __gnat_link_max = 131072;
13  unsigned char __gnat_objlist_file_supported = 1;
14  unsigned char __gnat_using_gnu_linker = 1;
15  const char *__gnat_object_library_extension = ".a";
16 --- gcc-4.1-20050522/gcc/ada/Makefile.in.orig   2005-05-26 10:48:40.000000000 +0000
17 +++ gcc-4.1-20050522/gcc/ada/Makefile.in        2005-05-26 10:59:25.000000000 +0000
18 @@ -139,7 +139,7 @@
19  objext = .o
20  exeext =
21  arext  = .a
22 -soext  = .so
23 +soext  = .so.1
24  shext  =
25  hyphen = -
26  
27 @@ -1180,6 +1180,31 @@
28    LIBRARY_VERSION := $(LIB_VERSION)
29  endif
30  
31 +ifeq ($(strip $(filter-out sparc64% linux%,$(arch) $(osys))),)
32 +  LIBGNAT_TARGET_PAIRS = \
33 +  a-intnam.ads<a-intnam-linux.ads \
34 +  s-inmaop.adb<s-inmaop-posix.adb \
35 +  s-intman.adb<s-intman-posix.adb \
36 +  s-osinte.adb<s-osinte-posix.adb \
37 +  s-osinte.ads<s-osinte-linux.ads \
38 +  s-osprim.adb<s-osprim-posix.adb \
39 +  s-taprop.adb<s-taprop-linux.adb \
40 +  s-taspri.ads<s-taspri-linux.ads \
41 +  s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
42 +  s-parame.adb<s-parame-linux.adb \
43 +  system.ads<system-linux-sparc64.ads
44 +
45 +  TOOLS_TARGET_PAIRS =  \
46 +    mlib-tgt.adb<mlib-tgt-linux.adb \
47 +    indepsw.adb<indepsw-linux.adb
48 +
49 +  THREADSLIB = -lpthread
50 +  GNATLIB_SHARED = gnatlib-shared-dual
51 +  GMEM_LIB = gmemlib
52 +  PREFIX_OBJS = $(PREFIX_REAL_OBJS)
53 +  LIBRARY_VERSION := $(LIB_VERSION)
54 +endif
55 +
56  ifeq ($(strip $(filter-out hppa% linux%,$(arch) $(osys))),)
57    LIBGNAT_TARGET_PAIRS = \
58    a-intnam.ads<a-intnam-linux.ads \
59 @@ -1287,6 +1312,31 @@
60    LIBRARY_VERSION := $(LIB_VERSION)
61  endif
62  
63 +ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
64 +  LIBGNAT_TARGET_PAIRS = \
65 +  a-intnam.ads<a-intnam-linux.ads \
66 +  s-inmaop.adb<s-inmaop-posix.adb \
67 +  s-intman.adb<s-intman-posix.adb \
68 +  s-osinte.adb<s-osinte-posix.adb \
69 +  s-osinte.ads<s-osinte-linux.ads \
70 +  s-osprim.adb<s-osprim-posix.adb \
71 +  s-taprop.adb<s-taprop-linux.adb \
72 +  s-taspri.ads<s-taspri-linux.ads \
73 +  s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
74 +  s-parame.adb<s-parame-linux.adb \
75 +  system.ads<system-linux-sparc.ads
76 +
77 +  TOOLS_TARGET_PAIRS =  \
78 +    mlib-tgt.adb<mlib-tgt-linux.adb \
79 +    indepsw.adb<indepsw-linux.adb
80 +
81 +  THREADSLIB = -lpthread
82 +  GNATLIB_SHARED = gnatlib-shared-dual
83 +  GMEM_LIB = gmemlib
84 +  PREFIX_OBJS = $(PREFIX_REAL_OBJS)
85 +  LIBRARY_VERSION := $(LIB_VERSION)
86 +endif
87 +
88  ifeq ($(strip $(filter-out powerpc darwin%,$(arch) $(osys))),)
89    LIBGNAT_TARGET_PAIRS = \
90    a-intnam.ads<a-intnam-darwin.ads \
91 @@ -1364,7 +1414,7 @@
92   s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads  
93  
94  LIBGNAT=../rts/libgnat.a 
95 -GCC_LINK="$(CC) -static-libgcc $(ADA_INCLUDES)"
96 +GCC_LINK="$(CC) $(ADA_INCLUDES)"
97  
98  # when compiling the tools, the runtime has to be first on the path so that
99  # it hides the runtime files lying with the rest of the sources
100 @@ -1644,7 +1694,8 @@
101                 -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
102                 $(GNATRTL_TASKING_OBJS) \
103                 $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
104 -               $(THREADSLIB)
105 +               $(THREADSLIB) \
106 +               ./libgnat-$(LIBRARY_VERSION)$(soext)
107         cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
108                 libgnat$(soext)
109         cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
110 @@ -1691,7 +1742,7 @@
111              THREAD_KIND="$(THREAD_KIND)" \
112               gnatlib
113         $(RM) rts/libgna*$(soext)
114 -       cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
115 +       cd rts; ../../xgcc -B../../ -shared -shared-libgcc $(TARGET_LIBGCC2_CFLAGS) \
116                 -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
117                 $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
118                 $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
119 --- gcc-4.0-20050514/gcc/ada.orig/system-linux-sparc64.ads      1970-01-01 00:00:00.000000000 +0000
120 +++ gcc-4.0-20050514/gcc/ada/system-linux-sparc64.ads   2005-05-21 18:34:52.000000000 +0000
121 @@ -0,0 +1,151 @@
122 +------------------------------------------------------------------------------
123 +--                                                                          --
124 +--                        GNAT RUN-TIME COMPONENTS                          --
125 +--                                                                          --
126 +--                               S Y S T E M                                --
127 +--                                                                          --
128 +--                                 S p e c                                  --
129 +--                          (GNU/Linux-SPARC64 Version)                     --
130 +--                                                                          --
131 +--          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
132 +--                                                                          --
133 +-- This specification is derived from the Ada Reference Manual for use with --
134 +-- GNAT. The copyright notice above, and the license provisions that follow --
135 +-- apply solely to the  contents of the part following the private keyword. --
136 +--                                                                          --
137 +-- GNAT is free software;  you can  redistribute it  and/or modify it under --
138 +-- terms of the  GNU General Public License as published  by the Free Soft- --
139 +-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
140 +-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
141 +-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
142 +-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
143 +-- for  more details.  You should have  received  a copy of the GNU General --
144 +-- Public License  distributed with GNAT;  see file COPYING.  If not, write --
145 +-- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
146 +-- MA 02111-1307, USA.                                                      --
147 +--                                                                          --
148 +-- As a special exception,  if other files  instantiate  generics from this --
149 +-- unit, or you link  this unit with other files  to produce an executable, --
150 +-- this  unit  does not  by itself cause  the resulting  executable  to  be --
151 +-- covered  by the  GNU  General  Public  License.  This exception does not --
152 +-- however invalidate  any other reasons why  the executable file  might be --
153 +-- covered by the  GNU Public License.                                      --
154 +--                                                                          --
155 +-- GNAT was originally developed  by the GNAT team at  New York University. --
156 +-- Extensive contributions were provided by Ada Core Technologies Inc.      --
157 +--                                                                          --
158 +------------------------------------------------------------------------------
159 +
160 +package System is
161 +pragma Pure (System);
162 +--  Note that we take advantage of the implementation permission to
163 +--  make this unit Pure instead of Preelaborable, see RM 13.7(36)
164 +
165 +   type Name is (SYSTEM_NAME_GNAT);
166 +   System_Name : constant Name := SYSTEM_NAME_GNAT;
167 +
168 +   --  System-Dependent Named Numbers
169 +
170 +   Min_Int               : constant := Long_Long_Integer'First;
171 +   Max_Int               : constant := Long_Long_Integer'Last;
172 +
173 +   Max_Binary_Modulus    : constant := 2 ** Long_Long_Integer'Size;
174 +   Max_Nonbinary_Modulus : constant := Integer'Last;
175 +
176 +   Max_Base_Digits       : constant := Long_Long_Float'Digits;
177 +   Max_Digits            : constant := Long_Long_Float'Digits;
178 +
179 +   Max_Mantissa          : constant := 63;
180 +   Fine_Delta            : constant := 2.0 ** (-Max_Mantissa);
181 +
182 +   Tick                  : constant := 0.000_001;
183 +
184 +   --  Storage-related Declarations
185 +
186 +   type Address is private;
187 +   Null_Address : constant Address;
188 +
189 +   Storage_Unit : constant := 8;
190 +   Word_Size    : constant := 64;
191 +   Memory_Size  : constant := 2 ** 64;
192 +
193 +   --  Address comparison
194 +
195 +   function "<"  (Left, Right : Address) return Boolean;
196 +   function "<=" (Left, Right : Address) return Boolean;
197 +   function ">"  (Left, Right : Address) return Boolean;
198 +   function ">=" (Left, Right : Address) return Boolean;
199 +   function "="  (Left, Right : Address) return Boolean;
200 +
201 +   pragma Import (Intrinsic, "<");
202 +   pragma Import (Intrinsic, "<=");
203 +   pragma Import (Intrinsic, ">");
204 +   pragma Import (Intrinsic, ">=");
205 +   pragma Import (Intrinsic, "=");
206 +
207 +   --  Other System-Dependent Declarations
208 +
209 +   type Bit_Order is (High_Order_First, Low_Order_First);
210 +   Default_Bit_Order : constant Bit_Order := High_Order_First;
211 +
212 +   --  Priority-related Declarations (RM D.1)
213 +
214 +   Max_Priority           : constant Positive := 30;
215 +   Max_Interrupt_Priority : constant Positive := 31;
216 +
217 +   subtype Any_Priority       is Integer      range  0 .. 31;
218 +   subtype Priority           is Any_Priority range  0 .. 30;
219 +   subtype Interrupt_Priority is Any_Priority range 31 .. 31;
220 +
221 +   Default_Priority : constant Priority := 15;
222 +
223 +private
224 +
225 +   type Address is mod Memory_Size;
226 +   Null_Address : constant Address := 0;
227 +
228 +   --------------------------------------
229 +   -- System Implementation Parameters --
230 +   --------------------------------------
231 +
232 +   --  These parameters provide information about the target that is used
233 +   --  by the compiler. They are in the private part of System, where they
234 +   --  can be accessed using the special circuitry in the Targparm unit
235 +   --  whose source should be consulted for more detailed descriptions
236 +   --  of the individual switch values.
237 +
238 +   AAMP                      : constant Boolean := False;
239 +   Backend_Divide_Checks     : constant Boolean := False;
240 +   Backend_Overflow_Checks   : constant Boolean := False;
241 +   Command_Line_Args         : constant Boolean := True;
242 +   Configurable_Run_Time     : constant Boolean := False;
243 +   Denorm                    : constant Boolean := True;
244 +   Duration_32_Bits          : constant Boolean := False;
245 +   Exit_Status_Supported     : constant Boolean := True;
246 +   Fractional_Fixed_Ops      : constant Boolean := False;
247 +   Frontend_Layout           : constant Boolean := False;
248 +   Functions_Return_By_DSP   : constant Boolean := False;
249 +   Machine_Overflows         : constant Boolean := False;
250 +   Machine_Rounds            : constant Boolean := True;
251 +   OpenVMS                   : constant Boolean := False;
252 +   Preallocated_Stacks       : constant Boolean := False;
253 +   Signed_Zeros              : constant Boolean := True;
254 +   Stack_Check_Default       : constant Boolean := False;
255 +   Stack_Check_Probes        : constant Boolean := False;
256 +   Support_64_Bit_Divides    : constant Boolean := True;
257 +   Support_Aggregates        : constant Boolean := True;
258 +   Support_Composite_Assign  : constant Boolean := True;
259 +   Support_Composite_Compare : constant Boolean := True;
260 +   Support_Long_Shifts       : constant Boolean := True;
261 +   Suppress_Standard_Library : constant Boolean := False;
262 +   Use_Ada_Main_Program_Name : constant Boolean := False;
263 +   ZCX_By_Default            : constant Boolean := True;
264 +   GCC_ZCX_Support           : constant Boolean := True;
265 +   Front_End_ZCX_Support     : constant Boolean := False;
266 +
267 +   --  Obsolete entries, to be removed eventually (bootstrap issues!)
268 +
269 +   High_Integrity_Mode       : constant Boolean := False;
270 +   Long_Shifts_Inlined       : constant Boolean := True;
271 +
272 +end System;
This page took 0.053632 seconds and 3 git commands to generate.