aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2011-08-04 12:58:36 +0000
committerArnaud Charlet <charlet@adacore.com>2011-08-04 12:58:36 +0000
commitd627351f3a4c3289fd6442d88f3a788b73357503 (patch)
tree82f946d7a522f6e2961f7069d46d6be7ac08d70b
parent9bf2c9c72d0c24ab3b0aa981991e3617f88b8afa (diff)
2011-08-04 Emmanuel Briot <briot@adacore.com>
* makeutl.adb (Complete_Mains): if the user has passed a relative file name on the command line (for instance "../dummy"), never assume it can be a unit name. 2011-08-04 Tristan Gingold <gingold@adacore.com> * bindgen.adb: Remove code the reference or create the Break_Start/__gnat_break_start procedure. * s-stalib.adb (Break_Start): Removed. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@177374 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/ChangeLog12
-rw-r--r--gcc/ada/bindgen.adb36
-rw-r--r--gcc/ada/makeutl.adb4
-rw-r--r--gcc/ada/s-stalib.adb5
4 files changed, 18 insertions, 39 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 655feddda7d..da4cc103f9c 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,17 @@
2011-08-04 Emmanuel Briot <briot@adacore.com>
+ * makeutl.adb (Complete_Mains): if the user has passed a relative file
+ name on the command line (for instance "../dummy"), never assume it can
+ be a unit name.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb: Remove code the reference or create the
+ Break_Start/__gnat_break_start procedure.
+ * s-stalib.adb (Break_Start): Removed.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
* make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
shared with gprbuild.
diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb
index 0da8a3a41ad..a31b0e266ab 100644
--- a/gcc/ada/bindgen.adb
+++ b/gcc/ada/bindgen.adb
@@ -2301,7 +2301,6 @@ package body Bindgen is
WBI (" " & Ada_Init_Name.all & ";");
if not No_Main_Subprogram then
- WBI (" Break_Start;");
if CodePeer_Mode then
@@ -2477,7 +2476,6 @@ package body Bindgen is
WBI (" " & Ada_Init_Name.all & " ();");
if not No_Main_Subprogram then
- WBI (" __gnat_break_start ();");
-- Output main program name
@@ -3059,19 +3057,6 @@ package body Bindgen is
if Bind_Main_Program and then VM_Target = No_VM then
- -- If we have the standard library, then Break_Start is defined
- -- there, but when the standard library is suppressed, Break_Start
- -- is defined here.
-
- WBI ("");
- WBI (" procedure Break_Start;");
-
- if Suppress_Standard_Library_On_Target then
- WBI (" pragma Export (C, Break_Start, ""__gnat_break_start"");");
- else
- WBI (" pragma Import (C, Break_Start, ""__gnat_break_start"");");
- end if;
-
WBI ("");
if Exit_Status_Supported_On_Target then
@@ -3232,18 +3217,6 @@ package body Bindgen is
Gen_Adainit_Ada;
if Bind_Main_Program and then VM_Target = No_VM then
-
- -- When suppressing the standard library then generate dummy body
- -- for Break_Start
-
- if Suppress_Standard_Library_On_Target then
- WBI ("");
- WBI (" procedure Break_Start is");
- WBI (" begin");
- WBI (" null;");
- WBI (" end;");
- end if;
-
Gen_Main_Ada;
end if;
@@ -3321,7 +3294,6 @@ package body Bindgen is
WBI ("extern void exit (int);");
end if;
- WBI ("extern void __gnat_break_start (void);");
Set_String ("extern ");
if ALIs.Table (ALIs.First).Main_Program = Proc then
@@ -3417,14 +3389,6 @@ package body Bindgen is
WBI ("");
end if;
- -- When suppressing the standard library, the __gnat_break_start routine
- -- (for the debugger to get initial control) is defined in this file.
-
- if Suppress_Standard_Library_On_Target then
- WBI ("void __gnat_break_start (void) {}");
- WBI ("");
- end if;
-
-- Generate the __gnat_version and __gnat_ada_main_program_name info
-- only for the main program. Otherwise, it can lead under some
-- circumstances to a symbol duplication during the link (for instance
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index 95fab066435..e8134bfef85 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -1510,7 +1510,9 @@ package body Makeutl is
Source := No_Source;
end if;
- if Source = No_Source then
+ if Source = No_Source
+ and then not Is_Absolute
+ then
-- Still not found? Maybe we have a unit name
diff --git a/gcc/ada/s-stalib.adb b/gcc/ada/s-stalib.adb
index ffea8d008cd..ba83b8d9cdc 100644
--- a/gcc/ada/s-stalib.adb
+++ b/gcc/ada/s-stalib.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2011, 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- --
@@ -94,7 +94,8 @@ package body System.Standard_Library is
pragma Export (C, Break_Start, "__gnat_break_start");
-- This is a dummy procedure that is called at the start of execution.
-- Its sole purpose is to provide a well defined point for the placement
- -- of a main program breakpoint.
+ -- of a main program breakpoint. This is not used anymore but kept for
+ -- bootstrapping issues (still referenced by old gnatbind generated files).
procedure Break_Start is
begin