diff --git a/testsuite/tests/bytecode/T22376/all.T b/testsuite/tests/bytecode/T22376/all.T
index d72411d1d07a95f5e691f44711638e3682fbdff3..0b15e93e6d9956c4e1c4986d209ea3be5b6d0ce1 100644
--- a/testsuite/tests/bytecode/T22376/all.T
+++ b/testsuite/tests/bytecode/T22376/all.T
@@ -1,2 +1,2 @@
-test('T22376', [extra_files(['A.hs', 'B.hs'])], multimod_compile_and_run,
+test('T22376', [req_interp, extra_files(['A.hs', 'B.hs'])], multimod_compile_and_run,
      ['T22376', '-O1 -fwrite-if-simplified-core -fbyte-code-and-object-code -fprefer-byte-code'])
diff --git a/testsuite/tests/codeGen/should_run/T20137/T20137.hs b/testsuite/tests/codeGen/should_run/T20137/T20137.hs
index 2fa33b5cd97bba97dafca99fa6bf67fcfabfb652..78e6907187fa61d2709fc0afb9a704d390baadfb 100644
--- a/testsuite/tests/codeGen/should_run/T20137/T20137.hs
+++ b/testsuite/tests/codeGen/should_run/T20137/T20137.hs
@@ -14,7 +14,7 @@ import Foreign.C.Types
 type FD = CInt
 type CString = Ptr CChar
 
-foreign import ccall unsafe "runInteractiveProcess"
+foreign import ccall unsafe "functionNameThatDoesntClash"
   c_runInteractiveProcess
         :: Ptr CString
         -> CString
diff --git a/testsuite/tests/codeGen/should_run/T20137/T20137.stdout-ws-32 b/testsuite/tests/codeGen/should_run/T20137/T20137.stdout-ws-32
index 85408b75a53622d642c2521d7350dc1ddc008feb..30e04a5cae8a363a40934a004b6eb31cc91c6365 100644
--- a/testsuite/tests/codeGen/should_run/T20137/T20137.stdout-ws-32
+++ b/testsuite/tests/codeGen/should_run/T20137/T20137.stdout-ws-32
@@ -5,9 +5,9 @@
 5
 6
 77777777
-ffffffff88888888
-ffffffff99999999
-ffffffffaaaaaaaa
-ffffffffbbbbbbbb
+88888888
+99999999
+aaaaaaaa
+bbbbbbbb
 cccccccc
-ffffffffdddddddd
+dddddddd
diff --git a/testsuite/tests/codeGen/should_run/T20137/T20137C.c b/testsuite/tests/codeGen/should_run/T20137/T20137C.c
index f68d88a0546630c412c862d3e14f3b768de27454..bf0362476dcbdb15fd4a30e5de00f895fc2278f2 100644
--- a/testsuite/tests/codeGen/should_run/T20137/T20137C.c
+++ b/testsuite/tests/codeGen/should_run/T20137/T20137C.c
@@ -3,7 +3,7 @@
 #include <inttypes.h>
 
 int
-runInteractiveProcess (char *const * args,
+functionNameThatDoesntClash (char *const * args,
                        char *workingDirectory, char **environment,
                        // handles to use for the standard handles. -1 indicates
                        // create pipe, -2 indicates close.
@@ -16,19 +16,19 @@ runInteractiveProcess (char *const * args,
 {
         // N.B. We don't use %p here since the rendering of this varies across
         // libc implementations
-        printf("%" PRIx64 "\n", (uint64_t) args);
-        printf("%" PRIx64 "\n", (uint64_t) workingDirectory);
-        printf("%" PRIx64 "\n", (uint64_t) environment);
+        printf("%" PRIxPTR "\n", (uintptr_t) args);
+        printf("%" PRIxPTR "\n", (uintptr_t) workingDirectory);
+        printf("%" PRIxPTR "\n", (uintptr_t) environment);
         printf("%x\n", fdStdIn);
         printf("%x\n", fdStdOut);
         printf("%x\n", fdStdErr);
-        printf("%" PRIx64 "\n", (uint64_t) pfdStdInput);
-        printf("%" PRIx64 "\n", (uint64_t) pfdStdOutput);
-        printf("%" PRIx64 "\n", (uint64_t) pfdStdError);
-        printf("%" PRIx64 "\n", (uint64_t) childGroup);
-        printf("%" PRIx64 "\n", (uint64_t) childUser);
+        printf("%" PRIxPTR "\n", (uintptr_t) pfdStdInput);
+        printf("%" PRIxPTR "\n", (uintptr_t) pfdStdOutput);
+        printf("%" PRIxPTR "\n", (uintptr_t) pfdStdError);
+        printf("%" PRIxPTR "\n", (uintptr_t) childGroup);
+        printf("%" PRIxPTR "\n", (uintptr_t) childUser);
         printf("%x\n", flags);
-        printf("%" PRIx64 "\n", (uint64_t) failed_doing);
+        printf("%" PRIxPTR "\n", (uintptr_t) failed_doing);
         return 0;
 }
 
diff --git a/testsuite/tests/codeGen/should_run/T20137/all.T b/testsuite/tests/codeGen/should_run/T20137/all.T
index e9e65ebea267ef1cd38b02e8ed8ca2f0a9cb41a7..6930e1bcf72519798e0fb5a21513fbddcf5ba2ac 100644
--- a/testsuite/tests/codeGen/should_run/T20137/all.T
+++ b/testsuite/tests/codeGen/should_run/T20137/all.T
@@ -1 +1 @@
-test('T20137', req_c, compile_and_run, ['T20137C.c'])
+test('T20137', [req_c], compile_and_run, ['T20137C.c'])
diff --git a/testsuite/tests/unboxedsums/all.T b/testsuite/tests/unboxedsums/all.T
index 2c9110d7221b762e91d7b201a3f42422cf872629..e56881a1f918fcda2ff70f0e532c630ef06efa61 100644
--- a/testsuite/tests/unboxedsums/all.T
+++ b/testsuite/tests/unboxedsums/all.T
@@ -59,6 +59,7 @@ test('T22208', normal, compile, ['-dstg-lint -dcmm-lint'])
 test('ManyUbxSums',
      [ pre_cmd('{compiler} --run ./GenManyUbxSums.hs'),
        extra_files(['GenManyUbxSums.hs', 'ManyUbxSums_Addr.hs']),
+       req_interp
      ],
      multi_compile_and_run,
      ['ManyUbxSums',