diff --git a/bochs/bochs.h b/bochs/bochs.h index fd4555d24..6bf40e349 100644 --- a/bochs/bochs.h +++ b/bochs/bochs.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: bochs.h,v 1.220 2008-01-01 18:12:31 sshwarts Exp $ +// $Id: bochs.h,v 1.221 2008-01-21 21:36:54 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2002 MandrakeSoft S.A. @@ -448,7 +448,7 @@ typedef struct { bx_bool serial; bx_bool cdrom; bx_bool print_timestamps; -#if BX_MAGIC_BREAKPOINT +#if BX_DEBUGGER bx_bool magic_break_enabled; #endif #if BX_GDBSTUB diff --git a/bochs/config.cc b/bochs/config.cc index f3fb72474..d06969fbb 100755 --- a/bochs/config.cc +++ b/bochs/config.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: config.cc,v 1.127 2008-01-21 21:03:34 sshwarts Exp $ +// $Id: config.cc,v 1.128 2008-01-21 21:36:54 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2002 MandrakeSoft S.A. @@ -2813,9 +2813,8 @@ static Bit32s parse_line_formatted(const char *context, int num_params, char *pa PARSE_ERR(("%s: Bochs is not compiled with gdbstub support", context)); #endif } - -#if BX_MAGIC_BREAKPOINT else if (!strcmp(params[0], "magic_break")) { +#if BX_DEBUGGER if (num_params != 2) { PARSE_ERR(("%s: magic_break directive: wrong # args.", context)); } @@ -2833,8 +2832,10 @@ static Bit32s parse_line_formatted(const char *context, int num_params, char *pa else { PARSE_ERR(("%s: magic_break directive malformed.", context)); } - } +#else + PARSE_ERR(("%s: Bochs is not compiled with internal debugger support", context)); #endif + } else if (!strcmp(params[0], "print_timestamps")) { if (num_params != 2) { PARSE_ERR(("%s: print_timestamps directive: wrong # args.", context)); diff --git a/bochs/config.h.in b/bochs/config.h.in index 294fb425e..6ce43d605 100644 --- a/bochs/config.h.in +++ b/bochs/config.h.in @@ -952,9 +952,6 @@ typedef // External Debugger #define BX_EXTERNAL_DEBUGGER 0 -// Magic breakpoints -#define BX_MAGIC_BREAKPOINT 1 - #ifdef WIN32 #define BX_FLOPPY0_NAME "Floppy Disk A:" #define BX_FLOPPY1_NAME "Floppy Disk B:" diff --git a/bochs/configure b/bochs/configure index d74a6d515..53f7fafdf 100755 --- a/bochs/configure +++ b/bochs/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Id: configure.in,v 1.356 2007/12/26 13:13:55 vruppert Exp . +# From configure.in Id: configure.in,v 1.357 2008/01/21 21:03:34 sshwarts Exp . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.60. # @@ -855,7 +855,6 @@ SUFFIX_LINE CPP_SUFFIX DEBUGGER_VAR BX_EXTERNAL_DEBUGGER -BX_MAGIC_BREAKPOINT DISASM_VAR READLINE_LIB INSTRUMENT_DIR @@ -1564,7 +1563,6 @@ Optional Features: --enable-cpp use .cpp as C++ suffix --enable-debugger compile in support for Bochs internal debugger --enable-external-debugger enable external debugger support (win32 only) - --enable-magic-breakpoints enable magic debugger breakpoints --enable-disasm compile in support for disassembler --enable-all-optimizations compile in all possible optimizations --enable-readline use readline library, if available @@ -1593,6 +1591,7 @@ Optional Features: --enable-iodebug enable I/O interface to debugger --enable-docbook build the Docbook documentation --enable-xpm enable the check for XPM support + --enable-magic-breakpoints enables magic breakpoints (deprecated) --enable-save-restore enables save/restore (deprecated) --enable-reset-on-triple-fault reset when cpu detects a triple fault (deprecated) --enable-pni PNI support (deprecated) @@ -4502,7 +4501,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4505 "configure"' > conftest.$ac_ext + echo '#line 4504 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6868,11 +6867,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6871: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6870: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6875: \$? = $ac_status" >&5 + echo "$as_me:6874: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -7101,11 +7100,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7104: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7103: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7108: \$? = $ac_status" >&5 + echo "$as_me:7107: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -7168,11 +7167,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7171: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7170: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7175: \$? = $ac_status" >&5 + echo "$as_me:7174: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9441,7 +9440,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:11748: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11753: \$? = $ac_status" >&5 + echo "$as_me:11752: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -11813,11 +11812,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11816: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11815: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11820: \$? = $ac_status" >&5 + echo "$as_me:11819: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -13235,7 +13234,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:14158: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14163: \$? = $ac_status" >&5 + echo "$as_me:14162: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -14223,11 +14222,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14226: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14225: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14230: \$? = $ac_status" >&5 + echo "$as_me:14229: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16266,11 +16265,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16269: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16268: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16273: \$? = $ac_status" >&5 + echo "$as_me:16272: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -16499,11 +16498,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16502: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16501: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16506: \$? = $ac_status" >&5 + echo "$as_me:16505: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -16566,11 +16565,11 @@ else -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16569: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16568: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16573: \$? = $ac_status" >&5 + echo "$as_me:16572: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18839,7 +18838,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&5 -echo $ECHO_N "checking for magic breakpoints... $ECHO_C" >&6; } -# Check whether --enable-magic-breakpoints was given. -if test "${enable_magic_breakpoints+set}" = set; then - enableval=$enable_magic_breakpoints; if test "$enableval" = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define BX_MAGIC_BREAKPOINT 1 -_ACEOF - - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - cat >>confdefs.h <<\_ACEOF -#define BX_MAGIC_BREAKPOINT 0 -_ACEOF - - fi -else - - if test "$bx_debugger" = 1; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - cat >>confdefs.h <<\_ACEOF -#define BX_MAGIC_BREAKPOINT 1 -_ACEOF - - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - cat >>confdefs.h <<\_ACEOF -#define BX_MAGIC_BREAKPOINT 0 -_ACEOF - - fi - -fi - - - { echo "$as_me:$LINENO: checking for disassembler support" >&5 echo $ECHO_N "checking for disassembler support... $ECHO_C" >&6; } # Check whether --enable-disasm was given. @@ -42895,6 +42853,24 @@ if test "$with_rfb" = yes -a "$cross_configure" = 0; then fi +{ echo "$as_me:$LINENO: checking for magic breakpoints (deprecated)" >&5 +echo $ECHO_N "checking for magic breakpoints (deprecated)... $ECHO_C" >&6; } +# Check whether --enable-magic-breakpoints was given. +if test "${enable_magic_breakpoints+set}" = set; then + enableval=$enable_magic_breakpoints; { echo "$as_me:$LINENO: result: $enableval" >&5 +echo "${ECHO_T}$enableval" >&6; } + { { echo "$as_me:$LINENO: error: DEPRECATED - magic breakpoints are always enabled with Bochs internal debugger" >&5 +echo "$as_me: error: DEPRECATED - magic breakpoints are always enabled with Bochs internal debugger" >&2;} + { (exit 1); exit 1; }; } + +else + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +fi + + { echo "$as_me:$LINENO: checking for save/restore (deprecated)" >&5 echo $ECHO_N "checking for save/restore (deprecated)... $ECHO_C" >&6; } # Check whether --enable-save-restore was given. @@ -43840,7 +43816,6 @@ SUFFIX_LINE!$SUFFIX_LINE$ac_delim CPP_SUFFIX!$CPP_SUFFIX$ac_delim DEBUGGER_VAR!$DEBUGGER_VAR$ac_delim BX_EXTERNAL_DEBUGGER!$BX_EXTERNAL_DEBUGGER$ac_delim -BX_MAGIC_BREAKPOINT!$BX_MAGIC_BREAKPOINT$ac_delim DISASM_VAR!$DISASM_VAR$ac_delim READLINE_LIB!$READLINE_LIB$ac_delim INSTRUMENT_DIR!$INSTRUMENT_DIR$ac_delim @@ -43919,7 +43894,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 82; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 81; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/bochs/configure.in b/bochs/configure.in index 9fcccb986..be6300a82 100644 --- a/bochs/configure.in +++ b/bochs/configure.in @@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) AC_INIT(bochs.h) -AC_REVISION([[$Id: configure.in,v 1.357 2008-01-21 21:03:34 sshwarts Exp $]]) +AC_REVISION([[$Id: configure.in,v 1.358 2008-01-21 21:36:54 sshwarts Exp $]]) AC_CONFIG_HEADER(config.h) AC_CONFIG_HEADER(ltdlconf.h) @@ -1072,7 +1072,7 @@ AC_ARG_ENABLE(host-specific-asms, AC_MSG_CHECKING(whether to ignore bad MSR references) AC_ARG_ENABLE(ignore-bad-msr, - [ --enable-ignore-bad-msr ignore bad MSR references ], + [ --enable-ignore-bad-msr ignore bad MSR references], [if test "$enableval" = yes; then AC_MSG_RESULT(yes) AC_DEFINE(BX_IGNORE_BAD_MSR, 1) @@ -1204,27 +1204,6 @@ AC_ARG_ENABLE(external-debugger, ]) AC_SUBST(BX_EXTERNAL_DEBUGGER) -AC_MSG_CHECKING(for magic breakpoints) -AC_ARG_ENABLE(magic-breakpoints, - [ --enable-magic-breakpoints enable magic debugger breakpoints], - [if test "$enableval" = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE(BX_MAGIC_BREAKPOINT, 1) - else - AC_MSG_RESULT(no) - AC_DEFINE(BX_MAGIC_BREAKPOINT, 0) - fi], - [ - if test "$bx_debugger" = 1; then - AC_MSG_RESULT(yes) - AC_DEFINE(BX_MAGIC_BREAKPOINT, 1) - else - AC_MSG_RESULT(no) - AC_DEFINE(BX_MAGIC_BREAKPOINT, 0) - fi - ]) -AC_SUBST(BX_MAGIC_BREAKPOINT) - AC_MSG_CHECKING(for disassembler support) AC_ARG_ENABLE(disasm, [ --enable-disasm compile in support for disassembler], @@ -2850,6 +2829,16 @@ fi dnl // DEPRECATED configure options - force users to remove them +AC_MSG_CHECKING(for magic breakpoints (deprecated)) +AC_ARG_ENABLE(magic-breakpoints, + [ --enable-magic-breakpoints enables magic breakpoints (deprecated)], + [AC_MSG_RESULT($enableval) + AC_MSG_ERROR([DEPRECATED - magic breakpoints are always enabled with Bochs internal debugger]) + ], + [ + AC_MSG_RESULT(no) + ]) + AC_MSG_CHECKING(for save/restore (deprecated)) AC_ARG_ENABLE(save-restore, [ --enable-save-restore enables save/restore (deprecated)], diff --git a/bochs/cpu/cpu.cc b/bochs/cpu/cpu.cc index 4d0363698..9479b3a3f 100644 --- a/bochs/cpu/cpu.cc +++ b/bochs/cpu/cpu.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: cpu.cc,v 1.202 2008-01-17 21:15:23 sshwarts Exp $ +// $Id: cpu.cc,v 1.203 2008-01-21 21:36:57 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -65,9 +65,7 @@ void BX_CPU_C::cpu_loop(Bit32u max_instr_count) #if BX_DEBUGGER BX_CPU_THIS_PTR break_point = 0; -#if BX_MAGIC_BREAKPOINT BX_CPU_THIS_PTR magic_break = 0; -#endif BX_CPU_THIS_PTR stop_reason = STOP_NO_REASON; #endif @@ -865,13 +863,11 @@ bx_bool BX_CPU_C::dbg_check_end_instr_bpoint(void) } } -#if BX_MAGIC_BREAKPOINT if (BX_CPU_THIS_PTR magic_break) { BX_INFO(("[" FMT_LL "d] Stopped on MAGIC BREAKPOINT", bx_pc_system.time_ticks())); BX_CPU_THIS_PTR stop_reason = STOP_MAGIC_BREAK_POINT; return(1); // on a breakpoint } -#endif // convenient point to see if user typed Ctrl-C if (bx_guard.interrupt_requested && diff --git a/bochs/cpu/cpu.h b/bochs/cpu/cpu.h index 1668720c1..8c4d8eb3e 100644 --- a/bochs/cpu/cpu.h +++ b/bochs/cpu/cpu.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: cpu.h,v 1.414 2008-01-20 20:11:16 sshwarts Exp $ +// $Id: cpu.h,v 1.415 2008-01-21 21:36:57 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -1226,9 +1226,7 @@ public: // for now... #if BX_DEBUGGER bx_phy_address watchpoint; Bit8u break_point; -#if BX_MAGIC_BREAKPOINT Bit8u magic_break; -#endif Bit8u stop_reason; Bit8u trace_reg; Bit8u mode_break; diff --git a/bochs/cpu/data_xfer16.cc b/bochs/cpu/data_xfer16.cc index 0851e1366..2da67f65d 100644 --- a/bochs/cpu/data_xfer16.cc +++ b/bochs/cpu/data_xfer16.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: data_xfer16.cc,v 1.53 2008-01-10 19:37:52 sshwarts Exp $ +// $Id: data_xfer16.cc,v 1.54 2008-01-21 21:36:58 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -209,7 +209,7 @@ void BX_CPU_C::XCHG_EwGwR(bxInstruction_c *i) { Bit16u op1_16, op2_16; -#if BX_DEBUGGER && BX_MAGIC_BREAKPOINT +#if BX_DEBUGGER // Note for mortals: the instruction to trigger this is "xchgw %bx,%bx" if (bx_dbg.magic_break_enabled && (i->nnn() == 3) && (i->rm() == 3)) { diff --git a/bochs/cpu/init.cc b/bochs/cpu/init.cc index a168c1101..81acce0dd 100644 --- a/bochs/cpu/init.cc +++ b/bochs/cpu/init.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: init.cc,v 1.145 2007-11-24 14:22:34 sshwarts Exp $ +// $Id: init.cc,v 1.146 2008-01-21 21:36:58 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -956,10 +956,8 @@ void BX_CPU_C::reset(unsigned source) BX_CPU_THIS_PTR eipFetchPtr = NULL; #if BX_DEBUGGER -#if BX_MAGIC_BREAKPOINT - BX_CPU_THIS_PTR magic_break = 0; -#endif BX_CPU_THIS_PTR stop_reason = STOP_NO_REASON; + BX_CPU_THIS_PTR magic_break = 0; BX_CPU_THIS_PTR trace_reg = 0; BX_CPU_THIS_PTR dbg_cpu_mode = BX_CPU_THIS_PTR cpu_mode; #endif diff --git a/bochs/main.cc b/bochs/main.cc index c37a3898e..c38e7a53b 100644 --- a/bochs/main.cc +++ b/bochs/main.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: main.cc,v 1.370 2007-12-21 21:16:34 sshwarts Exp $ +// $Id: main.cc,v 1.371 2008-01-21 21:36:54 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2002 MandrakeSoft S.A. @@ -1151,7 +1151,7 @@ void bx_init_bx_dbg(void) bx_dbg.record_io = 0; bx_dbg.serial = 0; bx_dbg.cdrom = 0; -#if BX_MAGIC_BREAKPOINT +#if BX_DEBUGGER bx_dbg.magic_break_enabled = 0; #endif #if BX_GDBSTUB