1 diff -urN memtester-4.0.8.old/memtester.c memtester-4.0.8/memtester.c
2 --- memtester-4.0.8/memtester.c 2007-11-21 16:54:57.000000000 +0100
3 +++ memtester-4.0.8/memtester.c 2008-05-22 02:15:56.925302194 +0200
5 pagesizemask = (ptrdiff_t) ~(pagesize - 1);
6 printf("pagesizemask is 0x%tx\n", pagesizemask);
8 + if (argc > 1 && !strcmp(argv[1], "-q")) {
11 + for(j = 2; j < argc; j++)
12 + argv[j - 1] = argv[j];
17 fprintf(stderr, "need memory argument, in MB\n");
18 exit(EXIT_FAIL_NONSTARTER);
19 diff -urN memtester-4.0.8.old/tests.c memtester-4.0.8/tests.c
20 --- memtester-4.0.8/tests.c 2007-11-21 16:54:57.000000000 +0100
21 +++ memtester-4.0.8/tests.c 2008-05-22 02:38:46.389302357 +0200
32 char progress[] = "-\\|/";
34 +void inline dprintf(const char *format, ...) {
37 + va_start(ap, format);
38 + vprintf(format, ap);
43 #define PROGRESSOFTEN 2500
48 for (j = 0; j < 16; j++) {
49 - printf("\b\b\b\b\b\b\b\b\b\b\b");
50 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
52 - printf("setting %3u", j);
53 + dprintf("setting %3u", j);
55 for (i = 0; i < count; i++) {
56 *p1 = ((j + i) % 2) == 0 ? (ul) p1 : ~((ul) p1);
59 - printf("\b\b\b\b\b\b\b\b\b\b\b");
60 - printf("testing %3u", j);
61 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
62 + dprintf("testing %3u", j);
65 for (i = 0; i < count; i++, p1++) {
70 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
71 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
77 for (i = 0; i < count; i++) {
78 *p1++ = *p2++ = rand_ul();
79 - if (!(i % PROGRESSOFTEN)) {
80 + if (!quiet && !(i % PROGRESSOFTEN)) {
82 putchar(progress[++j % PROGRESSLEN]);
89 return compare_regions(bufa, bufb, count);
94 for (j = 0; j < 64; j++) {
95 - printf("\b\b\b\b\b\b\b\b\b\b\b");
96 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
97 q = (j % 2) == 0 ? UL_ONEBITS : 0;
98 - printf("setting %3u", j);
99 + dprintf("setting %3u", j);
103 for (i = 0; i < count; i++) {
104 *p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
106 - printf("\b\b\b\b\b\b\b\b\b\b\b");
107 - printf("testing %3u", j);
108 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
109 + dprintf("testing %3u", j);
111 if (compare_regions(bufa, bufb, count)) {
115 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
116 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
120 @@ -235,23 +246,23 @@
123 for (j = 0; j < 64; j++) {
124 - printf("\b\b\b\b\b\b\b\b\b\b\b");
125 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
126 q = (j % 2) == 0 ? CHECKERBOARD1 : CHECKERBOARD2;
127 - printf("setting %3u", j);
128 + dprintf("setting %3u", j);
132 for (i = 0; i < count; i++) {
133 *p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
135 - printf("\b\b\b\b\b\b\b\b\b\b\b");
136 - printf("testing %3u", j);
137 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
138 + dprintf("testing %3u", j);
140 if (compare_regions(bufa, bufb, count)) {
144 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
145 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
149 @@ -262,25 +273,25 @@
156 for (j = 0; j < 256; j++) {
157 - printf("\b\b\b\b\b\b\b\b\b\b\b");
158 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
161 - printf("setting %3u", j);
162 + dprintf("setting %3u", j);
164 for (i = 0; i < count; i++) {
165 *p1++ = *p2++ = (ul) UL_BYTE(j);
167 - printf("\b\b\b\b\b\b\b\b\b\b\b");
168 - printf("testing %3u", j);
169 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
170 + dprintf("testing %3u", j);
172 if (compare_regions(bufa, bufb, count)) {
176 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
177 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
181 @@ -294,10 +305,10 @@
184 for (j = 0; j < UL_LEN * 2; j++) {
185 - printf("\b\b\b\b\b\b\b\b\b\b\b");
186 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
189 - printf("setting %3u", j);
190 + dprintf("setting %3u", j);
192 for (i = 0; i < count; i++) {
193 if (j < UL_LEN) { /* Walk it up. */
194 @@ -306,14 +317,14 @@
195 *p1++ = *p2++ = 0x00000001 << (UL_LEN * 2 - j - 1);
198 - printf("\b\b\b\b\b\b\b\b\b\b\b");
199 - printf("testing %3u", j);
200 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
201 + dprintf("testing %3u", j);
203 if (compare_regions(bufa, bufb, count)) {
207 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
208 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
212 @@ -324,13 +335,13 @@
219 for (j = 0; j < UL_LEN * 2; j++) {
220 - printf("\b\b\b\b\b\b\b\b\b\b\b");
221 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
224 - printf("setting %3u", j);
225 + dprintf("setting %3u", j);
227 for (i = 0; i < count; i++) {
228 if (j < UL_LEN) { /* Walk it up. */
229 @@ -339,14 +350,14 @@
230 *p1++ = *p2++ = UL_ONEBITS ^ (0x00000001 << (UL_LEN * 2 - j - 1));
233 - printf("\b\b\b\b\b\b\b\b\b\b\b");
234 - printf("testing %3u", j);
235 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
236 + dprintf("testing %3u", j);
238 if (compare_regions(bufa, bufb, count)) {
242 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
243 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
247 @@ -357,13 +368,13 @@
254 for (j = 0; j < UL_LEN * 2; j++) {
255 - printf("\b\b\b\b\b\b\b\b\b\b\b");
256 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
259 - printf("setting %3u", j);
260 + dprintf("setting %3u", j);
262 for (i = 0; i < count; i++) {
263 if (j < UL_LEN) { /* Walk it up. */
264 @@ -378,14 +389,14 @@
265 | (0x00000001 << (UL_LEN * 2 + 1 - j)));
268 - printf("\b\b\b\b\b\b\b\b\b\b\b");
269 - printf("testing %3u", j);
270 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
271 + dprintf("testing %3u", j);
273 if (compare_regions(bufa, bufb, count)) {
277 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
278 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
282 @@ -397,29 +408,29 @@
289 for (k = 0; k < UL_LEN; k++) {
291 for (j = 0; j < 8; j++) {
292 - printf("\b\b\b\b\b\b\b\b\b\b\b");
293 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
295 - printf("setting %3u", k * 8 + j);
296 + dprintf("setting %3u", k * 8 + j);
300 for (i = 0; i < count; i++) {
301 *p1++ = *p2++ = (i % 2) == 0 ? q : ~q;
303 - printf("\b\b\b\b\b\b\b\b\b\b\b");
304 - printf("testing %3u", k * 8 + j);
305 + dprintf("\b\b\b\b\b\b\b\b\b\b\b");
306 + dprintf("testing %3u", k * 8 + j);
308 if (compare_regions(bufa, bufb, count)) {
313 - printf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
314 + dprintf("\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b");
318 diff -urN memtester-4.0.8.old/tests.h memtester-4.0.8/tests.h
319 --- memtester-4.0.8.old/tests.h 2007-11-21 16:54:57.000000000 +0100
320 +++ memtester-4.0.8/tests.h 2008-05-22 01:51:15.072298292 +0200
327 /* Function declaration. */
329 int test_stuck_address(unsigned long volatile *bufa, size_t count);