diff options
Diffstat (limited to 'gcc/ada/s-soflin.adb')
-rw-r--r-- | gcc/ada/s-soflin.adb | 91 |
1 files changed, 10 insertions, 81 deletions
diff --git a/gcc/ada/s-soflin.adb b/gcc/ada/s-soflin.adb index d18d020..02b57bf 100644 --- a/gcc/ada/s-soflin.adb +++ b/gcc/ada/s-soflin.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2001 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- -- -- 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- -- @@ -35,26 +35,26 @@ pragma Polling (Off); -- We must turn polling off for this unit, because otherwise we get -- an infinite loop from the code within the Poll routine itself. -with System.Machine_State_Operations; use System.Machine_State_Operations; --- Used for Create_TSD, Destroy_TSD - with System.Parameters; -- Used for Sec_Stack_Ratio +pragma Warnings (Off); +-- Disable warnings since System.Secondary_Stack is currently not +-- Preelaborate with System.Secondary_Stack; +pragma Warnings (On); package body System.Soft_Links is package SST renames System.Secondary_Stack; - -- Allocate an exception stack for the main program to use. - -- We make sure that the stack has maximum alignment. Some systems require - -- this (e.g. Sun), and in any case it is a good idea for efficiency. - NT_Exc_Stack : array (0 .. 8192) of aliased Character; for NT_Exc_Stack'Alignment use Standard'Maximum_Alignment; + -- Allocate an exception stack for the main program to use. + -- This is currently only used under VMS. NT_TSD : TSD; + -- Note: we rely on the default initialization of NT_TSD. -------------------- -- Abort_Defer_NT -- @@ -116,10 +116,6 @@ package body System.Soft_Links is SST.SS_Init (New_TSD.Sec_Stack_Addr, SST.Default_Secondary_Stack_Size); end if; - - New_TSD.Machine_State_Addr := - System.Address - (System.Machine_State_Operations.Allocate_Machine_State); end Create_TSD; ----------------------- @@ -138,8 +134,6 @@ package body System.Soft_Links is procedure Destroy_TSD (Old_TSD : in out TSD) is begin SST.SS_Free (Old_TSD.Sec_Stack_Addr); - System.Machine_State_Operations.Free_Machine_State - (Machine_State (Old_TSD.Machine_State_Addr)); end Destroy_TSD; --------------------- @@ -166,14 +160,14 @@ package body System.Soft_Links is function Get_Exc_Stack_Addr_NT return Address is begin - return NT_TSD.Exc_Stack_Addr; + return NT_Exc_Stack (NT_Exc_Stack'Last)'Address; end Get_Exc_Stack_Addr_NT; ----------------------------- -- Get_Exc_Stack_Addr_Soft -- ----------------------------- - function Get_Exc_Stack_Addr_Soft return Address is + function Get_Exc_Stack_Addr_Soft return Address is begin return Get_Exc_Stack_Addr.all; end Get_Exc_Stack_Addr_Soft; @@ -205,24 +199,6 @@ package body System.Soft_Links is return Get_Jmpbuf_Address.all; end Get_Jmpbuf_Address_Soft; - ------------------------------- - -- Get_Machine_State_Addr_NT -- - ------------------------------- - - function Get_Machine_State_Addr_NT return Address is - begin - return NT_TSD.Machine_State_Addr; - end Get_Machine_State_Addr_NT; - - --------------------------------- - -- Get_Machine_State_Addr_Soft -- - --------------------------------- - - function Get_Machine_State_Addr_Soft return Address is - begin - return Get_Machine_State_Addr.all; - end Get_Machine_State_Addr_Soft; - --------------------------- -- Get_Sec_Stack_Addr_NT -- --------------------------- @@ -260,26 +236,6 @@ package body System.Soft_Links is end Null_Adafinal; --------------------------- - -- Set_Exc_Stack_Addr_NT -- - --------------------------- - - procedure Set_Exc_Stack_Addr_NT (Self_ID : Address; Addr : Address) is - pragma Warnings (Off, Self_ID); - - begin - NT_TSD.Exc_Stack_Addr := Addr; - end Set_Exc_Stack_Addr_NT; - - ----------------------------- - -- Set_Exc_Stack_Addr_Soft -- - ----------------------------- - - procedure Set_Exc_Stack_Addr_Soft (Self_ID : Address; Addr : Address) is - begin - Set_Exc_Stack_Addr (Self_ID, Addr); - end Set_Exc_Stack_Addr_Soft; - - --------------------------- -- Set_Jmpbuf_Address_NT -- --------------------------- @@ -293,24 +249,6 @@ package body System.Soft_Links is Set_Jmpbuf_Address (Addr); end Set_Jmpbuf_Address_Soft; - ------------------------------- - -- Set_Machine_State_Addr_NT -- - ------------------------------- - - procedure Set_Machine_State_Addr_NT (Addr : Address) is - begin - NT_TSD.Machine_State_Addr := Addr; - end Set_Machine_State_Addr_NT; - - --------------------------------- - -- Set_Machine_State_Addr_Soft -- - --------------------------------- - - procedure Set_Machine_State_Addr_Soft (Addr : Address) is - begin - Set_Machine_State_Addr (Addr); - end Set_Machine_State_Addr_Soft; - --------------------------- -- Set_Sec_Stack_Addr_NT -- --------------------------- @@ -365,13 +303,4 @@ package body System.Soft_Links is return "main_task"; end Task_Name_NT; - ------------------------- - -- Package Elaboration -- - ------------------------- - -begin - NT_TSD.Exc_Stack_Addr := NT_Exc_Stack (8192)'Address; - Ada.Exceptions.Save_Occurrence - (NT_TSD.Current_Excep, Ada.Exceptions.Null_Occurrence); - end System.Soft_Links; |