diff options
author | Andreas Jaeger <aj@gcc.gnu.org> | 2003-11-14 14:56:34 +0100 |
---|---|---|
committer | Andreas Jaeger <aj@gcc.gnu.org> | 2003-11-14 14:56:34 +0100 |
commit | c004039774bc90cc11291d7820d21c18239519fd (patch) | |
tree | af533caa9ee99838462ca739423dc94349410901 | |
parent | 4a4fe537ec08392158e25943044eeae99461f0cc (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ada/5nsystem.ads | 150 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 68 | ||||
-rw-r--r-- | gcc/ada/Makefile.in | 21 |
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 |