aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Obry <obry@adacore.com>2005-11-15 15:00:50 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2005-11-15 15:00:50 +0100
commit7f612e89ed944c223b884b9c7e62ab6203dc5153 (patch)
treec521b76cc00f4ca35ab438b0d5a0ef070838ab5e
parentdd489fe67462e29737d81cce9a2e67f3627e9f08 (diff)
downloadgcc-7f612e89ed944c223b884b9c7e62ab6203dc5153.zip
gcc-7f612e89ed944c223b884b9c7e62ab6203dc5153.tar.gz
gcc-7f612e89ed944c223b884b9c7e62ab6203dc5153.tar.bz2
mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is used.
2005-11-14 Pascal Obry <obry@adacore.com> * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is used. (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used. In both cases the last argument was dropped. From-SVN: r106991
-rw-r--r--gcc/ada/mdll.adb37
1 files changed, 22 insertions, 15 deletions
diff --git a/gcc/ada/mdll.adb b/gcc/ada/mdll.adb
index dde515c..a9cf026 100644
--- a/gcc/ada/mdll.adb
+++ b/gcc/ada/mdll.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2005 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- --
@@ -154,18 +154,20 @@ package body MDLL is
-- 5) Build the dynamic library
declare
- Params : OS_Lib.Argument_List :=
- Adr_Opt'Unchecked_Access & All_Options;
+ Params : constant OS_Lib.Argument_List :=
+ Map_Opt'Unchecked_Access &
+ Adr_Opt'Unchecked_Access & All_Options;
+ First_Param : Positive := Params'First + 1;
begin
if Map_File then
- Params := Map_Opt'Unchecked_Access & Params;
+ First_Param := Params'First;
end if;
Utl.Gcc
(Output_File => Dll_File,
Files => Objects_Exp_File,
- Options => Params,
+ Options => Params (First_Param .. Params'Last),
Build_Lib => True);
end;
@@ -252,20 +254,25 @@ package body MDLL is
Utl.Gnatbind (L_Afiles, Options & Bargs_Options);
declare
- Params : OS_Lib.Argument_List :=
- Out_Opt'Unchecked_Access &
- Dll_File'Unchecked_Access &
- Lib_Opt'Unchecked_Access &
- Exp_File'Unchecked_Access &
- Adr_Opt'Unchecked_Access &
- Ofiles &
- All_Options;
+ Params : constant OS_Lib.Argument_List :=
+ Map_Opt'Unchecked_Access &
+ Out_Opt'Unchecked_Access &
+ Dll_File'Unchecked_Access &
+ Lib_Opt'Unchecked_Access &
+ Exp_File'Unchecked_Access &
+ Adr_Opt'Unchecked_Access &
+ Ofiles &
+ All_Options;
+ First_Param : Positive := Params'First + 1;
+
begin
if Map_File then
- Params := Map_Opt'Unchecked_Access & Params;
+ First_Param := Params'First;
end if;
- Utl.Gnatlink (L_Afiles (L_Afiles'Last).all, Params);
+ Utl.Gnatlink
+ (L_Afiles (L_Afiles'Last).all,
+ Params (First_Param .. Params'Last));
end;
OS_Lib.Delete_File (Exp_File, Success);