Commit f839394688825069557d6f7754a48d5c64fc4dfc
1 parent
169dc5d3
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
Showing
3 changed files
with
19 additions
and
4 deletions
configure
... | ... | @@ -153,6 +153,7 @@ case "$cpu" in |
153 | 153 | ;; |
154 | 154 | esac |
155 | 155 | gprof="no" |
156 | +debug_tcg="no" | |
156 | 157 | sparse="no" |
157 | 158 | strip_opt="yes" |
158 | 159 | bigendian="no" |
... | ... | @@ -400,6 +401,10 @@ for opt do |
400 | 401 | ;; |
401 | 402 | --audio-drv-list=*) audio_drv_list="$optarg" |
402 | 403 | ;; |
404 | + --enable-debug-tcg) debug_tcg="yes" | |
405 | + ;; | |
406 | + --disable-debug-tcg) debug_tcg="no" | |
407 | + ;; | |
403 | 408 | --enable-sparse) sparse="yes" |
404 | 409 | ;; |
405 | 410 | --disable-sparse) sparse="no" |
... | ... | @@ -568,6 +573,8 @@ echo " --extra-ldflags=LDFLAGS add linker flags LDFLAGS" |
568 | 573 | echo " --make=MAKE use specified make [$make]" |
569 | 574 | echo " --install=INSTALL use specified install [$install]" |
570 | 575 | echo " --static enable static build [$static]" |
576 | +echo " --enable-debug-tcg enable TCG debugging" | |
577 | +echo " --disable-debug-tcg disable TCG debugging (default)" | |
571 | 578 | echo " --enable-sparse enable sparse checker" |
572 | 579 | echo " --disable-sparse disable sparse checker (default)" |
573 | 580 | echo " --disable-strip disable stripping binaries" |
... | ... | @@ -1368,6 +1375,9 @@ case "$cpu" in |
1368 | 1375 | exit 1 |
1369 | 1376 | ;; |
1370 | 1377 | esac |
1378 | +if test "$debug_tcg" = "yes" ; then | |
1379 | + echo "#define DEBUG_TCG 1" >> $config_h | |
1380 | +fi | |
1371 | 1381 | if test "$sparse" = "yes" ; then |
1372 | 1382 | echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak |
1373 | 1383 | echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak | ... | ... |
tcg/tcg.c
... | ... | @@ -22,9 +22,6 @@ |
22 | 22 | * THE SOFTWARE. |
23 | 23 | */ |
24 | 24 | |
25 | -/* define it to suppress various consistency checks (faster) */ | |
26 | -#define NDEBUG | |
27 | - | |
28 | 25 | /* define it to use liveness analysis (better code) */ |
29 | 26 | #define USE_LIVENESS_ANALYSIS |
30 | 27 | |
... | ... | @@ -45,6 +42,11 @@ |
45 | 42 | #include "qemu-common.h" |
46 | 43 | #include "cache-utils.h" |
47 | 44 | |
45 | +#ifndef DEBUG_TCG | |
46 | +/* define it to suppress various consistency checks (faster) */ | |
47 | +#define NDEBUG | |
48 | +#endif | |
49 | + | |
48 | 50 | /* Note: the long term plan is to reduce the dependancies on the QEMU |
49 | 51 | CPU definitions. Currently they are used for qemu_ld/st |
50 | 52 | instructions */ | ... | ... |
tcg/tcg.h
... | ... | @@ -21,6 +21,7 @@ |
21 | 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
22 | 22 | * THE SOFTWARE. |
23 | 23 | */ |
24 | +#include "qemu-common.h" | |
24 | 25 | #include "tcg-target.h" |
25 | 26 | |
26 | 27 | #if TCG_TARGET_REG_BITS == 32 |
... | ... | @@ -120,7 +121,9 @@ typedef tcg_target_ulong TCGArg; |
120 | 121 | are aliases for target_ulong and host pointer sized values respectively. |
121 | 122 | */ |
122 | 123 | |
123 | -//#define DEBUG_TCGV 1 | |
124 | +#ifdef DEBUG_TCG | |
125 | +#define DEBUG_TCGV 1 | |
126 | +#endif | |
124 | 127 | |
125 | 128 | #ifdef DEBUG_TCGV |
126 | 129 | ... | ... |