public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Ada] Get rid of break_start
@ 2011-08-04 12:59 Arnaud Charlet
  0 siblings, 0 replies; only message in thread
From: Arnaud Charlet @ 2011-08-04 12:59 UTC (permalink / raw)
  To: gcc-patches; +Cc: Tristan Gingold

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

This could be used by the debugger to stop the execution before starting
the main subprogram, but no debugger use it.

No testcase as there is no functionnal change.

Tested on x86_64-pc-linux-gnu, committed on trunk

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.


[-- Attachment #2: difs --]
[-- Type: text/plain, Size: 3870 bytes --]

Index: bindgen.adb
===================================================================
--- bindgen.adb	(revision 177366)
+++ bindgen.adb	(working copy)
@@ -2301,7 +2301,6 @@
       WBI ("      " & Ada_Init_Name.all & ";");
 
       if not No_Main_Subprogram then
-         WBI ("      Break_Start;");
 
          if CodePeer_Mode then
 
@@ -2477,7 +2476,6 @@
       WBI ("   " & Ada_Init_Name.all & " ();");
 
       if not No_Main_Subprogram then
-         WBI ("   __gnat_break_start ();");
 
          --  Output main program name
 
@@ -3059,21 +3057,8 @@
 
       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
             Set_String ("   function ");
          else
@@ -3232,18 +3217,6 @@
       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 @@
             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 @@
          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
Index: s-stalib.adb
===================================================================
--- s-stalib.adb	(revision 177274)
+++ s-stalib.adb	(working copy)
@@ -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 @@
    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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-08-04 12:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-04 12:59 [Ada] Get rid of break_start Arnaud Charlet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).