From f839394688825069557d6f7754a48d5c64fc4dfc Mon Sep 17 00:00:00 2001 From: aurel32 Date: Mon, 13 Apr 2009 18:45:38 +0000 Subject: [PATCH] Add a --enable-debug-tcg option to configure This patch allows DEBUG_TCGV to be defined (and also prevents NDEBUG from being defined) when passing an option to the configure script. This should help to prevent any accidental changes that enable DEBUG_TCGV in tcg/tcg.h from being committed in future, and may help to encourage testing with DEBUG_TCGV enabled. Signed-off-by: Stuart Brady Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7105 c046a42c-6fe2-441c-8c8c-71466251a162 --- configure | 10 ++++++++++ tcg/tcg.c | 8 +++++--- tcg/tcg.h | 5 ++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/configure b/configure index cef901e231..0ca6a3ed5d 100755 --- a/configure +++ b/configure @@ -153,6 +153,7 @@ case "$cpu" in ;; esac gprof="no" +debug_tcg="no" sparse="no" strip_opt="yes" bigendian="no" @@ -400,6 +401,10 @@ for opt do ;; --audio-drv-list=*) audio_drv_list="$optarg" ;; + --enable-debug-tcg) debug_tcg="yes" + ;; + --disable-debug-tcg) debug_tcg="no" + ;; --enable-sparse) sparse="yes" ;; --disable-sparse) sparse="no" @@ -568,6 +573,8 @@ echo " --extra-ldflags=LDFLAGS add linker flags LDFLAGS" echo " --make=MAKE use specified make [$make]" echo " --install=INSTALL use specified install [$install]" echo " --static enable static build [$static]" +echo " --enable-debug-tcg enable TCG debugging" +echo " --disable-debug-tcg disable TCG debugging (default)" echo " --enable-sparse enable sparse checker" echo " --disable-sparse disable sparse checker (default)" echo " --disable-strip disable stripping binaries" @@ -1368,6 +1375,9 @@ case "$cpu" in exit 1 ;; esac +if test "$debug_tcg" = "yes" ; then + echo "#define DEBUG_TCG 1" >> $config_h +fi if test "$sparse" = "yes" ; then echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak diff --git a/tcg/tcg.c b/tcg/tcg.c index c64043f690..982c10524a 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -22,9 +22,6 @@ * THE SOFTWARE. */ -/* define it to suppress various consistency checks (faster) */ -#define NDEBUG - /* define it to use liveness analysis (better code) */ #define USE_LIVENESS_ANALYSIS @@ -45,6 +42,11 @@ #include "qemu-common.h" #include "cache-utils.h" +#ifndef DEBUG_TCG +/* define it to suppress various consistency checks (faster) */ +#define NDEBUG +#endif + /* Note: the long term plan is to reduce the dependancies on the QEMU CPU definitions. Currently they are used for qemu_ld/st instructions */ diff --git a/tcg/tcg.h b/tcg/tcg.h index bf95d7e493..ad0bd142a9 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -21,6 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#include "qemu-common.h" #include "tcg-target.h" #if TCG_TARGET_REG_BITS == 32 @@ -120,7 +121,9 @@ typedef tcg_target_ulong TCGArg; are aliases for target_ulong and host pointer sized values respectively. */ -//#define DEBUG_TCGV 1 +#ifdef DEBUG_TCG +#define DEBUG_TCGV 1 +#endif #ifdef DEBUG_TCGV