Fix for PR gdb/209, PR gdb/156:
[deliverable/binutils-gdb.git] / gdb / infrun.c
index f66298bf4c2f553fea16fa845119ba5b734eedfd..d56363656d61c07df72dbc773a1e9aed8b505ad2 100644 (file)
@@ -29,6 +29,7 @@
 #include "gdb_wait.h"
 #include "gdbcore.h"
 #include "gdbcmd.h"
+#include "cli/cli-script.h"
 #include "target.h"
 #include "gdbthread.h"
 #include "annotate.h"
@@ -37,6 +38,7 @@
 #include <signal.h>
 #include "inf-loop.h"
 #include "regcache.h"
+#include "value.h"
 
 /* Prototypes for local functions */
 
@@ -119,14 +121,6 @@ static int may_follow_exec = MAY_FOLLOW_EXEC;
 #endif
 
 
-/* Some machines have trampoline code that sits between function callers
-   and the actual functions themselves.  If this machine doesn't have
-   such things, disable their processing.  */
-
-#ifndef SKIP_TRAMPOLINE_CODE
-#define        SKIP_TRAMPOLINE_CODE(pc)        0
-#endif
-
 /* Dynamic function trampolines are similar to solib trampolines in that they
    are between the caller and the callee.  The difference is that when you
    enter a dynamic trampoline, you can't determine the callee's address.  Some
@@ -189,14 +183,6 @@ static int may_follow_exec = MAY_FOLLOW_EXEC;
 #define SKIP_SOLIB_RESOLVER(pc) 0
 #endif
 
-/* For SVR4 shared libraries, each call goes through a small piece of
-   trampoline code in the ".plt" section.  IN_SOLIB_CALL_TRAMPOLINE evaluates
-   to nonzero if we are current stopped in one of these. */
-
-#ifndef IN_SOLIB_CALL_TRAMPOLINE
-#define IN_SOLIB_CALL_TRAMPOLINE(pc,name)      0
-#endif
-
 /* In some shared library schemes, the return path from a shared library
    call may need to go through a trampoline too.  */
 
@@ -1532,15 +1518,12 @@ handle_inferior_event (struct execution_control_state *ecs)
              remove_breakpoints ();
 
            /* Check for any newly added shared libraries if we're
-              supposed to be adding them automatically.  */
-           if (auto_solib_add)
-             {
-               /* Switch terminal for any messages produced by
-                  breakpoint_re_set.  */
-               target_terminal_ours_for_output ();
-               SOLIB_ADD (NULL, 0, NULL);
-               target_terminal_inferior ();
-             }
+              supposed to be adding them automatically.  Switch
+              terminal for any messages produced by
+              breakpoint_re_set.  */
+           target_terminal_ours_for_output ();
+           SOLIB_ADD (NULL, 0, NULL, auto_solib_add);
+           target_terminal_inferior ();
 
            /* Reinsert breakpoints and continue.  */
            if (breakpoints_inserted)
@@ -2460,15 +2443,12 @@ handle_inferior_event (struct execution_control_state *ecs)
            breakpoints_inserted = 0;
 
            /* Check for any newly added shared libraries if we're
-              supposed to be adding them automatically.  */
-           if (auto_solib_add)
-             {
-               /* Switch terminal for any messages produced by
-                  breakpoint_re_set.  */
-               target_terminal_ours_for_output ();
-               SOLIB_ADD (NULL, 0, NULL);
-               target_terminal_inferior ();
-             }
+              supposed to be adding them automatically.  Switch
+              terminal for any messages produced by
+              breakpoint_re_set.  */
+           target_terminal_ours_for_output ();
+           SOLIB_ADD (NULL, 0, NULL, auto_solib_add);
+           target_terminal_inferior ();
 
            /* Try to reenable shared library breakpoints, additional
               code segments in shared libraries might be mapped in now. */
This page took 0.024873 seconds and 4 git commands to generate.