diff options
Diffstat (limited to 'gcc/ada/5vml-tgt.adb')
-rw-r--r-- | gcc/ada/5vml-tgt.adb | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/gcc/ada/5vml-tgt.adb b/gcc/ada/5vml-tgt.adb index f747922..851ccf7 100644 --- a/gcc/ada/5vml-tgt.adb +++ b/gcc/ada/5vml-tgt.adb @@ -50,15 +50,10 @@ package body MLib.Tgt is -- Used to add the generated auto-init object files for auto-initializing -- stand-alone libraries. - Macro_Name : constant String := "macro"; + Macro_Name : constant String := "mcr gnu:[bin]gcc -c -x assembler"; -- The name of the command to invoke the macro-assembler - -- Options to use when invoking gcc to build the dynamic library - - No_Start_Files : aliased String := "-nostartfiles"; - - VMS_Options : Argument_List := - (No_Start_Files'Access, null); + VMS_Options : Argument_List := (1 .. 1 => null); Gnatsym_Name : constant String := "gnatsym"; @@ -272,7 +267,7 @@ package body MLib.Tgt is new String'("--for-linker=" & Opt_File_Name & "/OPTIONS"); end if; - VMS_Options (VMS_Options'First + 1) := For_Linker_Opt; + VMS_Options (VMS_Options'First) := For_Linker_Opt; for J in Inter'Range loop To_Lower (Inter (J).all); @@ -293,7 +288,7 @@ package body MLib.Tgt is if Auto_Init then declare - Macro_File_Name : constant String := Lib_Filename & "$init.mar"; + Macro_File_Name : constant String := Lib_Filename & "$init.asm"; Macro_File : Ada.Text_IO.File_Type; Init_Proc : String := Lib_Filename & "INIT"; Popen_Result : System.Address; @@ -319,13 +314,12 @@ package body MLib.Tgt is begin Create (Macro_File, Out_File, Macro_File_Name); - Put_Line (Macro_File, ASCII.HT & ".EXTRN LIB$INITIALIZE"); - Put_Line (Macro_File, ASCII.HT & ".EXTRN " & Init_Proc); Put_Line (Macro_File, - ASCII.HT & ".PSECT LIB$INITIALIZE USR,GBL,NOEXE,NOWRT,LONG"); - Put_Line (Macro_File, ASCII.HT & ".ADDRESS " & Init_Proc); - Put_Line (Macro_File, ASCII.HT & ".END"); + ASCII.HT & ".section LIB$INITIALIZE,GBL,NOWRT"); + Put_Line + (Macro_File, + ASCII.HT & ".long " & Init_Proc); Close (Macro_File); |