Compiling with `-dynamic` and `-dynamic-too` produces two dynamic object files
If for some reason you invoke GHC with -dynamic
and -dynamic-too
then GHC will dutifully compile two object files for you.
[matt@nixos:~/ghc-clean/dyn-dyn-too]$ ghc -dynamic -dynamic-too A.hs -fforce-recomp
[1 of 1] Compiling A ( A.hs, A.o, A.dyn_o )
[matt@nixos:~/ghc-clean/dyn-dyn-too]$ ls
A.dyn_o A.hi A.hs A.o
I think that passing these two options together should be an error.