diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-09-27 16:49:33 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-10-19 03:30:16 -0400 |
commit | 3035d1a2f28fcd26e85f22fb17ca2c9f30f8920a (patch) | |
tree | 0a25c67636467942994e347376b31fca9a77354b | |
parent | 19d1237e1db9eb49320cfc222b5efe7bfb8f89de (diff) | |
download | haskell-3035d1a2f28fcd26e85f22fb17ca2c9f30f8920a.tar.gz |
tests: Remove $(CABAL_MINIMAL_CONFIGURATION) from T16219
There is a latent issue in T16219 where -dynamic-too is enabled
when compiling a signature file which causes us to enter the DT_Failed
state because library-a-impl doesn't generate dyn_o files. Somehow this
used to work in 8.10 (that also entered the DT_Failed state)
We don't need dynamic object files when compiling a signature file but
the code loads interfaces, and if dynamic-too is enabled then it will
also try to load the dyn_hi file and check the two are consistent.
There is another hack to do with this in `GHC.Iface.Recomp`.
The fix for this test is to remove CABAL_MINIMAL_CONFIGURATION, which
stops cabal building shared libraries by default.
I'm of the opinion that the DT_Failed state indicates an error somewhere
so we should hard fail rather than this confusing (broken) rerun logic.
Whether this captures the original intent of #16219 is debateable, but
it's not clear how it was supposed to work in the first place if the
libraries didn't build dynamic object files. Module C imports module A,
which is from a library where shared objects are not built so the test
would never have worked anyway (if anything from A was used in a TH
splice).
-rw-r--r-- | testsuite/tests/backpack/cabal/T16219/Makefile | 2 | ||||
-rw-r--r-- | testsuite/tests/backpack/cabal/T16219/T16219.stderr | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/testsuite/tests/backpack/cabal/T16219/Makefile b/testsuite/tests/backpack/cabal/T16219/Makefile index e98af4b2fc..8fc041994c 100644 --- a/testsuite/tests/backpack/cabal/T16219/Makefile +++ b/testsuite/tests/backpack/cabal/T16219/Makefile @@ -3,7 +3,7 @@ include $(TOP)/mk/boilerplate.mk include $(TOP)/mk/test.mk SETUP='$(PWD)/Setup' -v0 -CONFIGURE=$(SETUP) configure $(CABAL_MINIMAL_BUILD) --with-ghc='$(TEST_HC)' --ghc-options='$(TEST_HC_OPTS)' --package-db='$(PWD)/tmp.d' --prefix='$(PWD)/inst' +CONFIGURE=$(SETUP) configure --with-ghc='$(TEST_HC)' --ghc-options='$(TEST_HC_OPTS)' --package-db='$(PWD)/tmp.d' -v0 --prefix='$(PWD)/inst' T16219: clean '$(GHC_PKG)' init tmp.d diff --git a/testsuite/tests/backpack/cabal/T16219/T16219.stderr b/testsuite/tests/backpack/cabal/T16219/T16219.stderr new file mode 100644 index 0000000000..89a07b9193 --- /dev/null +++ b/testsuite/tests/backpack/cabal/T16219/T16219.stderr @@ -0,0 +1,6 @@ +Warning: -rtsopts and -with-rtsopts have no effect with -shared. + Call hs_init_ghc() from your main() function to set these options. +Warning: -rtsopts and -with-rtsopts have no effect with -shared. + Call hs_init_ghc() from your main() function to set these options. +Warning: -rtsopts and -with-rtsopts have no effect with -shared. + Call hs_init_ghc() from your main() function to set these options. |