Commit c0040397 by Andreas Jaeger

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