aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@gcc.gnu.org>2003-11-14 14:56:34 +0100
committerAndreas Jaeger <aj@gcc.gnu.org>2003-11-14 14:56:34 +0100
commitc004039774bc90cc11291d7820d21c18239519fd (patch)
treeaf533caa9ee99838462ca739423dc94349410901 /gcc
parent4a4fe537ec08392158e25943044eeae99461f0cc (diff)
downloadgcc-c004039774bc90cc11291d7820d21c18239519fd.zip
gcc-c004039774bc90cc11291d7820d21c18239519fd.tar.gz
gcc-c004039774bc90cc11291d7820d21c18239519fd.tar.bz2
Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
* Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux. * 5nsystem.ads: New file for x86_64-linux-gnu. From-SVN: r73606
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/5nsystem.ads150
-rw-r--r--gcc/ada/ChangeLog68
-rw-r--r--gcc/ada/Makefile.in21
3 files changed, 208 insertions, 31 deletions
diff --git a/gcc/ada/5nsystem.ads b/gcc/ada/5nsystem.ads
new file mode 100644
index 0000000..37a495d
--- /dev/null
+++ b/gcc/ada/5nsystem.ads
@@ -0,0 +1,150 @@
+------------------------------------------------------------------------------
+-- --
+-- GNAT RUN-TIME COMPONENTS --
+-- --
+-- S Y S T E M --
+-- --
+-- S p e c --
+-- (GNU-Linux/x86-64 Version) --
+-- --
+-- Copyright (C) 1992-2003 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 := Low_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;
+ 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 --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index c905446..0a8ba69 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2003-11-14 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
+
+ * 5nsystem.ads: New file for x86_64-linux-gnu.
+
2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
* nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
@@ -15,28 +21,28 @@
Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
instead of Sdefault.Object_Dir_Default_Name
- * gnatlink.adb:
+ * gnatlink.adb:
(Process_Binder_File): Never suppress the option following -Xlinker
- * mdll-utl.adb:
+ * mdll-utl.adb:
(Gcc): Use Osint.Object_Dir_Default_Prefix instead of
Sdefault.Object_Dir_Default_Name.
- * osint.ads, osint.adb:
+ * osint.ads, osint.adb:
(Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
Minor reformatting.
* vms_conv.ads: Minor reformating
Remove GNAT STANDARD and GNAT PSTA
- * vms_conv.adb:
+ * vms_conv.adb:
Allow GNAT MAKE to have several files on the command line.
(Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
Sdefault.Object_Dir_Default_Name.
Minor Reformating
Remove data for GNAT STANDARD
- * vms_data.ads:
+ * vms_data.ads:
Add new compiler qualifier /PRINT_STANDARD (-gnatS)
Remove data for GNAT STANDARD
Remove options and documentation for -gnatwb/-gnatwB: these warning
@@ -46,21 +52,21 @@
* 5zthrini.adb: (Init_RTS): Made visible
- * 5zthrini.adb:
+ * 5zthrini.adb:
(Register): Removed unnecessary call to taskVarGet that checked whether
an ATSD was already set as a task var for the argument thread.
- * s-thread.adb:
+ * s-thread.adb:
Updated comment to reflect that this is a VxWorks version
Added context clause for System.Threads.Initialization
Added call to System.Threads.Initialization.Init_RTS
2003-11-13 Jerome Guitton <guitton@act-europe.fr>
- * 5zthrini.adb:
+ * 5zthrini.adb:
(Init_RTS): New procedure, for the initialization of the run-time lib.
- * s-thread.adb:
+ * s-thread.adb:
Remove dependancy on System.Init, so that this file can be used in the
AE653 sequential run-time lib.
@@ -70,25 +76,25 @@
2003-11-13 Ed Schonberg <schonberg@gnat.com>
- * checks.adb:
+ * checks.adb:
(Apply_Discriminant_Check): Do no apply check if target type is derived
from source type with no applicable constraint.
- * lib-writ.adb:
+ * lib-writ.adb:
(Ensure_System_Dependency): Do not apply the style checks that may have
been specified for the main unit.
- * sem_ch8.adb:
+ * sem_ch8.adb:
(Find_Selected_Component): Further improvement in error message, with
RM reference.
- * sem_res.adb:
+ * sem_res.adb:
(Resolve): Handle properly the case of an illegal overloaded protected
procedure.
2003-11-13 Javier Miranda <miranda@gnat.com>
- * exp_aggr.adb:
+ * exp_aggr.adb:
(Has_Default_Init_Comps): New function to check the presence of
default initialization in an aggregate.
(Build_Record_Aggr_Code): Recursively expand the ancestor in case of
@@ -106,7 +112,7 @@
(P_Record_Or_Array_Component_Association): Give support to the new
syntax for default initialization of components.
- * sem_aggr.adb:
+ * sem_aggr.adb:
(Resolve_Aggregate): Relax the strictness of the frontend in case of
limited aggregates.
(Resolve_Record_Aggregate): Give support to default initialized
@@ -118,7 +124,7 @@
(Resolve_Extension_Aggregate): Give support to limited extension
aggregates.
- * sem_ch3.adb:
+ * sem_ch3.adb:
(Check_Initialization): Relax the strictness of the front-end in case
of aggregate and extension aggregates. This test is now done in
Get_Value in a per-component manner.
@@ -168,7 +174,7 @@
* s-thread.adb: Implement bodies for thread body processing
- * s-thread.ads:
+ * s-thread.ads:
Added comment identifying supported targets for pragma Thread_Body.
2003-11-10 Pascal Obry <obry@gnat.com>
@@ -176,7 +182,7 @@
* adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
GNAT_MAX_PATH_LEN.
- * s-fileio.adb:
+ * s-fileio.adb:
(Open): Properly check for string length before copying into the buffer.
Raises Name_Error if buffer is too small. Note that this was a potential
buffer overflow.
@@ -192,7 +198,7 @@
2003-11-10 Vincent Celier <celier@gnat.com>
- * gprcmd.adb:
+ * gprcmd.adb:
(Gprcmd): Add new command "prefix" to get the prefix of the GNAT
installation.
@@ -206,13 +212,13 @@
* prj-nmsc.adb (Language_Independent_Check): Adjust error message when
a library project is extended by a virtual extending project.
- * prj-part.adb:
+ * prj-part.adb:
Modifications throughout to implement extending-all project, including:
(Virtual_Hash, Processed_Hash): New hash tables
(Create_Virtual_Extending_Project): New procedure
(Look_For_Virtual_Projects_For): New procedure
- * prj-proc.adb:
+ * prj-proc.adb:
(Process): After checking the projects, if main project is an
extending-all project, set the object directory of all virtual extending
project to the object directory of the main project.
@@ -221,7 +227,7 @@
(Recursive_Process): If name starts with the virtual prefix, set Virtual
to True in the project data.
- * prj-tree.adb:
+ * prj-tree.adb:
(Default_Project_Node): Add new boolean component Extending_All
(Is_Extending_All): New function
(Set_Is_Extending_All): New procedure
@@ -232,7 +238,7 @@
* switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
- * vms_data.ads:
+ * vms_data.ads:
Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
* bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
@@ -242,13 +248,13 @@
* einfo.ads: Fix a typo and remove an extraneous word in comments.
- * lib-load.adb:
+ * lib-load.adb:
(Create_Dummy_Package_Unit): Set the scope of the entity for the
created dummy package to Standard_Standard, not to itself, to
defend other parts of the front-end against encoutering a cycle in
the scope chain.
- * sem_ch10.adb:
+ * sem_ch10.adb:
(Analyze_With_Clause): When setting the entities for the successive
N_Expanded_Names that constitute the name of a child unit, do not
attempt to go further than Standard_Standard in the chain of scopes.
@@ -258,11 +264,11 @@
2003-11-10 Ed Schonberg <schonberg@gnat.com>
- * exp_ch6.adb:
+ * exp_ch6.adb:
(Expand_Thread_Body): Place subprogram on scope stack, so that new
declarations are given the proper scope.
- * sem_ch13.adb:
+ * sem_ch13.adb:
(Check_Expr_Constants): Reject an expression that contains a constant
created during expansion, and that appears after the object to which
the address clause applies.
@@ -272,7 +278,7 @@
that uses 'Range of a function call with controlled components, so
that the function result can be finalized before starting the loop.
- * sem_ch8.adb:
+ * sem_ch8.adb:
(Find_Selected_Component): Improve error message when prefix is
an implicit dereference of an incomplete type.
@@ -294,14 +300,14 @@
Update documentation for Associated_Node and Entity fields to clarify
relationship and usage.
- * sprint.adb:
+ * sprint.adb:
(Write_Id): Properly process Associated_Node field in generic template
- * switch-c.adb:
+ * switch-c.adb:
Recognize new -gnatS switch for printing package Standard
This replaces gnatpsta
- * usage.adb:
+ * usage.adb:
Add line for new -gnatS switch for printing package Standard
This replaces gnatpsta
diff --git a/gcc/ada/Makefile.in b/gcc/ada/Makefile.in
index 56d83a6..8ccce71 100644
--- a/gcc/ada/Makefile.in
+++ b/gcc/ada/Makefile.in
@@ -1348,6 +1348,27 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
LIBRARY_VERSION := $(strip $(shell grep Library_Version $(fsrcpfx)gnatvsn.ads | sed -e 's/.*GNAT Lib v\(.*\)[ "].*/\1/'))
endif
+ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<4lintnam.ads \
+ s-inmaop.adb<7sinmaop.adb \
+ s-intman.adb<5lintman.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
+ MISCLIB=
+ THREADSLIB=-lpthread
+ GNATLIB_SHARED=gnatlib-shared-dual
+ PREFIX_OBJS=$(PREFIX_REAL_OBJS)
+ LIBRARY_VERSION := $(strip $(shell grep Library_Version $(fsrcpfx)gnatvsn.ads | sed -e 's/.*GNAT Lib v\(.*\)[ "].*/\1/'))
+endif
+
# The runtime library for gnat comprises two directories. One contains the
# Ada source files that the compiler (gnat1) needs -- these files are listed
# by ADA_INCLUDE_SRCS -- and the other contains the object files and their