diff --git a/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c b/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c
index 2557d827a1505219c5d7c7d7f71bab7e5766af51..21e6c08e71e17dd324fe4c11a48fb2f377ec4a81 100644
--- a/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c
+++ b/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c
@@ -17,22 +17,28 @@
  */
 
 
+#if !defined(__sparc__) && !defined(_WIN32) && !defined(_WIN64)
+#  define MAKE_MALLOC_FAIL_TEST
+#  define _GNU_SOURCE
+#  include <dlfcn.h>
+#  include <stdlib.h>
+#endif
+
 #include <string.h>
 
 #include <unity.h>
 
 #include <cmp_max_used_bits_list.h>
 
-#ifndef __sparc__
+#ifdef MAKE_MALLOC_FAIL_TEST
 /* if set the mock malloc will fail (return NULL) */
 static int malloc_fail;
 
 
 /*
  * mock of the malloc function; can controlled with the global malloc_fail variable
- * see:https://jayconrod.com/posts/23/tutorial--function-interposition-in-linux
+ * see: https://jayconrod.com/posts/23/tutorial--function-interposition-in-linux
  */
-#include <dlfcn.h>
 
 void* malloc(size_t size)
 {
@@ -47,7 +53,6 @@ void* malloc(size_t size)
 		TEST_ASSERT_NOT_NULL(real_malloc);
 	}
 
-	fprintf(stderr, "malloc(%zu)\n", size);
 	return real_malloc(size);
 }
 #endif
@@ -181,7 +186,7 @@ void test_cmp_max_used_bits_list(void)
 	cmp_max_used_bits_list_empty();
 
 	/* error case */
-#ifndef __sparc__
+#ifdef MAKE_MALLOC_FAIL_TEST
 	malloc_fail = 1;
 	return_val = cmp_max_used_bits_list_add(&i_36);
 	TEST_ASSERT_EQUAL_INT(return_val, -1);