summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraurel322009-04-13 20:45:38 +0200
committeraurel322009-04-13 20:45:38 +0200
commitf839394688825069557d6f7754a48d5c64fc4dfc (patch)
treefe01bb8b511c30b5510ee95df1ad5162ea6b777e
parentProbe via #define check for OpenBSD and *Solaris (diff)
downloadqemu-f839394688825069557d6f7754a48d5c64fc4dfc.tar.gz
qemu-f839394688825069557d6f7754a48d5c64fc4dfc.tar.xz
qemu-f839394688825069557d6f7754a48d5c64fc4dfc.zip
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 <stuart.brady@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7105 c046a42c-6fe2-441c-8c8c-71466251a162
-rwxr-xr-xconfigure10
-rw-r--r--tcg/tcg.c8
-rw-r--r--tcg/tcg.h5
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