changeset 985:d3038d8cb01c

by-pass for Valgrind bugs
author thomask
date Tue, 02 May 2006 04:55:18 +0000
parents 9acd7becc753
children c6f4a1d57892
files dstress.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/dstress.c	Mon May 01 14:38:44 2006 +0000
+++ b/dstress.c	Tue May 02 04:55:18 2006 +0000
@@ -974,12 +974,20 @@
 	}
 
 	/* test 2/3 - run */
-	/* FIXME asm workaround due to Valgrind bugs */
-	if(VALGRIND && VALGRIND[0] && !strstr(case_file, "/asm_") && !strstr(case_file, "\\asm_")){
+	if((modus & MODE_NORUN) && (strstr(case_file, "/asm_")
+				|| strstr(case_file, "\\asm_")))
+	{
+		/* Valgrind doesn't support privileged instructions */
+		goto no_valgrind;
+	}else if(!strstr(case_file, "/asm_") && !strstr(case_file, "\\asm_")){
+		/* FIXME asm workaround due to Valgrind bugs (mainly SSE3) */
+		goto no_valgrind;
+	}else if(VALGRIND && VALGRIND[0]){
 		bufferLen = strlen(VALGRIND) + strlen(case_file) + 8;
 		buffer = malloc(bufferLen);
 		snprintf(buffer, bufferLen, "%s %s.exe", VALGRIND, case_file);
 	}else{
+no_valgrind:
 		bufferLen = strlen(case_file) + 8;
 		buffer = malloc(bufferLen);
 		snprintf(buffer, bufferLen, "%s.exe", case_file);