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  <[email protected]>

        * bindgen.adb: Remove code the reference or create the
        Break_Start/__gnat_break_start procedure.
        * s-stalib.adb (Break_Start): Removed.

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

Reply via email to