From 48b8f1101d5e061f6dc0346c8e7fa7340172d45d Mon Sep 17 00:00:00 2001
From: Matthew Pickering <matthewtpickering@gmail.com>
Date: Mon, 10 Mar 2025 13:13:36 +0000
Subject: [PATCH] Pass -fPIC to dynamicToo001 test to avoid platform dependence
 issues

On darwin platforms, `-fPIC` is always enabled but on linux it is only
enabled in the dynamic flavour. This can cause a difference in
interface files (see #25836).

The purpose of this test isn't to test module A recompilation, so we
avoid this platform dependency by always passing `-fPIC`.
---
 .../tests/driver/dynamicToo/dynamicToo001/Makefile    | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/testsuite/tests/driver/dynamicToo/dynamicToo001/Makefile b/testsuite/tests/driver/dynamicToo/dynamicToo001/Makefile
index 2aa72e15cd07..4e5b30f44052 100644
--- a/testsuite/tests/driver/dynamicToo/dynamicToo001/Makefile
+++ b/testsuite/tests/driver/dynamicToo/dynamicToo001/Makefile
@@ -39,14 +39,15 @@ dynamicToo001MakeA:
 # Should notice that B.hi and B.dyn_hi are different, and recompile B
 .PHONY: dynamicToo001MakeB
 dynamicToo001MakeB:
-	"$(TEST_HC)" $(TEST_HC_OPTS)                     -O -c A.hs
-	"$(TEST_HC)" $(TEST_HC_OPTS) $(TEST_HC_OPTS_DYN) -O -c A.hs
+	# Pass `-fPIC` to avoid platform dependency issues (#25836)
+	"$(TEST_HC)" $(TEST_HC_OPTS) -fPIC               -O -c A.hs
+	"$(TEST_HC)" $(TEST_HC_OPTS) $(TEST_HC_OPTS_DYN) -fPIC -O -c A.hs
 	cp B1.hs B.hs
-	"$(TEST_HC)" $(TEST_HC_OPTS)                     -O -c B.hs
+	"$(TEST_HC)" $(TEST_HC_OPTS) -fPIC               -O -c B.hs
 	cp B2.hs B.hs
-	"$(TEST_HC)" $(TEST_HC_OPTS) $(TEST_HC_OPTS_DYN) -O -c B.hs
+	"$(TEST_HC)" $(TEST_HC_OPTS) $(TEST_HC_OPTS_DYN) -fPIC -O -c B.hs
 	cp B1.hs B.hs
-	"$(TEST_HC)" $(TEST_HC_OPTS) -O  C.hs -dynamic-too
+	"$(TEST_HC)" $(TEST_HC_OPTS) -fPIC -O  C.hs -dynamic-too
 
 .PHONY: T25837
 # Test that -dynamic-too notices when interface files were compiled with different flags
-- 
GitLab