diff --git a/rules/build-prog.mk b/rules/build-prog.mk
index 6e4bf5c18af1778e96c98fad55aeca28a0b237a9..052df988d7b0eef09e8c6c7b39bab12f82b68fd9 100644
--- a/rules/build-prog.mk
+++ b/rules/build-prog.mk
@@ -157,9 +157,15 @@ $1/$2/build/tmp/$$($1_$2_PROG) : \
 ifeq "$$($1_$2_LINK_WITH_GCC)" "NO"
 $1/$2/build/tmp/$$($1_$2_PROG) : $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) | $$$$(dir $$$$@)/.
 	$$(call cmd,$1_$2_HC) -o $$@ $$($1_$2_v_ALL_HC_OPTS) $$(LD_OPTS) $$($1_$2_GHC_LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) $$(addprefix -l,$$($1_$2_EXTRA_LIBRARIES))
+ifeq "$$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
+	peflags --bigaddr=0 $$@
+endif
 else
 $1/$2/build/tmp/$$($1_$2_PROG) : $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) | $$$$(dir $$$$@)/.
 	$$(call cmd,$1_$2_CC)" -o $$@ $$($1_$2_v_ALL_CC_OPTS) $$(LD_OPTS) $$($1_$2_v_HS_OBJS) $$($1_$2_v_C_OBJS) $$($1_$2_v_S_OBJS) $$($1_$2_OTHER_OBJS) $$($1_$2_v_EXTRA_CC_OPTS) $$(addprefix -l,$$($1_$2_EXTRA_LIBRARIES))
+ifeq "$$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
+	peflags --bigaddr=0 $$@
+endif
 endif
 
 # Note [lib-depends] if this program is built with stage1 or greater, we