diff packages/hal/common/current/src/hal_stub.c @ 50:a0774359f013 ecos-sw-1999-11-02

Merge from eCos master repository on 1999-11-02-17:02:15-GMT
author jlarmour
date Tue, 02 Nov 1999 20:57:07 +0000
parents 1370c5e55234
children c38311975d4f
line wrap: on
line diff
--- a/packages/hal/common/current/src/hal_stub.c
+++ b/packages/hal/common/current/src/hal_stub.c
@@ -43,6 +43,9 @@
 //=============================================================================
 
 #include <pkgconf/hal.h>
+#ifdef CYGPKG_CYGMON
+#include <pkgconf/cygmon.h>
+#endif
 
 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 
@@ -139,11 +142,20 @@ static instrBuffer break_buffer;
 volatile int cyg_hal_gdb_running_step = 0;
 
 void 
+cyg_hal_gdb_place_break (target_register_t pc)
+{
+    cyg_hal_gdb_interrupt( pc ); // Let's hope this becomes a drop-through:
+}
+
+void 
 cyg_hal_gdb_interrupt (target_register_t pc)
 {
-    // Clear this regardless
+    // Clear flag that we Continued instead of Stepping
     cyg_hal_gdb_running_step = 0;
-    // so that a call to set a BP because of a ^C will take effect
+    // and override existing break? So that a ^C takes effect...
+    if (NULL != break_buffer.targetAddr)
+        cyg_hal_gdb_remove_break( (target_register_t)break_buffer.targetAddr );
+
     if (NULL == break_buffer.targetAddr) {
         break_buffer.targetAddr = (t_inst*) pc;
         break_buffer.savedInstr = *(t_inst*)pc;