diff --git a/unix/gccollect.c b/unix/gccollect.c
index 3e012b5423bcd02539c5b830124b42f6cc00f09a..397c4ffe1c1b465158ac9e554996020023ca7715 100644
--- a/unix/gccollect.c
+++ b/unix/gccollect.c
@@ -136,6 +136,9 @@ STATIC void gc_helper_get_regs(regs_t arr) {
 
 #endif // MICROPY_GCREGS_SETJMP
 
+// this function is used by mpthreadport.c
+void gc_collect_regs_and_stack(void);
+
 void gc_collect_regs_and_stack(void) {
     regs_t regs;
     gc_helper_get_regs(regs);