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>
* 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
......
......@@ -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
......
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